In this chapter, I looked at a system called NPfIT (National Program for Information Technology). This system shares three characteristics with many other IT systems:
It is highly complex.
It is very expensive.
It is headed down a path of failure.
The lessons we can learn by examining NPfIT can help us avoid similar problems in other large projects. We saw how the features of SIP could have helped control the complexity of this massive project and, by extension, can be used to avoid similar problems in other projects.
SIP’s obsession with complexity control would have helped bring sanity to a discussion of the business requirements of NPfIT. SIP’s partitioning could have pinpointed areas of extreme complexity very early in the project. SIP’s simplification could have removed as much as 98 percent of the project’s complexity, and possibly more. SIP’s iteration could have highlighted risks early in the project, where they could have been corrected easily and helped transform a world of skeptics to a world of supporters.
If SIP could do all of this for a project of the complexity of NPfIT, what can it do for your project?