Engineering performance can be difficult to evaluate—even for engineers. Non-technical teams have key performance indicators (KPIs) like revenue, customer retention, and customer acquisition cost (CAC) that make it straightforward to measure their progress. The relationship between progress, goals, and objective data isn't always as clear in engineering.
Using metrics like DORA's 4 Keys—which measure deployment frequency, mean lead time for changes, mean time to recovery, and change failure rate—is a great starting point for understanding the health and performance of the software organization. Pairing these with other engineering metrics can help engineering leaders increase efficiency and improve visibility, accountability, and resource management.
[ Learn how IT modernization can help alleviate technical debt. ]
Below are four tips to get the most value from engineering metrics, whether you're using them for the first time or just want to fine-tune your approach.
1. Be transparent about how data is used
When engineering organizations use data to assess team health, understand allocations, and measure progress, the "how" is often the biggest source of fear. Developers may worry that their data will be used against them and that they will be held to certain numbers and penalized if they're not met. When everyone understands how data will be used and, when applicable, how to use it themselves, it can help alleviate many of these concerns.
To help address these worries, communicate exactly what data you're looking at, why it's useful, and how you're using it. Are you aggregating data at the team level or digging into individual metrics? Are you looking at big-picture metrics like pull request cycle time or granularly assessing every step of the software development lifecycle (SDLC)? Make sure to communicate your reasons for looking at data, such as improving goal-setting, grounding conversations in fact, and removing blockers.
2. Be thoughtful about metrics
There are various ways to ensure your metrics provide the information you need. Consider the following approaches.
a. Standardize your measurements
A standard process for measuring metrics is essential for consistent insights. Your existing engineering tools, like Jira, contain a wealth of information. To get the most accurate metrics, use a tool that aggregates and processes information like incident and deployment data to make it easier to standardize your measurements rather than calculating metrics manually.
b. Decide which metrics matter
Measurements are productive only if you're looking at the right data. Choose metrics that are aligned with your team's goals, and consider how different data points might balance each other out to tell a complete story.
The first step is to establish team goals that align with business objectives. These goals may be developing new features, optimizing your underlying infrastructure, or improving efficiency. Ensure the goals are specific, measurable, and time-bound. From there, determine what metrics provide objective insight into how those goals progress. If your goal is improving efficiency, for example, the metric might be to reduce the average time to merge (the time between when a pull request is opened and when it's merged) by 10% quarter over quarter.
c. Consider complementary metrics
Look at complementary metrics to ensure your team is not over-optimizing to meet a goal at the expense of something else. If you're working on improving efficiency, for example, you may still want to keep an eye on quality metrics to ensure you're not sacrificing your standards for the sake of speed.
d. Involve your team
Include the people responsible for these goals in the conversation so they can contribute ideas and help set realistic milestones. Once you've finalized your goals and how to measure them, share them with stakeholders and adjacent teams who may influence their success. This creates a sense of shared ownership, support, and trust across teams.
3. Focus on continuous improvement
Engineering performance can be difficult to measure because "success" is multifaceted. When you create goals, standardize your process for measuring progress against them, and gather objective insights, it's easier to understand if your team has been successful. And, if you haven't been, a culture of continuous improvement creates space to learn why.
When metrics aren't trending in the right direction, treat it as an opportunity to learn more and help your team improve—not as justification for punitive action. Metrics can also be a great way to spot and recognize positive contributions to the team. Data makes it easier to learn from success and failure and work together to improve the process going forward.
[ For more insight on remediating troubled projects, see 20 tips to get an architecture project back on track. ]
4. View data in context
Data cannot tell you everything you need to know about your team and how it's working. Placing all quantitative data in context by gathering additional qualitative information from your team is important. If you notice something that is not in line with your expectations, or if something is trending in a concerning direction, bring that information to a standup, 1-on-1, or team meeting to learn more. Use that data to start a conversation with your team and work with them to understand exactly what's going on—and address it.
Use metrics to understand engineering health
Leveraging engineering metrics gives leaders deeper insight into the performance of technical teams and individuals. Whether you start incorporating engineering metrics for the first time or want to extract more value from an existing process, it is crucial to prioritize transparency, continuous improvement, and contextualization. Remember that the process is iterative, so it's vital not to become fixated on identifying the perfect metrics to the extent that no measurements are taken.
[ Check out Red Hat Portfolio Architecture Center for a wide variety of reference architectures you can use. ]
저자 소개
Madison Unell is a seasoned senior product manager with over eight years of experience leading cross-functional teams to build and deliver innovative software solutions that solve complex problems in complex industries. Her expertise is identifying customer needs and building user-centric experiences that solve those problems through technology, design, and operations. She has a proven track record of leveraging data-driven insights to inform product decisions and drive growth, especially in early-stage products seeking product-market fit.
채널별 검색
오토메이션
기술, 팀, 인프라를 위한 IT 자동화 최신 동향
인공지능
고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트
오픈 하이브리드 클라우드
하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요
보안
환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보
엣지 컴퓨팅
엣지에서의 운영을 단순화하는 플랫폼 업데이트
인프라
세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보
애플리케이션
복잡한 애플리케이션에 대한 솔루션 더 보기
가상화
온프레미스와 클라우드 환경에서 워크로드를 유연하게 운영하기 위한 엔터프라이즈 가상화의 미래