A Reminder on Delivering Successful IT Projects

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 richard@richardmorreale.com or 336 499 6677.

PMHut Team

PMHut Team

PMHut.com is a website dedicated to providing PM articles, detailed project management software reviews, and the latest news for the most popular web-based collaboration tools.

1 Response

  1. Avatar Dave Moran says:

    Richard,

    I agree fully that requirements have been a traditional challenge with software projects! As a manager in an Agile shop, I’m dismayed and concerned about one of your statements:

    “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?”

    I feel that there are definite misconceptions of Agile development out there, perhaps brought on by those claiming to be Agile but using that as an excuse to not document or perform any other activity that would qualify you as a professional. Yes, it is foolish for anyone to build something before they understand what they are supposed to deliver! I wouldn’t want anyone on my teams operating this way.

    The way that an Agile team goes about this is different, but there is a product backlog with that contains a variety of features, and each sprint (or iteration) the team actively works on building a subset of that product backlog – based on business value and priority. But there should be a very strong understanding about what the feature is and what the expected business benefit that the feature is attempting to provide before anyone on the team dives into design and development of that feature.

    Agile is all about being flexible in terms of future content, recognizing that plans (and desires) of the business can and will change. But if a customer has specific desires, these can be captured in the backlog and sized. And with this, dates and costs can be projected – but would you agree that like any software project there will need to be risk factors and built into any projections?

    As you point out there are times when “Senior Management, in most cases, are pushing for a delivery date that is usually very tight and usually not particularly feasible.” This can also be true of customers. It’s all about negotiation, managing risk and change, and being responsible professionals throughout.

Leave a Reply