We were doing incremental development as early as 1957, ... the technique used was, as far as I can tell, indistinguishable from XP. Jerry Weinberg Craig Larman: Iterative and Incremental Development: A Brief History 6
"Perlis: I’d like to read three sentences to close this issue. 1. A software system can best be designed if the testing is interlaced with the designing instead of being used after the design. 2. A simulation which matches the requirements contains the control which organizes the design of the system. 3. Through successive repetitions of this process of interlaced testing and design the model ultimately becomes the software system itself. 1968 NATO Conference on Software Engineering 7
Involve the customer through small, incremental releases of a working program http://mgintravels.wordpress.com/2013/03/04/camping-in-the-olive-gardens-of-patara/ 9
4. Simple Design 1. Runs all the tests 2. Has no duplicated logic 3. States every intention important to the programmers 4. Has the fewest possible classes and methods 15
5. Testing (TDD, BDD, ATDD) The result is a program that becomes more and more confident over time---it becomes more capable of accepting change, not less. The customer writes Acceptance Tests 16
6. Refactoring When implementing a program feature, the programmers always ask if there is a way of changing the existing program to make adding the feature simpler. After they have added a feature, they ask if they can now see how to make the program simpler 17
Community! Milano XPUG User Group Italian Agile Day Agile Coach Camp, 5-7 giugno milano-xpug.pbworks.com agileday.it accitaly.wordpress.com https://it.groups.yahoo.com/neo/groups/extremeprogramming-it/info 28