In this chapter, we set a primary goal for this book of identifying the sweet spot between agile, feedback-driven software processes and disciplined,
The next chapter
In this chapter, we provide an overview of ICONIX Process, a minimal object modeling process that is well suited to agile development. This overview should give you enough information to get started using the modeling techniques in your own project. For an
Doug and Matt are currently under contract with Addison-Wesley to replace the two previously mentioned titles with a combined title: Use Case Driven Object Modeling: Theory and Practice . [3.]
You’ll find that we don’t cover software agility much in this chapter. We’re presenting ICONIX Process as a core object modeling process, then in Part 2 of this book we’ll show an example of how to apply Agile ICONIX to a real-life project.
In later chapters we provide lots of practical examples to show exactly how ICONIX Process is applied. So in reading this chapter, you might find it useful to skip ahead and look at some of the later examples. Similarly, when reading the later chapters in detail, you might find it useful to refer back to this chapter frequently to get a reminder of the underlying theory.
Figure 3-1 shows how ICONIX Process defines a practical core subset of the Unified Modeling Language (UML). This diagram ties in with Figure 4-1, which shows how Agile ICONIX defines a core subset of agile practices.
Figure 3-1: ICONIX Process core UML subset
[1.] Doug Rosenberg and Kendall Scott, Use Case Driven Object Modeling with UML: A Practical Approach (New York: Addison-Wesley, 1999).
[2.] Doug Rosenberg and Kendall Scott, Applying Use Case Driven Object Modeling with UML (New York: Addison-Wesley, 2001).
[3.] Doug Rosenberg, Matt Stephens, and Kendall Scott, Use Case Driven Object Modeling: Theory and Practice (New York: Addison-Wesley, 2005).
In this section, Doug explains the history and background of ICONIX Process.
ICONIX Process originated several
We attempted a synthesis of these three very different
Rather than taking the complete contents of three 400-page methodology books and encompassing everything about everything (see
The Unified Modeling Language
Class diagrams , at both an analysis (problem domain) and design (Booch) level of abstraction.
Use cases (diagrams and text).
Robustness diagrams . We “rescued” these from Jacobson’s Objectory work because we discovered that use case–driven development simply worked better with these diagrams than without them.
[4.] Grady Booch, James Rumbaugh, and Ivar Jacobson, The Unified Modeling Language User Guide (New York: Addison-Wesley, 1998).
We’re happy to note that some enlightened visual modeling tool
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