“Hey Joe, how’s the project coming along?”
“Well, Jane, it’s running a little over budget, but it’s nothing to worry about.”
Famous last words? For many companies, yes. Taken together, budget overages for IT projects total more than the GDP of some small countries. And the longer your projected timeline, the more likely it is that you will exceed budget and schedule.
The good news is that it’s possible to keep your project on track, even when you’re operating under time and budget constraints. But it’s going to take some careful planning.
The Scope of the Problem
Software project failure is rampant. According to McKinsey & Company, one out of every two IT projects massively exceed budget. On average, software projects overrun their budgets by 66%, and they exceed their projected timelines by 33%.
Most of the time, companies can recover from a failure, but a full 17% of projects fail to the point of threatening the company’s survival.
The question is: Why?
What causes projects—and software projects in particular—to run up excessive bills and take longer than expected? The reasons vary, but McKinsey & Company found four groups of problems that predict cost and time overruns:
1. Focus Issues
Unclear objectives can trigger a need for significant changes as new requirements emerge over the course of the project. When stakeholders focus on budget and timeline to the exclusion of strategic value, they may run into problems with inexperienced project teams, unexpected long-term costs, or inefficient solutions that require more time and money than planned. The result is scope of work changes that drive up costs and push back delivery dates.
2. Content Issues
The content of the project—what the software should include—involves both requirements and complexity. It extends beyond the technical architecture of the software and includes end-user goals like addressing current pain points and adding functionality. Problems arise when teams don’t do a good job of drawing out requirements on the front end of the project, resulting in scope creep and/or rework before launch because the real-world needs aren’t actually solved by what’s built.
3. Skill Issues
Project teams must be aligned on business objectives and goals in order to deliver a successful project on time and within budget. That includes not only the skills and collaboration strategy of the technical team, but also successful change management plans to ensure a seamless transition to the new software.
4. Execution Issues
This final group of problems boils down to having a good plan in place. Are your budget and timeline realistic? Are you operating with a proactive project management strategy? Can your team respond efficiently to emerging requirements or change requests? Reactive planning and long delivery cycles almost inevitably lead to project bloat. Likewise, edicts from upper management about timeline and/or budget can force suboptimal solutions, because they’re not attached to the reality of the situation.
Of course, each of these four areas can be broken down into individual components like insufficient analysis, unreasonable completion dates, excessive personnel, rigid project management practices, and reactive strategy changes when the project takes an unexpected turn. With careers on the line and the success of the company hanging in the balance, projects generate stressful and emotional decision-making.
How can you avoid these pitfalls? Plan ahead.
9 Ways to Pull Off a Large Software Project With Limited Resources
Bearing in mind the four causes of project excesses, here are nine ways to stay within your limited budget or timeline.
1. Dig deep for requirements
Insufficient requirements gathering is a huge predictor of project failure. It may not always be possible to know every requirement at the outset of the project, but the goal should be to draw out as much information as possible from stakeholders and end users. Go after hidden requirements by talking with everyone who will use the end product, asking detailed questions, watching them work, and listening for pain points and unstated assumptions.
2. Aim for a minimum viable product (MVP)
In agile methodology, a minimum viable product (MVP) describes the most basic functionality that will still meet the needs of the company and constitute a successful product launch. Software developers aren’t Santa, and they won’t be able to grant every wish on every stakeholder’s list. That means you’ll need to evaluate and prioritize your requirements list to determine which items fall within the scope of the initial project and which ones should be tracked on a nice-to-have list for future upgrades. This approach allows you to complete and launch a project more quickly, while eliminating some of the guesswork that goes along with building everything at once.
3. Base schedule and budget expectations on data analysis
Don’t get trapped into an unrealistic schedule and budget based on speculation or arbitrary deadlines. Instead, take the time to perform detailed analysis of your requirements and clearly define decision-making criteria. Don’t let emotional or overly optimistic projections override facts and statistics, or sidestep a proven development process.
4. Choose the right personnel resources
Inadequate or unsuitable staffing can kill a project in spite of careful planning. Assess your team’s skills and make sure you have the right people on the right assignments. Include external teams like software developers as well as internal project managers.
5. Define your change control process (and stick to it)
The words most dreaded by project managers everywhere are: “What if we added…” Every single change, no matter how small, will have a corresponding impact on your budget and schedule. Make sure everyone—from your project team to executive stakeholders to end users—knows and agrees to the change request process.
6. Allow wiggle room in your budget and schedule
When there is no wiggle room, even one small change can cause huge stress and pressure. Build in room for change requests and pivots to accommodate requirements that may emerge during the course of the project.
7. Ensure buy-in
No matter how well you stick with your plan, the software project can’t be considered a success if the end users hate it and won’t use it. Get their input on the front end and accommodate their needs as much as possible. Remember, the goal is to make users more efficient with their jobs in order to increase productivity and—ultimately—profitability. That can only happen when users adopt the new technology.
8. Track project progress
Project transparency is essential to staying within your budget and timeline. Implement a formal process for tracking progress, commitments, and results. Keeping your finger on the pulse of the project will ensure that you can make course corrections as needed—before things get too far off track. Worthwhile does this for our clients through weekly project updates, along with twice-weekly internal project production meetings. You will likely find a similar rhythm helpful for full visibility.
Determine a reliable methodology (such as Six Sigma, for example) for determining whether you have met your objectives. Define, capture, and evaluate the metrics that determine success or failure. Hard data places you in the best position to make decisions during the course of the project while also providing documentation for future reference.
Plan Your Work And Work Your Plan
People sometimes get the idea that agile methodology means you can change whatever you want, whenever you want. That’s a recipe for disaster. When you’re working with time and budget restraints, the best way to stay on track is to plan effectively and set reasonable expectations up front. Negotiate project parameters and objectives carefully based on data and analysis, and make sure all stakeholders know them up front. Develop in bite-sized chunks so you can know what’s done and what’s yet to do. When changes come up during the course of the project, run them through your predetermined change approval process.
Planning and follow-through will fundamentally change both the progress and the outcome of your project. And the next time your boss comes by to check in, you’ll feel confident responding:
“Right on track, Jane. Right on track."