SOEN6441.2.extremeprogramming.pdf - SOEN 6441 Advanced...

This preview shows page 1 - 5 out of 27 pages.

Concordia University Department of Computer Science and Software Engineering ADVANCED PROGRAMING PRACTICES Extreme Programming Joey Paquet, 2006-2021 1 SOEN 6441 - Advanced Programming Practices
Concordia University Department of Computer Science and Software Engineering Extreme Programming (XP) is a method or approach to software engineering and a precursor of several agile software development methodologies. Formulated by Kent Beck, Ward Cunningham, and Ron Jeffries. Kent Beck wrote the first book on the topic, Extreme programming explained: Embrace change, published in 1999. The second edition of the book, which appeared in 2005, delves more into the philosophy of Extreme Programming and describes it as being: a mechanism for social change a style of development a path to improvement an attempt to reconcile humanity and productivity a software development discipline Extreme programming Joey Paquet, 2006-2021 2 SOEN 6441 - Advanced Programming Practices
Concordia University Department of Computer Science and Software Engineering The twelve key features of XP, outlined below in Beck’s words, are: The Planning Game: Quickly determine the scope of the next release by combining business priorities and technical estimates. As reality overtakes, update the plan. Small Releases: Put a simple system into production quickly, then release new versions on a very short cycle. System Metaphor: Guide all development with a simple shared story of how the whole system works. Simple Design: The system should be designed as simply as possible at any given moment. Extra complexity is removed as soon as it is discovered. Testing: Programmers continually write unit tests, which must run flawlessly for development to continue. Customers write user stories for desired features that the system must demonstrate to expose. Refactoring: Programmers restructure the system without changing its behaviour to remove duplication, improve communication, simplify, or add flexibility. Extreme programming Joey Paquet, 2006-2021 3 SOEN 6441 - Advanced Programming Practices
Concordia University Department of Computer Science and Software Engineering Pair Programming: All production code is written with two programmers at one workstation. Collective Ownership: Anyone can change code anywhere in the system at any time. Continuous Integration: Integrate and build the system many times a day, every time a task is completed. Sustainable Pace: Work no more than 40 hours a week as a rule. Never allow overtime for two weeks in a row. On-site Customer: Include a real, live customer on the team, available full-time to answer questions. Coding Standards: Programmers write all code in accordance with rules emphasizing communication throughout the code. These ideas are not new. They have been tried before and there have been many reports of failure. The point of XP is that, taken together , these techniques do constitute a workable methodology.

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture