Live data from Hacker News

Engineering productivity can be measured, just not how you'd expect

okayhq.com

31–40 of 122 posts

Re: Engineering productivity can be measured, just not how you'd expect

#31
post #10

"Measuring blockers" may make unfair scapegoats out of undersized teams.

If your team is a constant blocker because you're undersized, you should be given more headcount, or some responsibilities should be shifted around. That's then necessary to upper management in order to remove the blocker.

(Assuming an org that's making a genuine attempt to improve, versus just a cynical blame game. But in the latter case... you're screwed sooner or later anyway.)

Re: Engineering productivity can be measured, just not how you'd expect

#32
The process of abstracting away people into units of productivity is common approach to Software Engineering management.

It has failed every time.

When the latest management fad fails to live up to expectations, new terminology are created to hide the failed management fad. New terminology simply replaces the old terminology and they can now sell new and improved management concepts again and again.

Software Engineering is extremely difficult. That's why successful Software Engineering companies are highly valued as unicorns. The companies have temporarily captured the right type of people tackling right type of problems and delivered right type of Software Engineering solutions. The process can not be replicated. That's why it's so valuable and worth Trillions of dollars.

There's no other Microsoft. There's no other Apple. There's no other Google.

These are unique companies with unique products that provide value to customers. It took years and decades of Software Engineering man hours to iterate until they delivered the valuable software solutions.

Lot of these Software Engineering management fads are trying to capture something that does not exist.

Productive Software Engineers are exceptional. Sooner Software Engineers understand that paradigm, the better they will be able to value themselves and be more effective.

Re: Engineering productivity can be measured, just not how you'd expect

#33
post #23
post #10

"Measuring blockers" may make unfair scapegoats out of undersized teams.

Can you explain why you think this will happen to undersized teams more often? If it's an indication that something is wrong with the team, I think that's still helpful. For instance, if the team does not have the right experience and are often blocked waiting for someone else's answer to a question, it might make sense to work on team composition. It's not about blaming people or teams, but about improving flow.

Just have seen it quite a lot. QA, Ops, etc, are often viewed as a cost center and thus underfunded. It's common to then challenge the "productivity" versus looking at whether the team is undersized or funded.

Re: Engineering productivity can be measured, just not how you'd expect

#34
Measuring engineering can be a slippery slope towards stack ranking performance -- which ultimately hurts performance and culture.

I think you have to measure with the intent to improve how your team works. If a manager can measure at the team level and open up visibility into the development process, they can hopefully find where things get frustrating (ex. waiting for someone to review a PR).

That said, there seem to be more mature tools out there than OKAY's beta. There's a discord server called dev interrupted that talks about this stuff a lot.

Re: Engineering productivity can be measured, just not how you'd expect

#35
A lot of the questions listed heavily overlap with what I would expect to be covered in team retrospectives.

A team reflecting on progress at regular intervals will naturally bring up processes, meetings, tools, etc, and a manager or team lead can easily add these questions into the mix for reflection and/or discussion as part of this process.

The key distinction from this seems to be hidden in the line "Finally, turn all these questions into metrics" - but the article could definitely do a better job of highlighting the differences between their "solution" and retrospectives (as well as more general good management practices like talking to your team).

