ICONIX Process (click for a larger image)

In theory, every single aspect of the UML is potentially useful, but in practice, there never seems to be enough time to do modeling, analysis, and design. There’s always pressure from management to jump to code, to start coding prematurely because progress on software projects tends to get measured by how much code exists. The ICONIX Process, as shown in the above diagram, is a minimalist, streamlined approach that focuses on that area that lies in between use cases and code. Its emphasis is on what needs to happen at that point in the life cycle where you’re starting out: you have a start on some use cases, and now you need to do good analysis and design.

You can find lots of info about the ICONIX Process on this website; and the process is entirely open and free to use on your projects. (In fact, we’d love to hear how you get on). But don’t forget that there’s a book or two about the process as well, providing lots of examples and exercises to explain the techniques in-depth and turn you into an object modeling expert.

If you’re interested in training, please also check out the website for ICONIX Software Engineering, Inc. (This could be thought of as the “commercial arm” of the ICONIX Process).

This website is a collaboration between Matt Stephens and Doug Rosenberg, authors of Use Case Driven Object Modeling with UML - Theory and Practice, Agile Development with ICONIX Process, and Extreme Programming Refactored: The Case Against XP.