For the rest of Part 2, we’ll continue to follow the mapplet project and show how the team got from use cases to code over the first two successive releases.
This chapter continues the case study of a real-life project run at ESRI using Agile ICONIX. So far, we’ve created an early version of the project domain model, written a “first-pass” attempt at some use cases, and created a release plan from the use cases. We also broke down the use cases into
In this chapter, we’ll see the
Release 1 was to be an exploratory release, examining the new server technology. So it made a lot of sense at this stage for the team
However, what the team also wanted to avoid was simply leaping in and producing something that was a million miles away from what the customer wanted. So, as the customer already had a pretty good idea of what he wanted from the new system, a little up-front design work was warranted.
Of course at this stage, the team already had a set of use cases and a domain model, so the behavioral requirements of the new system had been thought through. That’s a pretty good place to start,
As it embarked on the prototype, the team produced some sequence diagrams to describe the design at a slightly higher level than pure code. The team also revisited and refined the domain model. However, this being a prototype, the team
The result was a design that would meet the needs of a prototype, but not a production system, as much of the team’s time was focused on getting an understanding of the underlying technology. To the team members’ credit, they still produced the goods, in the sense that the end product matched the initial set of requirements. However, as you’ll see in Chapter 7, the code and design review gave the team an opportunity to start release 2 (the first production release) from a clean design.
In this chapter, however, we
Early prototyping in this context is a key agile concept that fits neatly into ICONIX Process:
The code doesn’t have to be “industrial grade” (or even just plain old production-worthy). The important thing is that the team
[1.] Scott W. Ambler, Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process (New York: John Wiley & Sons, 2002), p. 59.
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