According to research published in the Harvard Business Review, one in six IT projects has a cost overrun of 200 percent. That’s a very alarming number - mismanaged projects make huge losses for companies and often costs managers their job. So, it wouldn’t be a huge surprise if your project gets out of control. The question is how to effectively manage software development costs?
1. Budgeting instead of estimating
As Debbie Madden once wrote in her article you don’t need an estimate - you need a budget. Sometimes it’s faster and cheaper to build something than get a precise estimate of it. Estimations are simply too detailed for strategic decisions - they try to predict an unpredictable future. If you are seeking to estimate the whole project at the very beginning, you are wasting a lot of time and energy. To avoid this focus on getting a ballpark figure to plan the budget.
Here's how you can budget your project like a pro:
- Identify the decisions you have to take and the questions you need to answer.
- Break your project into smaller pieces when it comes to the size, complexity, and duration - it will be easier to understand and execute.
- Take advantage of the reference class forecasting - look at similar past projects and their outcomes, it’s one of the best methods to get a ballpark figure.
- Prioritise and identify “must haves” and “nice to haves” for your project to define your minimum viable product (MVP) and make the budget more precise.
2. Start with prototyping
Simply put a prototype is just a three-dimensional version of your vision. It promotes early interactions between users, developers, designers and other stakeholders of the project. Prototyping enables you to identify and handle the biggest risks as early as possible.
There are a lot of prototyping tools available on the market so if you feel you need, then utilize once because it’ll serve you well. But remember, it’s more important to just do it, rather than how you actually do it. There are no strict rules - it’s ok to experiment and play with convention.
The benefits of prototyping:
- Better communication: Prototyping helps you describe your vision more efficiently to the whole team involved in the product development. Thanks to which you can avoid many misconceptions at the very beginning of the project.
- Faster iterations: Your idea works perfectly in theory until you start drafting it into something tangible by developing the prototype you are forced to answer many crucial questions early.
- Proof of concept: Having a prototype you can achieve greater stakeholder engagement (it looks more professional and encourages others to take your project seriously). You can also prove that your idea makes sense and is worth investing time and money in.
- Possibility to test your product early: It is the best way to engage end-users in product development from the very beginning. This is crucial if you'd like to avoid ending up with a digital project no one wants to use.
3. Conduct user tests early
A prototype is all you need to start testing your product idea with real users. It will reduce many headaches later on. Of course, it requires a different approach to testing the final product but done right is extremely beneficial. What is the most important - by incorporating user testing into your project development cycle makes you focussed on users needs, not product features.
Tips on how to start with user testing:
- Define your goals for each stage of testing based on your prototype functionalities
- Describe your target group - you can do this by building users personas
- Hire someone experienced with user testing to choose the right methods, who can build test scenarios and who can run tests and prepare a report for you
- Implement the findings into your product development process as fast as possible and repeat the whole thing with the next features ready
4. Take care of the quality
Investment in quality assurance early on can have an excellent ROI, especially if you take into consideration the maintenance costs related to the project. It may not be exhilarating to pay attention to the quality from the very beginning, but it will pay off later increasing customer satisfaction and reducing product failure rates.
Remember that quality assurance is more than “testing”. It’s a complicated process that should involve all product development team members to be entirely satisfactory.
There are many different approaches to quality assurance depending on the nature of the project (here you can find ten best practices to deliver quality software ), but some tips are universal:
- Choose what is the most important for you when it comes to the quality and prioritise it from the very beginning.
- Communicate your quality goals to the team and make sure that all suppliers are also aware of them.
- Break free from the classic roles - all team members should take care of the quality.
- Automate testing if it’s possible - it can save tons of time and energy.
- And finally conduct the user test early
5. Forecast regularly
It’s the best way to control the costs and respond to changes quickly. Budget is a living part of the project and only by knowing its current state and forecasting in the near future, you can manage the project and correct spending on time if needed. Product managers who carefully watch budgets during the product development lifecycle are on their way to avoiding costs overrun.
Some points to keep in mind when forecasting your project:
- Forecast frequently: It will help you to oversee the project stay agile and to respond to all changes quickly.
- Forecast not only spending but also resource usage to make sure you can stay not only in the budget but also deliver the project on time.
- Keep everyone informed: Your team, suppliers, and stakeholders should be aware of your project status to contribute to it in the best way.
- Sometimes you can cut the scope of your project and still meet the business results
Keeping control over digital projects cost is not an easy job but done right can pay off in many ways - from business success to personal achievement. Fortunately, there are some rules you can follow to succeed. Let us know if you found it useful!
We are an agile software development company specialising in web, mobile, and VR/AR applications - if you are looking for a team to work with you on your digital project just drop me a line at firstname.lastname@example.org