5 steps to better value for money in web application development
By Nathan Donaldson in Development on May 13, 2013
No one wants to be the next Novopay! How do you ensure good value for money in web application development? It’s a question we are often asked and doesn’t have a straightforward answer. In this post we will look at some of the techniques we use to deliver better value for money on our projects.
Customer and team collaborate at every stage
To ensure that the vision held by the customer is shared, the customer and team must collaborate effectively and efficiently. Using good facilitation tools and techniques, and agile ways of working, the customer’s vision is clearly shared by the team and enables them to make sound decisions at every stop of the way.
Get fast feedback from the market and reduce risk
Key to getting good value for money is getting feedback from your market early and often. Working to get the application to market as early as possible reduces risk by ensuring the feedback loop from clients is as short as possible and by reducing investment before feedback. Integrating customer feedback into your development process will ensure that the features being developed are of value to your customers. For complex web applications, we use Ruby on Rails to enable rapid iteration.
Build quality in to reduce the cost of change
Following technical best practices such as BDD & TDD is an excellent way to ensure quality is at the forefront in development. Technical best practices reduce the number and severity of defects in the work which frees valuable resource for creating features. The cost of finding and correcting defects grows quickly, so early discovery and remediation is key.
Prioritise the highest value features first
By focusing on producing the highest value features first you will ensure that the product is viable at the earliest possible stage. This ensures that the return on investment is as high as possible.
Inspect and adapt your product, processes and tools
It is absolutely essential to continually and rigorously inspect both the software being created and the way the team is working to create the software. We use agile processes to ensure that the team and client work together to improve on a continuous basis. The result is a high-performing team that is continuously improving, adapting to change and providing more and more value.
All of these ideas are supported by Agile and Lean and we are in a great position today where we are able to stand on the shoulders of giants who’ve discovered pragmatic solutions to the problems of software development.
We would love to hear your your point of view, what has worked for you in the past?
Project risk management with Agile — how to reduce risk and deliver successful software development projects with Agile