Project managers must balance the triple constraints of cost, schedule, and scope; cost is the total amount that can be spent, schedule is the deadline for the final deliverable and the deadlines for any intermediate deliverables, and scope is the work package to be completed in conformance with specifications.
Depending on the nature of the work, one of these three constraints is less flexible than the others. For example, a project to build a bridge is usually more flexible on cost and schedule than on scope. In the end, the final deliverable must work according to spec, because peoples’ lives depend on a bridge that can carry the required weight and operate under the conditions defined by government regulation.
In many cases, IT projects must come in at or under cost, and they must show a return on investment well before the technology becomes obsolete. Sometimes quality is sacrificed to meet a hard deadline within budget.
Most of us have gone through the pains of working with buggy software because we wanted to get the “latest and greatest” version of a system in hopes of gaining competitive advantage. In the end, we wind up spending a lot of time working out the kinks, and we may not factor into the total cost the time spent discovering bugs and installing new software versions.
These cases usually arise when the IT department relaxes the scope without informing the customer. Software is so complicated, and with so many interacting features, it’s easy to sneak in a deliverable that appears at first to meet requirements but behaves erratically within a short period of time.
This big mistake can be avoided. If you’re managing an IT project, here are three techniques you can use to manage the triple constraints to the satisfaction of your internal or external customer:
• Rather than build up to a final deliverable, try working early prototypes into your lifecycle. Get agreement from customers to try out early versions. Get them involved early in the process so they can see for themselves where the project is going. To avoid confusion and manage expectations, make a clear distinction between prototypes and the final deliverable.
• Work with a phased approach to features, with each phase containing a relatively bug-free version of the product, but without all the bells and whistles. Rather than putting all functionality in at once and trying to get the whole package working, add functions incrementally. If you keep the customer informed of this approach, when cost or schedules become tight, you can negotiate a reduced feature set, knowing that at least the included features work as planned.
• Manage scope creep, a problem all too common in software projects. Because software is so complicated, it’s almost impossible to fully specify requirements before beginning design and development. Requirements can be interpreted in different ways, and customers can claim that some features were implied by the specification, even though they weren’t explicitly stated. When customers request new features, make it clear the extra work will have an impact on cost and schedule, or suggest removing another feature to compensate.
Project management is a tough business in all industries. Those who manage IT projects best are those who make tough decisions early and keep the customer informed. While it may be difficult and uncomfortable to negotiate feature trade-offs early in the lifecycle, it will save a lot of headaches in the long run.