In a context of economic headwinds and accelerated technology development, increasing your software delivery productivity is more than just delivering code faster. It’s about maintaining a competitive advantage and delivering more with less.
Increasing software delivery productivity means focusing on creating value, striving for high quality, and aligning engineering teams with business objectives.
To improve delivery productivity, two frameworks have emerged to provide a comprehensive approach to measuring and improving development performance.
- DORA metrics (DevOps Research and Assessment)
- SPACE (Satisfaction, Performance, Activity, Communication, and Efficiency)
Our teams work across sectors in organisations of all sizes and at various levels of delivery maturity, all with similar challenge: how we deliver faster for clients without compromising quality, security or maintainability.
Increasing how fast we deliver doesn’t mean pushing staff to work harder at the risk of creating an unsustainable environment. It is about working better, creating a more efficient work environment where people can thrive and focus on the high-value part of their job. In essence, a great place to work.
Let’s break down the 10 key things you can do to improve your software delivery productivity, with a focus on space and DORA metrics.
1. Focus on deployment frequency
One of the key DORA metrics is deployment frequency: how often the team releases code to production. High-performing teams deploy more frequently. We’ve worked with companies who went from releasing every 18 months to several times a week.
To boost deployment frequency:
- Automate the CI/CD pipeline: Continuous Integration and Continuous Deployment (CI/CD) reduce manual errors and speeds up the process.
- Use feature flags, to ship code without fully activating it, enabling continuous deployment without affecting end-users.
2. Reduce lead time for changes
Reducing lead time means going faster from making a change to deploying it into production. Creating a step change in the pace is a tough challenge but one that energises teams.
- Optimise code review processes by keeping pull requests small and focused to allow faster feedback and integration.
- Implement trunk-based development to encourage developers to integrate small changes regularly.
3. Reduce change failure rate
Failures in production is the big tell-tale sign that every team will be aware of, even if they don’t have delivery productivity measures in place. It’s also frustrating for teams and with potentially significant impact on the business:
- Enhancing testing, focusing on automated end-to-end tests.
- Encouraging a blameless culture: When failures occur, focus on identifying root causes through post-mortems, which promote learning and process improvement.
4. Improve mean time to recovery (MTTR)
Going hand in hand with reducing failure rates is quickly recovering from incidents. No one is perfect and having a robust process minimises impact.
- Adopting observability tools to monitor, log, and alert systems helps detect issues faster.
- Robust rollback mechanisms make reverting changes simple and quick.
5. Improve code quality
One of the fundamental delivery productivity factors is high code quality. It reduces technical debt, and the time spent fixing bugs and maintaining systems. Every team is different, so you need to experiment what works for your team, for example:
- Peer reviews: Encourage frequent and detailed code reviews, which not only improve quality but also distribute knowledge across the team.
- Pair or mob programming: These techniques promote better solutions, enhance team collaboration, and lead to fewer code defects.
6. Boost team efficiency and flow
There are well-established ways to improve how well your team utilises time and resources, even if we all know they can be difficult to implement in practice:
- Limit work-in-progress (WIP): Too many tasks at once decreases focus and increases context-switching. Frameworks like Kanban or Scrum helps manage WIP but need a strong prioritisation.
- Minimise interruptions: Allow developers time for deep work without constant meetings or disruptions. Setting aside “no-meeting” days can significantly improve flow or
7. Track team performance
It’s important not to confuse individual performance with team performance. In SPACE and DORA metrics, it refers to outcomes like code quality and delivery speed.
Measure what matters and focus on high-level metrics like cycle time, throughput, and code quality. Avoid vanity metrics such as lines of code.
8. Foster collaboration
Communication and collaboration ensure that team members are aligned and work efficiently together.
- Asynchronous communication tools facilitate communication without needing constant synchronous interaction. While they can make it easier for remote teams to stay in sync, in practice, they can be a source of distraction which needs to be thought through.
- Foster a culture of transparency: Communicate goals, expectations, and updates clearly. Regular stand-ups, retrospectives, and planning meetings maintain alignment.
9. Make developer satisfaction and well-being a focal point
The satisfaction and well-being aspect of the SPACE model emphasises the importance of team morale in delivery productivity. Happy developers are more engaged.
- Foster a collaborative environment: Encourage team members to work together, share knowledge and adjust to each other’s communication style and neurodiversity.
- Avoid burnout: Set realistic deadlines, respect personal time, and promote work-life balance.
10. Continuously learn and adapt
High-performing teams embrace a culture of continuous improvement, a core principle of both DORA and SPACE models.
- Encourage experimentation: Create spaces for your team to try new technologies, tools, and processes. Celebrate successes and learn from failures.
- Adopt a DevOps mindset: Break down silos between development, operations, and other stakeholders. Continuous feedback from operations can lead to faster iterations and better product quality.
Improving software delivery productivity is a step change in digital transformation.
By leveraging insights from the SPACE and DORA metrics models, teams can focus on key areas such as deployment speed, code quality, communication, and developer well-being.
These improvements not only increase delivery productivity but also create a more positive and sustainable working environment.
Start by assessing where your team currently stands on these metrics.
“If you want to move the dial, you need a dial.”
And progressively implement strategies to enhance each area.
However, these frameworks are only a part of the puzzle. There is no point going faster in the wrong direction.
Learn more about how to accelerate your time to value with BJSS delivery optimisation framework.