Most businesses fund initiatives on an annual basis and then use large projects to allocate those funds. A project is funded until completion, and then a new project is started and so on. But what if your software development uses a more agile approach? Then the traditional way of funding a project based on a set scope might not make the most fiscal sense anymore.
Rather than funding a project at a time, a better approach to budgeting for agile development is to think of software initiatives as value streams. A value stream mentality will help you best utilize your funding so your development initiatives achieve key business outcomes.
Let’s take a closer look at these two concepts, what the differences are, and how shifting your mindset from projects to value streams can bring real value to your business.
The Traditional Way: Projects
Funding by project heavily relies on estimates and makes the process very linear.
In a traditional project-based approach to funding development, a team is put together to work on a project and then that effort is funded based on the value it will bring in the next 12-18 months. Teams are then incentivized to stay on track based on a pre-determined amount of scope and graded on how well they produce that scope over a set timeline and budget.
A project method of funding puts a lot of pressure on the upfront estimates of the scope and the cost to build that scope. This gets especially tricky when you’re trying to estimate software development work where much of the scope is unknown when development begins. Depending on the organization, projects can also be less flexible for change, which is a common occurrence in agile development. Think about your organizational structure: are teams incentivized to make changes during a project, or will a change request lead to a lot of paperwork that throws off the workflow?
Once a project has been “completed”, teams are often disbanded and moved onto other initiatives. Too much transition among your teams can keep developers from learning how to work together effectively and prevent them from ever becoming a high-performing, normalized team.
A More Modern Way: Value Streams
Value streams put guardrails around budget but let the team charge ahead to find the best value.
Value stream is a term that comes from the Scaled Agile Framework (SAFe) and Lean-Agile. Thinking of your development work as a value stream goes hand-in-hand with having an overall product-based mindset. The idea behind value streams is that today’s software initiatives aren’t projects that you can finish and walk away from, but rather key businesses functions that need continual improvement. In this way, you would set aside a certain amount of budget to fund a value stream’s development into the foreseeable future (so long as it continues to bring business value).
A value stream is implemented by giving budget, with pre-determined guardrails, to the development team (or Agile Release Train) to innovate and continue to build with. Having this steady budget will help the team be able to make quick, data-driven decisions about your software. The team will then be held accountable based on whether the software is delivering the desired business outcomes.
Benefits of a Value Stream
One of the big benefits of funding a value stream is that it shifts much of the decision making down the organizational structure to the team themselves. Your development team has the information to make the best decisions. When they are empowered to act on their best judgement, you don’t have to worry about relaying the information in meetings or having key technical details get lost in translation. It keeps work moving smoothly ahead.
Additionally, value streams improve the quality and working environment of your teams. For example, projects often start and stop and teams get reallocated. But with a value stream, you maintain the same knowledge on the same team and keep development flowing continually. This gives your developers deep subject matter knowledge on their software and lets teams get used to working with one another – thus improving their productivity.
When a budget overrun happens in a project, it can cause major development delays while the whole project is recalibrated. Setting a long-term budget for a value-stream helps to eliminate such delays.
Overall, the value streams are a better way to think about the budget and longevity of most modern software development initiatives. This mentality perfectly fits with thinking of software as a product to be continually invested in. Funding a value stream will keep development in progress, maintain an openness to change, and empower your development team while keeping the focus on bringing the greatest amount of business value to your software. At the end of the day, getting the most value from your software for your investment is everyone’s goal, and value streams just might be your best way to achieve that.