There are some interesting ideas in there that seem tied to their product (https://www.okayhq.com), but the article doesn't really progress far enough past the high level ideas to be practical and rather a lot is left as an exercise for the reader!

Re: Engineering productivity can be measured, just not how you'd expect

#36
post #33
post #23

Earlier quoted context omitted.

Can you explain why you think this will happen to undersized teams more often? If it's an indication that something is wrong with the team, I think that's still helpful. For instance, if the team does not have the right experience and are often blocked waiting for someone else's answer to a question, it might make sense to work on team composition. It's not about blaming people or teams, but about improving flow.

Just have seen it quite a lot. QA, Ops, etc, are often viewed as a cost center and thus underfunded. It's common to then challenge the "productivity" versus looking at whether the team is undersized or funded.

> It's common to then challenge the "productivity" versus looking at whether the team is undersized or funded.

This exactly. The typical management "solution" is to identify and fire "poor performers" (thereby creating fear, mistrust, and an incentive to look for other jobs) while ordering everyone else to "work harder" for longer hours (with the implied threat that you will lose your job if you don't.)

Re: Engineering productivity can be measured, just not how you'd expect

#37
But how do you get anyone up the food chain to care? I’ve never witnessed that anywhere I’ve worked. If you took things like team surveys, code review load, meeting load, etc., and tried to make a case that changes are needed, you’ll get laughed out of the room.

The only metrics that will matter are “did you get the stuff done that we wanted?” (where “stuff we wanted” is defined vaguely and the meaning shifts to suit product leaders ever changing political landscape), “did you get it done really fast?” (where “fast” is vaguely defined according to product political circumstances and never puts any weight on engineering estimates, staffing needs, or resource limits) and “did you get it done cheaply?” (where “cheap” is defined vaguely based on various internal politics and budget turf wars as well as larger company financials - and when the money is good and no one looks too hard at this, it allows sweeping other issues under the rug, no one cares if you burnt a quarter working on the wrong problems).

Assessing effectiveness, in principle, is purely a political concept that operates from the top down.

This has been true in every company I’ve worked for or knew a colleague or friend who worked there - from tiny “lean” startups to extreme cultures like Bridgewater to every mid-sized or large tech company.

Re: Engineering productivity can be measured, just not how you'd expect

#38
post #3

Earlier quoted context omitted.

Sadly business people want to fire you when you're seemingly doing nothing (as in coming to work on time, doing your job without stress and conflict, going home on time)... Even if all the business goals were met, they just can't stomach someone not working their asses off 24/7 for them.

well, yeah. if you don't have air cover from a team or manager and don't appear to be engaged in shared suffering, it's no surprise people are going to ask questions, both from above and equal level. other labor will resent your non-suffering (how come /they/ get to leave on time?) and management will wonder whose reports get such a cushy setup and why.

The thing is, there might be no suffering one is "avoiding" - the business people are often sitting around drinking coffee and beer, cracking jokes, watching developers' backs.

Re: Engineering productivity can be measured, just not how you'd expect

#39
> Just as a sports team wins or loses together, so too should the engineering team be treated as the fundamental unit of success.

A sports team has a play book, does your team? A sports team practices together, does your team? A sports team works as a unit, does your team?

Too many times I have see engineering teams as only a team on the org chart In reality they solve tickets as individuals with only a small interaction from pull requests. Otherwise they might as well not even know each other. They are a team not as in basketball or football, but like golf where once you get to the tee, it's you and only you to get the ball in the hole.

Re: Engineering productivity can be measured, just not how you'd expect

#40

Measuring engineering can be a slippery slope towards stack ranking performance -- which ultimately hurts performance and culture. I think you have to measure with the intent to improve how your team works. If a manager can measure at the team level and open up visibility into the development process, they can hopefully find where things get frustrating (ex. waiting for someone to review a PR). That said, there seem…

I'm currently working on a solution that will try to quantify software development health, and what I've learned from analyzing thousands of popular open source projects, is you don't want a single individual to stand out. You want work to be fairly distributed to reduce knowledge risk.

If you look at the busfactor section for the vscode and gitlab repository

https://imgur.com/NfgvvTy (vscode)

https://imgur.com/DK7rvfx (gitlab)

You'll find they both have a large cluster of developers in zone 2. For developers to exist in zone 2, they have to have medium to high impact on the code that they worked on, but not clash with others. If you look at the vuejs-next repository

https://imgur.com/eDAOyPW (vuejs)

You can see it's actually a pretty fragile project, since Evan is responsible for pretty much everything.

Based on what I've observed by studying successful open source projects, you actually want to discourage "very high impact" employees, since they introduce knowledge risk.

Edit: The metrics that I'm showing is limited to the last 90 days for Typescript, Javascript and CSS code.

Post reply on HN