SOEN6441.2.extremeprogramming (2).ppt - SOEN 6441 Advanced...

This preview shows page 1 - 7 out of 50 pages.

Concordia University Department of Computer Science and Software Engineering ADVANCED PROGRAMING PRACTICES Extreme Programming Joey Paquet, 2006- 2018 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 . Extreme programming Joey Paquet, 2006- 2018 2 SOEN 6441 - Advanced Programming Practices
Concordia University Department of Computer Science and Software Engineering 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- 2018 3 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. Extreme programming Joey Paquet, 2006- 2018 4 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: 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- 2018 5 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.

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture