I am often involved with projects that are running behind schedule and over budget. Such is life of an IT consultant, I suppose. In many instances, projects can recoup valuable time if non-essential features and functionality are removed from the immediate plan and postponed until a later time. This post explores the decision on what can and can’t be cut from IT projects.
Consider the following three questions:
Generally speaking there are two types of projects. First, there are those that involve a Waterfall or more sequential methodology. Then there are those that involve Agile methods. Let’s look at each.
Clients are typically reluctant to cut functionality from Waterfall-based projects for one simple reason: there’s typically (and mistakenly) a “now or never” mentality. In other words, key stakeholders believe that if the software isn’t present immediately, they’ll never see it.
Be prepared to drop non-essential features for the overall good of the project.
This may or may not be the case. Delays, budget cuts, internal politics, and key employee turnover often mean that the best intentions regarding future roll-outs are derailed. I’d argue, however, that continuing down a parlous path because you’re afraid that internal obstacles will prevent you later on is a fundamental misstep.
On Agile projects, internal players tend to understand the concept of phases better. They are more likely to sacrifice “nice to have” functionality if it’s likely to increase organizational risk. Project teams, developers, and senior management know that the next version of the software (or the next phase of the project) can easily incorporate enhancements. There’s no “burning plank” mentality here: there will be a next version, and typically soon.
Determine in advance which features are essential. If necessary, be prepared to drop non-essential features for the overall good of the project.
To borrow a phrase from poker, executives sometimes go all in with a particular feature, application, module, or system, refusing to ignore signs of peril. For example, a few years ago I worked on a project in danger of imploding. System testing and data validation were months behind schedule, affecting the entire organization’s financial health, not to mention little things like payroll and financial reporting. Less important, the roll out of a manager self-service application that would minimize paperwork also looked doubtful, although this affected a very small percentage of employees in the organization.
While the overall project suffered, CXOs refused to cut self-service from the project plan. Why? Because their bonuses were tied to the introduction of the tool, whether it was successful or not. This is a classic example of senior managers letting their provincial self-interests override their responsibilities to the organization at large.
From day one, make sure that senior managers’ incentives align with those of the organization.
Consider an ambitious CRM project. Everyone would love to have sexy analytics (now that would be a great title for a book) from day one. However, does that functionality come at the risk of not being able to enter new customer sales? The latter is pretty important, even though it’s not what sold senior management on the CRM app in the first place. Those dashboards aren’t worth a red cent if they don’t contain accurate data. Imagine the chaos if basic sales data cannot be obtained? Will fulfillment become an utter nightmare? Will the data become corrupt and impure, requiring a massive data cleanup effort?
Remember that there’s always tomorrow. Absent some really compelling business need, ensure that critical functionality is rock solid before chasing next generation functionality.
Most people realize that IT projects are rarely perfect. If behind on a key project, don’t hold out for each and every bell and whistle promised from the beginning. Consider dropping non-essential features for the good of the project and the organization.
Enjoy this post? Click here to subscribe to this feed.