A Reminder on Delivering Successful IT Projects
By Richard Morreale
In all of my audits and reviews of Information Technology (IT) project failures – large and small, we have found that the top reason for failure is the lack of agreed and controlled requirements. In other words, the project team did not have a clear picture of what the customer wanted the team to build and deliver. And, in cases where there had been a clear picture of the requirements at some time early on in the project, changes to that clear picture were made but were not controlled properly.
I know that Agile calls for a different method of development than I’m covering here. My take on agile is that it is good for small development projects but could start to run into trouble when attempting to deliver large projects. I do believe in breaking the project down into small incremental deliveries, but different from Agile, this should be done only after you have the requirements defined. I also believe that user or customer involvement throughout the project is critical for success. At any rate….
I’ve always tried to work out why a Team of people would start building something before they knew what it was they were supposed to build or before they had a clear picture of what it is they were supposed to deliver. It’s just plain foolish, isn’t it? It’s easy to see how foolish it is if you were dealing with a builder that you had hired to build your house. Before he started, you would definitely have blueprints, specs, etc. for the builder to follow. In addition, you would have agreed the cost and the delivery date. I know you wouldn’t just tell the builder to start without both of you understanding and agreeing the plans, specifications, costs and schedule.
So why do IT people do it? Why do IT Teams start building before they have it locked down as to what it is they must build? Let’s take a look at a number of reasons why I think they do.
One reason is that Senior Management, in most cases, are pushing for a delivery date that is usually very tight and usually not particularly feasible. So Project Managers feel like they need to take some short cuts to deliver on time. And one of the short cuts is to start working on what they believe they have to deliver before what they are supposed to deliver is documented and agreed.
Another reason is that the development team thinks that they know what the customer wants and, therefore, they think they can get a head start and begin working on it before they finish discussing and documenting what the customer really wants.
Another reason is that there is no process in place that defines how to go about delivering a project and, therefore, the Project Manager makes it up as he or she goes along and decides that a Requirements Document is not needed.
Starting work on a project before you know what it is that you are supposed to deliver at the end is almost always a mistake – A big mistake. Why do I say almost always instead of always? Well, I can guarantee you that if I said always instead of almost always, someone would come up with an example that proves it should have been almost always.
So, take the time to get a Requirements Document prepared, agreed and signed by at least the developers and the customer. File it in the project library and put it under strict Change Control.
Some of the benefits of doing this include the following:
- You start off the project knowing what it is that you need to deliver,
- It provides you with a firm baseline on which to develop your cost and schedule estimates,
- It provides you with the basis for evaluating future proposed changes,
- It provides you with the basis for the preparation of System Test Specifications, and
- It helps in the communication process between you, the development team, and the client.
And last, but not least, it helps you, the project manager, deliver a successful project.
Richard is a project manager, professional speaker, author and consultant specializing in Project Management, Leadership, Achievement and Customer Service.
You can book Richard for your next meeting or conference at firstname.lastname@example.org or 336 499 6677.