ICONIX: Life After Extreme Programming

The software development maze (or something like that!)

Simple Talk is Red Gate’s journal for SQL Server and .NET developers. (Red Gate make SQL Server and .NET tools, such as SQL Data Compare and various .NET profilers).

So anyway, I just published a kind of fun article on Simple Talk called ICONIX: Life After Extreme Programming. The article describes some of the pros and cons of XP. Well okay, mostly the cons! Plus it lists a number of agile processes that can be used in place of - or as a complement to - XP.

The article also describes my personal favorite (because I've written a book about it, obviously!) the ICONIX Process as an object modeling process well suited to an agile world.

Couple of excerpts from the article:

“Agile development is very much a reaction to the "heavyweight" methodologies that tell you that you must write a 200-page requirements document before writing a single line of code. With such a monolithic requirements spec, it's almost impossible to determine whether all the requirements have been met. Many, many projects have taken this route over the last 30 years, and a scary number of them have failed. Given this, it's no small wonder that agile development has become so popular.”

“At around the same time that XP became popular, the book Use Case Driven Object Modeling with UML (by Doug Rosenberg and Kendall Scott) was released. This slim volume describes the ICONIX Process. It shows how to get from use cases (aka behavioural requirements) to source code, via a minimal, core subset of UML diagrams, and in the process tying your use cases very closely to the objects that you'll be using in your design. It allows for proper analysis while avoiding the dreaded project-stopper, analysis paralysis.”

About the Author

Matt Stephens is a senior architect, programmer and project leader based in Central London. He co-wrote Agile Development with ICONIX Process, Extreme Programming Refactored, and Use Case Driven Object Modeling with UML - Theory and Practice.