If I could, I would give a copy of Jim Highsmith's book
to everyone involved in developing large systemsend users, managers, IT
professionals, and most especially IT project managers! Jim's message is simple
but vitally important: Large information systems don't have to take so long, they
don't have to cost so much, and they don't have to fail. Unfortunately, as simple
as Jim's message is, making it happen is an enormously difficult undertaking in
most large organizations.
While many project management
books deal extensively with the need for building systems faster in today's business
workplace, Jim's is the first book I've read that addresses what must happen when
management is faced both with the need for high-speed delivery and with business
requirements that are rapidly changing as well!
Jim's solution to both these problems is straightforwarda
radical form of incremental development. But actually developing large systems
incrementally is a considerably more difficult business than just talking about
it. Historically, large organizations tend to attack all problems by breaking
them into pieces and assigning each of the pieces to different organizational
units for parallel development. Management then places its faith in managing to
predefined budgets and schedules, but usually does so without any clear idea of
what exactly the completed project will produce or how the major pieces, the subprojects,
ultimately will fit together.
Jim's approach combines the
best features of techniques that have been used piecemeal for a long time: customer
focus groups, versioning, time-boxed management, and active prototyping. Used
individually, these approaches can be effective; combined, they are dynamite.
In my own consulting work, I am often called in to
turn off the life support on large, failed projects. Most of these systems fail
because they lack the right systems strategies and because they take too long.
Projects lasting three-to-five years are rarer and rarer these days because organizations
know that they have to implement systems earlier to meet changing business needs.
On the other hand, unstructured, short-term projects are a maintenance nightmare.
So, since large-scale projects won't simply go away, they need to be approached
in a different fashion. In order for organizations to develop large systems more
successfully, they must develop incremental implementation plans and incremental
architectures, and they must begin to build individual subprojects in small, short-term
pieces. Jim Highsmith's book provides the framework for doing just that.