In this chapter we defined a core subset of the many practices that are out there and variously defined as agile. These
This part of the book features a running example project that will thread through the various chapters. Well
This being a book about agile development (i.e., adapting to changing requirements over time), our idea is to present the original project requirements and show that even though the requirements evolved over the course of the project, we were still able to
The use case text and diagrams shown in this parts chapters were taken directly from the project, so youll notice some (minor) inconsistencies at times between the use cases and the text in the diagrams. This also reflects the agile spirit: the analysis and design artifacts need to be just good enough to get us to the
Our example project is a map-based hotel finder for a travel website, which was developed using the agile development approach described in this book. We’ll show the evolution of the model and the code that goes with it.
The finished product is available for you to interact with at this web address: http://smartmaps.vresorts.com. Just drill down into any of the map destination pages from the main U.S. map, and then click the Show Map button to see the mapplet in action. You might find it interesting to compare the finished product with the use cases presented in this book.
The mapplet is a web-based application that is built on top of ESRI’s [1.] ArcGIS Server platform. The ArcGIS [2.] platform enables the development of Geographic Information System (GIS) or map-based applications using state-of-the-art OO (e.g., C#/.NET) environments. To fully leverage the power of these modern development environments, it’s helpful to adopt an OO approach from front to back. ICONIX Process, being a low-ceremony, minimalist, use case–driven design approach, is ideal for developing OO GIS applications. The mapplet example is actually an ArcGIS Server application that has been developed by ESRI’s Professional Services organization.
The mapplet example shows how to run from requirements and use cases through detailed OO design, to C#/.NET source code and fully working software that meets the project requirements. A key element of the approach is the “agile” strategy of interleaving modeling and coding through multiple releases of the design.
[1.] See www.esri.com.
[2.] See the sidebar “What Is ArcGIS?” later in this chapter.
Use Case Driven Object Modeling with UML : A Practical Approach (Addison-Wesley Object Technology Series)
User Stories Applied: For Agile Software Development
ICONIX Process Roadmaps: Step-by-step Guidance for SOA, Embedded, and Algorithm-intensive Systems
Design Driven Testing: Test Smarter, Not Harder