A few years ago, growth was about hiring more people. Today, growth is about efficiency—doing more with less. As an Engineering Leader, you must align your teams to achieve business goals while improving efficiency. Not every organization has the luxury of hiring more people, so what do we do? We capture each source of inefficiency and thrive on removing them.
After working with several organizations over the years, we have noticed common pitfalls that slow teams down. More importantly, we prepared a list of recommendations to avoid them.
Working Items Are Too Big
Bringing a change to a product takes time. The longer it takes, the more cost-heavy it is to introduce that change. The more cost-heavy it is, the fewer failures you want, then you spend more time planning to avoid failure. The reality is that every feature and user story is considered a bet; no one can know in advance if this will work as expected, even if you’re convinced. Planning bigger items has a ripple effect of adding more requirements as we go.
How to Spot The Trend?
Measuring cycle time over time is generally an excellent way to observe this trend. A longer cycle time indicates that an item takes longer to complete because of its size. Look if the team is stable or has variations in the cycle time of their deliverables (e.g., features), issues (e.g., user stories), or pull requests. Typically, look at a long enough period (e.g., 90 days) and higher variations (e.g., ±15%).
Solution
“It can always be smaller”. That’s a motto we keep repeating. Smaller items tend to flow through the system faster. You can apply it to deliverables, issues, and pull requests! Here are a few other tips:
- When a stakeholder asks you how to deliver faster, translate it to how you can deliver sooner and more frequently. This translation makes it more actionable.
- Encourage user story splitting techniques such as S.P.I.D.R. This practical tool helps teams have smaller user stories.
- Split user stories so they’re small enough. It’s ideal to complete a user story within a few days, specifically within a working week.
- Ask yourself: do we make our users’ lives easier? If yes, it’s small enough. It may not be complete, but it can be a user story if it can help the user. For example, when you make an invoice, a user story could be as simple as seeing the customer’s name and address on the bill. We make their life easier because the billing specialist must search for it otherwise. The feature isn’t complete, but this is what we mean by delivering sooner and more frequently.
How to Get Started
The first step is to start measuring yourself. The first set of metrics I suggest gathering is the DORA metrics. This will give you a first picture of the team’s delivery performance and let you know which teams need more attention from the pack.
Setting up Your DORA Metrics Dashboard
Tools such as Axify integrate seamlessly with your tech stack to collect accurate data at all phases of development. Our DORA metrics dashboard tracks Deployment Frequency, Lead Time for Changes, Change Failure Rate and Failed Deployment Recovery Time. It allows teams to compare their performance with industry benchmarks, past performance, and other teams in the same organization to identify areas for improvement and celebrate successes.
Comparing Your Teams’ Delivery Performance
Our teams’ insights allow you to visualize DORA metrics for each team. They offer the advantage of comparing apples to apples on two important engineering efficiency factors: speed and stability. You can quickly see which team could benefit from more attention and which could share their best practices for better performance.
Working Toward Continuous Improvement
Transform how your team sets and achieves goals with our objective and key results tracking tool. See immediately the evolution of your performance indicators and implement initiatives that support the continuous improvement of your development team.
Contact us for more information on how Axify helps development teams measure DORA KPIs and improve engineering efficiency, or request a demo.
More Pitfalls to Avoid for Maximum Software Engineering Efficiency
- Pull requests are stuck or taking too long to review
- Quality control is long due to a lack of automation
- Bad allocation of time investment
- Working on too many items at once
Or download our complete guide 👇