Open Agility - Tools and techniques for productive Java development