A.2. Agile Software DevelopmentAgile software development builds on the ideas of evolutionary, or iterative, software development [LB03]. Among the many excellent books on agile development are [Bec04], [Coc01], [Mar02], [SB02], [PP03], [Hig04], [Coc04]. As introduced by Beck in Extreme Programming Explained [Bec04], Extreme Programming was especially instrumental in raising general awareness of agile thinking. Stories play an important role in communication and planning in Extreme Programming. For each story, automated acceptance tests are created to drive development. In User Stories Applied, Cohn [Coh04] shows how to write XP stories. Many developers may wish to move toward an agile approach but are stuck with software that is far from agile. Feathers [Fea02] shows how to change such legacy code to gain agility. |