Measuring Developer Productiveness through People
Someplace, proper now, a know-how govt tells their administrators: “we
want a method to measure the productiveness of our engineering groups.” A working
group assembles to discover potential options, and weeks later, proposes
implementing the metrics: lead time, deployment frequency, and variety of
pull requests created per engineer.
Quickly after, senior engineering leaders meet to evaluation their newly created
dashboards. Instantly, questions and doubts are raised. One chief says:
“Our lead time is 2 days which is ‘low performing’ in keeping with these
benchmarks – however is there truly an issue?”. One other chief says: “it’s
unsurprising to see that a few of our groups are deploying much less typically than
others. However I’m undecided if this spells a possibility for enchancment.”
If this story arc is acquainted to you, don’t fear – it is acquainted to
most, together with a few of the greatest tech corporations on the planet. It isn’t unusual
for measurement packages to fall brief when metrics like DORA fail to supply
the insights leaders had hoped for.
There may be, nonetheless, a greater method. An method that focuses on
capturing insights from builders themselves, moderately than solely counting on
fundamental measures of pace and output. We’ve helped many organizations make the
leap to this human-centered method. And we’ve seen firsthand the
dramatically improved understanding of developer productiveness that it
offers.
What we’re referring to right here is qualitative measurement. On this
article, we offer a primer on this method derived from our expertise
serving to many organizations on this journey. We start with a definition of
qualitative metrics and find out how to advocate for them. We observe with sensible
steerage on find out how to seize, monitor, and make the most of this knowledge.
At this time, developer productiveness is a essential concern for companies amid
the backdrop of fiscal tightening and transformational applied sciences reminiscent of
AI. As well as, developer expertise and platform engineering are garnering
elevated consideration as enterprises look past Agile and DevOps
transformation. What all these issues share is a reliance on measurement
to assist information selections and monitor progress. And for this, qualitative
measurement is essential.
Notice: once we say “developer productiveness”, we imply the diploma to which
builders’ can do their work in a frictionless method – not the person
efficiency of builders. Some organizations discover “developer productiveness”
to be a problematic time period due to the way in which it may be misinterpreted by
builders. We advocate that organizations use the time period “developer
expertise,” which has extra optimistic connotations for builders.
What’s a qualitative metric?
We outline a qualitative metric as a measurement comprised of information
offered by people. It is a sensible definition – we haven’t discovered a
singular definition throughout the social sciences, and the choice
definitions we’ve seen have flaws that we talk about later on this
part.
Determine 1: Qualitative metrics are measurements derived from people
The definition of the phrase “metric” is unambiguous. The time period
“qualitative,” nonetheless, has no authoritative definition as famous within the
2019 journal paper What is Qualitative in
Qualitative Research:
There are lots of definitions of qualitative analysis, but when we search for
a definition that addresses its distinctive characteristic of being
“qualitative,” the literature throughout the broad subject of social science is
meager. The primary purpose behind this text lies within the paradox, which, to
put it bluntly, is that researchers act as in the event that they know what it’s, however
they can’t formulate a coherent definition.
An alternate definition we’ve heard is that qualitative metrics measure
high quality, whereas quantitative metrics measure amount. We’ve discovered this
definition problematic for 2 causes: first, the time period “qualitative
metric” contains the time period metric, which suggests that the output is a
amount (i.e., a measurement). Second, high quality is often measured
by means of ordinal scales which might be translated into numerical values and
scores – which once more, contradicts the definition.
One other argument we now have heard is that the output of sentiment evaluation
is quantitative as a result of the evaluation leads to numbers. Whereas we agree
that the info ensuing from sentiment evaluation is quantitative, primarily based on
our unique definition that is nonetheless a qualitative metric (i.e., a amount
produced qualitatively) except one had been to take the place that
“qualitative metric” is altogether an oxymoron.
Except for the issue of defining what a qualitative metric is, we’ve
additionally encountered problematic colloquialisms. One instance is the time period “gentle
metric”. We warning in opposition to this phrase as a result of it harmfully and
incorrectly implies that knowledge collected from people is weaker than “onerous
metrics” collected from methods. We additionally discourage the time period “subjective
metrics” as a result of it misconstrues the truth that knowledge collected from people
could be both goal or subjective – as we talk about within the subsequent
part.
Kind | Definition | Instance |
---|---|---|
Attitudinal metrics | Subjective emotions, opinions, or attitudes towards a selected topic. | How happy are you along with your IDE, on a scale of 1–10? |
Behavioral metrics | Goal information or occasions pertaining to a person’s work expertise. | How lengthy does it take so that you can deploy a change to manufacturing? |
Later on this article we offer steerage on find out how to accumulate and use
these measurements, however first we’ll present a real-world instance of this
method put to apply
Peloton is an American know-how firm
whose developer productiveness measurement technique facilities round
qualitative metrics. To gather qualitative metrics, their group
runs a semi-annual developer expertise survey led by their Tech
Enablement & Developer Expertise group, which is a part of their Product
Operations group.
Thansha Sadacharam, head of tech studying and insights, explains: “I
very strongly consider, and I feel a whole lot of our engineers additionally actually
recognize this, that engineers aren’t robots, they’re people. And simply
fundamental numbers would not drive the entire story. So for us, having
a extremely complete survey that helped us perceive that whole
developer expertise was actually vital.”
Every survey is shipped to
a random pattern of roughly half of their builders. With this method,
particular person builders solely have to take part in a single survey per yr,
minimizing the general time spent on filling out surveys whereas nonetheless
offering a statistically vital consultant set of information outcomes.
The Tech Enablement & Developer Expertise group can be accountable for
analyzing and sharing the findings from their surveys with leaders throughout
the group.
For extra on Peloton’s developer expertise survey, listen to this
interview
with Thansha Sadacharam.
Advocating for qualitative metrics
Executives are sometimes skeptical concerning the reliability or usefulness of
qualitative metrics. Even extremely scientific organizations like Google have
needed to overcome these biases. Engineering leaders are inclined towards
system metrics since they’re accustomed to working with telemetry knowledge
for inspecting methods. Nonetheless, we can not depend on this similar method for
measuring individuals.
Keep away from pitting qualitative and quantitative metrics in opposition to one another.
We’ve seen some organizations get into an inside “battle of the
metrics” which isn’t use of time or vitality. Our recommendation for
champions is to keep away from pitting qualitative and quantitative metrics in opposition to
one another as an both/or. It’s higher to make the argument that they’re
complementary instruments – as we cowl on the finish of this text.
We’ve discovered that the underlying explanation for opposition to qualitative knowledge
are misconceptions which we handle beneath. Later on this article, we
define the distinct advantages of self-reported knowledge reminiscent of its capacity to
measure intangibles and floor essential context.
False impression: Qualitative knowledge is just subjective
Conventional office surveys usually give attention to the subjective
opinions and emotions of their workers. Thus many engineering leaders
intuitively consider that surveys can solely accumulate subjective knowledge from
builders.
As we describe within the following part, surveys can even seize
goal details about information or occasions. Google’s DevOps Research and
Assessment (DORA) program is a superb concrete
instance.
Some examples of goal survey questions:
- How lengthy does it take to go from code dedicated to code efficiently
operating in manufacturing? - How typically does your group deploy code to manufacturing or
launch it to finish customers?
False impression: Qualitative knowledge is unreliable
One problem of surveys is that individuals with all method of backgrounds
write survey questions with no particular coaching. In consequence, many
office surveys don’t meet the minimal requirements wanted to supply
dependable or legitimate measures. Effectively designed surveys, nonetheless, produce
correct and dependable knowledge (we offer steerage on how to do that later in
the article).
Some organizations have issues that individuals might lie in surveys. Which
can occur in conditions the place there may be worry round how the info shall be
used. In our expertise, when surveys are deployed as a software to assist
perceive and enhance bottlenecks affecting builders, there isn’t any
incentive for respondents to lie or recreation the system.
Whereas it’s true that survey knowledge isn’t at all times 100% correct, we regularly
remind leaders that system metrics are sometimes imperfect too. For instance,
many organizations try and measure CI construct instances utilizing knowledge aggregated
from their pipelines, solely to search out that it requires vital effort to
clear the info (e.g. excluding background jobs, accounting for parallel
jobs) to supply an correct outcome
The 2 varieties of qualitative metrics
There are two key varieties of qualitative metrics:
- Attitudinal metrics seize subjective emotions, opinions, or
attitudes towards a selected topic. An instance of an attitudinal measure would
be the numeric worth captured in response to the query: “How happy are
you along with your IDE, on a scale of 1-10?”. - Behavioral metrics seize goal information or occasions pertaining to an
people’ work experiences. An instance of a behavioral measure could be the
amount captured in response to the query: “How lengthy does it take so that you can
deploy a change to manufacturing?”
We’ve discovered that almost all tech practitioners overlook behavioral measures
when occupied with qualitative metrics. This happens regardless of the
prevalence of qualitative behavioral measures in software program analysis, such
because the Google’s DORA program talked about earlier.
DORA publishes annual benchmarks for metrics reminiscent of lead time for
adjustments, deployment frequency, and alter fail fee. Unbeknownst to many,
DORA’s benchmarks are captured utilizing qualitative strategies with the survey
gadgets proven beneath:
Lead time
For the first software or service you’re employed on,
what’s your lead time for adjustments (that’s, how lengthy does it take to go
from code dedicated to code efficiently operating in manufacturing)?
Greater than six months
One to 6 months
One week to 1 month
Sooner or later to 1 week
Lower than at some point
Lower than one hour
Deploy frequency
For the first software or service you
work on, how typically does your group deploy code to manufacturing or
launch it to finish customers?
Fewer than as soon as per six months
Between as soon as per 30 days and as soon as each six months
Between as soon as per week and as soon as per 30 days
Between as soon as per day and as soon as per week
Between as soon as per hour and as soon as per day
On demand (a number of deploys per day)
Change fail proportion
For the first software or service you’re employed on, what
proportion of adjustments to manufacturing or releases to customers end in
degraded service (for instance, result in service impairment or service
outage) and subsequently require remediation (for instance, require a
hotfix, rollback, repair ahead, patch)?
0–15%
16–30%
31–45%
46–60%
61–75%
76–100%
Time to revive
For the first software or service you’re employed on, how lengthy
does it usually take to revive service when a service incident or a
defect that impacts customers happens (for instance, unplanned outage, service
impairment)?
Greater than six months
One to 6 months
One week to 1 month
Sooner or later to 1 week
Lower than at some point
Lower than one hour
We’ve discovered that the power to gather attitudinal and behavioral knowledge
on the similar time is a strong good thing about qualitative measurement.
For instance, behavioral knowledge would possibly present you that your launch course of
is quick and environment friendly. However solely attitudinal knowledge might inform you whether or not it
is easy and painless, which has vital implications for developer
burnout and retention.
To make use of a non-tech analogy: think about you feel sick and go to a
physician. The physician takes your blood strain, your temperature, your coronary heart
fee, and so they say “Effectively, it seems such as you’re all good. There’s nothing
fallacious with you.” You’ll be stunned! You’d say, “Wait, I’m telling
you that one thing feels fallacious.”
The advantages of qualitative metrics
One argument for qualitative metrics is that they keep away from subjecting
builders to the sensation of “being measured” by administration. Whereas we’ve
discovered this to be true – particularly when in comparison with metrics derived from
builders’ Git or Jira knowledge – it doesn’t handle the principle goal
advantages that qualitative approaches can present.
There are three fundamental advantages of qualitative metrics in the case of
measuring developer productiveness:
Qualitative metrics let you measure issues which might be in any other case
unmeasurable
System metrics like lead time and deployment quantity seize what’s
taking place in our pipelines or ticketing methods. However there are various extra
points of builders’ work that must be understood in an effort to enhance
productiveness: for instance, whether or not builders are in a position to keep within the stream
or work or simply navigate their codebases. Qualitative metrics allow you to
measure these intangibles which might be in any other case troublesome or not possible to
measure.
An attention-grabbing instance of that is technical debt. At Google, a research to
establish metrics for technical debt included an evaluation of 117 metrics
that had been proposed as potential indicators. To the frustration of
Google researchers, no single metric or mixture of metrics had been discovered
to be legitimate indicators (for extra on how Google measures technical debt,
listen to this interview).
Whereas there might exist an undiscovered goal metric for technical
debt, one can suppose that this can be not possible resulting from the truth that
evaluation of technical debt depends on the comparability between the present
state of a system or codebase versus its imagined preferrred state. In different
phrases, human judgment is important.
Qualitative metrics present lacking visibility throughout groups and
methods
Metrics from ticketing methods and pipelines give us visibility into
a few of the work that builders do. However this knowledge alone can not give us
the complete story. Builders do a whole lot of work that’s not captured in tickets
or builds: for instance, designing key options, shaping the path of a
mission, or serving to a teammate get onboarded.
It’s not possible to achieve visibility into all these actions by means of
knowledge from our methods alone. And even when we might theoretically accumulate
all the info by means of methods, there are further challenges to capturing
metrics by means of instrumentation.
One instance is the problem of normalizing metrics throughout completely different
group workflows. For instance, when you’re making an attempt to measure how lengthy it takes
for duties to go from begin to completion, you would possibly attempt to get this knowledge
out of your ticketing software. However particular person groups typically have completely different
workflows that make it troublesome to supply an correct metric. In
distinction, merely asking builders how lengthy duties usually take could be
a lot easier.
One other frequent problem is cross-system visibility. For instance, a
small startup can measure TTR (time to revive) utilizing simply a problem
tracker reminiscent of Jira. A big group, nonetheless, will possible have to
consolidate and cross-attribute knowledge throughout planning methods and deployment
pipelines in an effort to acquire end-to-end system visibility. This is usually a
yearlong effort, whereas capturing this knowledge from builders can present a
baseline shortly.
Qualitative metrics present context for quantitative knowledge
As technologists, it’s simple to focus closely on quantitative measures.
They appear clear and clear, afterall. There’s a threat, nonetheless, that the
full story isn’t being instructed with out richer knowledge and that this may increasingly lead us
into specializing in the fallacious factor.
One instance of that is code evaluation: a typical optimization is to attempt to
pace up the code evaluation. This appears logical as ready for a code evaluation
could cause wasted time or undesirable context switching. We might measure the
time it takes for opinions to be accomplished and incentivize groups to enhance
it. However this method might encourage detrimental conduct: reviewers speeding
by means of opinions or builders not discovering the correct specialists to carry out
opinions.
Code opinions exist for an vital goal: to make sure prime quality
software program is delivered. If we do a extra holistic evaluation – specializing in the
outcomes of the method moderately than simply pace – we discover that optimization
of code evaluation should guarantee good code high quality, mitigation of safety
dangers, constructing shared data throughout group members, in addition to guaranteeing
that our coworkers aren’t caught ready. Qualitative measures can assist us
assess whether or not these outcomes are being met.
One other instance is developer onboarding processes. Software program growth
is a group exercise. Thus if we solely measure particular person output metrics such
as the speed new builders are committing or time to first commit, we miss
vital outcomes e.g. whether or not we’re absolutely using the concepts the
builders are bringing, whether or not they really feel secure to ask questions and if
they’re collaborating with cross-functional friends.
Methods to seize qualitative metrics
Many tech practitioners don’t understand how troublesome it’s to put in writing good
survey questions and design good survey devices. In truth, there are
complete fields of research associated to this, reminiscent of psychometrics and
industrial psychology. You will need to convey or construct experience right here
when doable.
Beneath are few good guidelines for writing surveys to keep away from the most typical
errors we see organizations make:
- Survey gadgets must be rigorously worded and each query ought to solely ask
one factor. - If you wish to evaluate outcomes between surveys, watch out about altering
the wording of questions such that you just’re measuring one thing completely different. - When you change any wording, you should do rigorous statistical exams.
In survey parlance, ”good surveys” means “legitimate and dependable” or
“demonstrating good psychometric properties.” Validity is the diploma to
which a survey merchandise truly measures the assemble you need to measure.
Reliability is the diploma to which a survey merchandise produces constant
outcomes out of your inhabitants and over time.
One mind-set about survey design that we’ve discovered useful to
tech practitioners: consider the survey response course of as an algorithm
that takes place within the human thoughts.
When a person is offered a survey query, a collection of psychological
steps happen in an effort to arrive at a response. The mannequin beneath is from
the seminal 2012 ebook, The Psychology of Survey
Response:
Element | Particular Processes |
---|---|
Comprehension |
Attend to questions and directions Symbolize logical type of query Establish query focus (info sought) Hyperlink key phrases to related ideas |
Retrieval |
Generate retrieval technique and cues Retrieve particular, generic reminiscences Fill in lacking particulars |
Judgment |
Assess completeness and relevance of reminiscences Draw inferences primarily based on accessibility Combine materials retrieved Make estimate primarily based on partial retrieval |
Response |
Map Judgement onto response class Edit response |
Decomposing the survey response course of and inspecting every step
can assist us refine our inputs to supply extra correct survey outcomes.
Creating good survey gadgets requires rigorous design, testing, and
evaluation – similar to the method of designing software program!
However good survey design is only one side of operating profitable surveys.
Extra challenges embody participation charges, knowledge evaluation, and realizing
find out how to act on knowledge. Beneath are a few of the greatest practices we’ve
discovered.
Section outcomes by group and persona
A standard mistake made by organizational leaders is to give attention to companywide
outcomes as an alternative of information damaged down by group and persona (e.g., function, tenure,
seniority). As beforehand described, developer expertise is very contextual
and might differ radically throughout groups or roles. Focusing solely on combination
outcomes can result in overlooking issues that have an effect on small however vital
populations throughout the firm, reminiscent of cellular builders.
Examine outcomes in opposition to benchmarks
Comparative evaluation can assist contextualize knowledge and assist drive motion. For
instance, developer sentiment towards code high quality generally skews detrimental, making
it troublesome to establish true issues or gauge their magnitude. The extra
actionable knowledge level is: “are our builders extra annoyed about code
high quality than different groups or organizations?” Groups with decrease sentiment scores
than their friends and organizations with decrease scores than their trade friends
can floor notable alternatives for enchancment.
Use transactional surveys the place acceptable
Transactional surveys seize suggestions throughout particular touchpoints or
interactions within the developer workflow. For instance, platform groups can use
transactional surveys to immediate builders for suggestions whereas they’re within the midst of
creating a brand new service in an inside developer portal. Transactional surveys can
additionally increase knowledge from periodic surveys by producing higher-frequency suggestions and
extra granular insights.
Keep away from survey fatigue
Many organizations battle to maintain excessive participation charges in surveys
over time. Lack of follow-up could cause builders to really feel that
repeatedly responding to surveys isn’t worthwhile. It’s subsequently
essential that leaders and groups observe up and take significant motion after surveys.
Whereas a quarterly or
semi-annual survey cadence is perfect for many organizations, we’ve seen some
organizations achieve success with extra frequent surveys which might be built-in into
common group rituals reminiscent of retrospectives.
Survey Template
Beneath are a easy set of survey questions for getting began. Load the questions
beneath into your most popular survey software, or get began shortly by making a replica of our ready-to-go
Google Forms template.
The template is deliberately easy, however surveys typically turn out to be fairly sizable as your measurement
technique matures. For instance, Shopify’s developer survey is 20-minutes
lengthy and Google’s is over 30-minutes lengthy.
After you have collected responses, rating the a number of alternative questions
utilizing both imply or high field scoring. Imply scores are calculated by
assigning every possibility a worth between 1 and 5 and taking the common.
High field scores are calculated by the odds of responses that
select one of many high two most favorable choices.
You’ll want to evaluation open textual content responses which might include nice
info. When you’ve collected a lot of feedback, LLM instruments
reminiscent of ChatGPT could be helpful for extracting core themes and
solutions. While you’ve completed analyzing outcomes, make sure you share
your findings with respondents so their time filling out the survey
feels worthwhile.
How simple or troublesome is it so that you can do work as a
developer or technical contributor at [INSERT ORGANIATION NAME]?
Very troublesome
Considerably troublesome
Neither simple nor troublesome
Considerably simple
Very simple
For the first software or service you’re employed on, what
is your lead time for adjustments (that’s, how lengthy does it take to go
from code dedicated to code efficiently operating in
manufacturing)?
Multiple month
One week to 1 month
Sooner or later to 1 week
Lower than at some point
Lower than one hour
How typically do you’re feeling extremely productive in your
work?
By no means
Somewhat of the time
Among the time
More often than not
The entire time
Please fee your settlement or disagreement with the next
statements:
My group follows growth greatest practices | □ | □ | □ | □ | □ |
I’ve sufficient time for deep work. | □ | □ | □ | □ | □ |
I’m happy with the quantity of automated take a look at protection in my mission. |
□ | □ | □ | □ | □ |
It is simple for me to deploy to manufacturing. | □ | □ | □ | □ | □ |
I am happy with the standard of our CI/CD tooling. | □ | □ | □ | □ | □ |
My group’s codebase is straightforward for me to contribute to. | □ | □ | □ | □ | □ |
The quantity of technical debt on my group is suitable primarily based on our targets. | □ | □ | □ | □ | □ |
Specs are repeatedly revisited and reprioritized in keeping with person alerts. | □ | □ | □ | □ | □ |
Please share any further suggestions on how your developer expertise may very well be improved
[open textarea]
Utilizing qualitative and quantitative metrics collectively
Qualitative metrics and quantitative metrics are complementary approaches
to measuring developer productiveness. Qualitative metrics, derived from
surveys, present a holistic view of productiveness that features each subjective
and goal measurements. Quantitative metrics, alternatively, present
distinct benefits as nicely:
- Precision. People can inform you whether or not their CI/CD builds are usually
quick or sluggish (i.e., whether or not durations are nearer to a minute or an hour), however
they can’t report on construct instances all the way down to millisecond precision. Quantitative
metrics are wanted when a excessive diploma of precision is required in our
measurements. - Continuity. Sometimes, the frequency at which a company can survey
their builders is at most a few times per quarter. In an effort to accumulate extra
frequent or steady metrics, organizations should collect knowledge
systematically.
Finally, it’s by means of the mix of qualitative and quantitative metrics – a mixed-methods method –
that organizations can acquire most visibility into the productiveness and
expertise of builders. So how do you utilize qualitative and quantitative
metrics collectively?
We’ve seen organizations discover success once they begin with qualitative
metrics to ascertain baselines and decide the place to focus. Then, observe with
quantitative metrics to assist drill in deeper into particular areas.
Engineering leaders discover this method to be efficient as a result of qualitative
metrics present a holistic view and context, offering vast understanding of
potential alternatives. Quantitative metrics, alternatively, are
usually solely obtainable for a narrower set of the software program supply
course of.
Google equally advises its engineering leaders to go to survey knowledge first
earlier than logs knowledge because of this. Google engineering researcher
Ciera Jaspan explains: “We encourage leaders to go to the survey knowledge first,
as a result of when you solely take a look at logs knowledge it would not actually inform you whether or not
one thing is nice or dangerous. For instance, we now have a metric that tracks the time
to make a change, however that quantity is ineffective by itself. You do not know, is
this factor? Is it a foul factor? Do we now have an issue?”.
A combined strategies method permits us to make the most of the advantages of
each qualitative and quantitative metrics whereas getting a full perceive of
developer productiveness:
- Begin with qualitative knowledge to establish your high alternatives
- As soon as you already know what you wish to enhance, use quantitative metrics to
drill-in additional - Observe your progress utilizing each qualitative and quantitative metrics
It’s only by combining as a lot knowledge as doable – each qualitative and
quantitative – that organizations can start to construct a full understanding of
developer productiveness.
Ultimately, nonetheless, it’s vital to recollect: organizations spend loads
on extremely certified people that may observe and detect issues that log-based
metrics can’t. By tapping into the minds and voices of builders,
organizations can unlock insights beforehand seen as not possible.