Fierce competition for clients has led to a change in the way software developers work. Rather than sending an estimate up front and billing the total cost at project’s end, they’re bidding the full amount they will charge for a project. Additional investments have to be agreed on in written change agreements.
As a result, every budget overrun cuts directly into the developer’s profits. It’s critical that executives work with their project managers to ensure things go as smoothly as possible.
Towards that end, here are ten quick tips for keeping budget overruns under control.
Use Agile methodologies
Agile project management is a big reason software failure rates have begun falling for the first time in over a decade. The iterative development process allows for continual feedback and adjustment; small corrections early on have more impact than large changes later on.
Don’t skimp on the Discovery process
Extra time in discovery is the single most influential factor on a project’s success. Taking shortcuts here gives developers a handicap they may never overcome. Without taking time to see the big picture of what clients need, they can’t fully understand a project’s scope. The danger here is that developers could underbid and commit themselves to delivering more than they expected.
Be realistic about how much teams can get done in a sprint
Use historical performance information from similar projects rather than hopeful estimates. When possible use data from the actual team that would be doing the project.
Leave room for error
The most urgent goal may seem to be outbidding the direct competition, but never bid so low that it becomes impossible to deliver profitably. There are always surprises, so plan for them. Include dummy sprints in the budget and timeline to allow for unplanned changes. If they’re not needed, the client gets a pleasant surprise when their software is done early.
Use (and listen to) experienced project managers
80% of high-performing projects are led by a skilled project manager, so resist efforts by the client to trim costs by cutting the position from the budget. Listen to the project manager’s advice and experience during the budgeting phase. Empower them to keep up efficiency and morale within their team with as little micromanaging from above as possible.
Use project management software (and make sure it’s adopted throughout the team)
40% of companies don’t use project management-specific software to manage their projects. There is no reason to juggle spreadsheets and calendar apps when there are powerful, easy-to-use programs (like Basecamp) designed to keep projects orderly and on schedule.
Stay vigilant against scope creep
Don’t view scope creep as inevitable. After all, a thorough discovery process should minimize its effect. This doesn’t mean developers should refuse to make any changes at all; it’s more a reminder that the bid was calculated based on specific requirements. Agreeing to additions and changes outside the scope threatens the budget and the timeline. If a change will affect the project in a large way, go back to the customer and negotiate a change agreement to protect everyone’s interests.
Prioritize automated testing when appropriate
Automated testing provides wider and more consistent coverage than manual testing. It allows developers to catch problems earlier, when they’re easier to fix. It isn’t applicable to every project, but it saves time and money when it is.
Utilize risk management techniques to mitigate problems as they arise
Project managers should have both contingency and mitigation plans in place before a project starts. Contingency plans are meant to handle situations which are highly unlikely but could kill a project if they occur. Mitigation plans should minimize the effects of lesser situations which are more likely to appear.
Emphasize communications at all levels
Communication is the key to staying on budget. There should be a continuous flow of information and feedback between clients and project managers, project managers and their teams, and project managers and senior leadership. Check in after each sprint at the very least. Having knowledge as early as it’s available puts developers in the best possible position to plan, adjust, and act.
It’s impossible to see the future, but following these guidelines lays the groundwork for being prepared to meet unexpected challenges as they arise.
At Concepta, we believe that what’s good for clients is good for developers. Projects that stay on budget can be delivered on time and at a higher quality than those that run over. To explore how much we can achieve within your company’s budget, set up a free consultation with one of our experienced representatives today!