Recurring Themes

Throughout this book, you’ll encounter the themes described in the sections that follow.

People, Process, and Pragmatism

The ICONIX approach to software agility starts with a subtle but significant refactoring of the Agile Manifesto’s value of “individuals and interactions over processes and tools.”

We have redefined this as “people and processes and pragmatism.” We believe that neither people nor processes are second-class citizens, and that both (in conjunction with a pragmatic approach) are equally important factors in a project’s eventual success.

Real Agility vs. Illusory Agility

A software-engineering maxim that has fallen out of fashion lately is “There is no such thing as a shortcut.” (Another one that seems to have been abandoned recently is “Get it right the first time.”) In high-velocity projects that must be produced in “Internet time,” there is always pressure to cut corners, by skimping on testing, designing, reviews, and so on. This is not the same as agility (at least not in theory, although in practice it often gets justified in the name of agility).

In fact, this approach almost invariably delays the project. We will explain how to distinguish between the elimination of practices that are weighing down the project (“excess fat”) and practices that are actually there to save time. Cutting out these latter practices might appear to save some time early on, but in reality doing so stores up trouble for later.

Cookbook Development

A common view held in the agile world is that cookbook approaches to software development don’t work. We agree with this to an extent, because analysis and programming are massive, highly complex fields, and the number of different types of software project is roughly equal to the number of software projects. However, we firmly believe that the core “logical” analysis and design process can (and in fact should) be a specific sequence of repeatable steps. These steps aren’t set in stone (i.e., they can be tailored), but it helps to have them there. In a world of doubt and uncertainty, it’s nice to have a clearly defined, definitive sequence of “how-to” steps to refer back to.

Way back in the pre-UML days when Doug first started teaching a unified Booch/Rumbaugh/Jacobson modeling approach (around 1992/93), one of his early training clients encouraged him to “write a cookbook, because my people like following cookbook approaches.” While many have claimed that it’s impossible to codify object-oriented analysis and design (OOAD) practices into a simple, repeatable set of steps (and it probably isn’t possible in its entirety), ICONIX Process probably comes as close as anything out there to a cookbook approach to OOAD.

While there’s still room for significant flexibility within the approach (e.g., adding in more state or activity diagrams), ICONIX Process lays down a simple, minimal set of steps that generally lead to pretty good results that have proven to be consistent and repeatable over the last 12 years.



Agile Development with ICONIX Process. People, Process, and Pragmatism
Agile Development with ICONIX Process: People, Process, and Pragmatism
ISBN: 1590594649
EAN: 2147483647
Year: 2005
Pages: 97

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net