Agile Modeling on an Extreme Programming Project
Modeling is an important part of any software process. Prescriptive software processes such as the Rational Unified Process (RUP) [17] include modeling activities: three of the six core process disciplines (formerly called workflows) focus on modeling, and the Enterprise Unified Process (EUP) [7] introduces a fourth modeling-oriented workflow called Infrastructure Management. Agile software processes such as Extreme Programming (XP) [8], Scrum [10], and Dynamic Systems Development Method (DSDM) [21] also include modeling activities. Yes, even XP includes modeling techniques such as user stories, class responsibility collaborator (CRC) models, and sketches. Contrary to what XP's detractors will tell you, XP does not abandon modeling; instead, it minimizes modeling efforts by taking a test-first approach to design in which you develop your tests before you develop your code. This forces you to think through how you will build your software before you actually build it, exactly as traditional design modeling does. XP fulfills some of the goals of modeling -- understanding what it is you're building, communicating your approach -- in different ways and therefore requires less modeling.
Cutter Consortium clients, please log in:
If you would like further information about how to become a client, please contact us at +1 781 648 8700 or sales@cutter.com.

Purchase from the bookstore