[HN Gopher] I deploy, therefore I am ___________________________________________________________________ I deploy, therefore I am Author : mrdonbrown Score : 29 points Date : 2020-05-14 05:56 UTC (17 hours ago) (HTM) web link (www.sleuth.io) (TXT) w3m dump (www.sleuth.io) | grensley wrote: | That scoreboard sounds particularly toxic. | 0xCMP wrote: | Focusing efforts on smaller+faster deploys (along with some | measure of deploy quality to weigh those deploys) seems like a | far better indicator of a team's velocity than simply tickets | closed. | mrdonbrown wrote: | Exactly. Agreed to all the comments that trying to find a | simple metric for developer productivity is futile, but there | is value in encouraging people to ship more often, and in doing | so, ship smaller things that generally have less risk. Also, | ownership is key here as the person writing the code should be | the one that pushes it to production and owns its impacts, as | I've found this results in higher quality, more sense of | ownership, and quicker incident response and frequency | reduction. | derptron wrote: | I hope this stack ranking tool dies a miserable death. | mnm1 wrote: | So if I deploy one critical, long-term project this month and my | coworkers deploy around ten each say, how does this system know | that the one thing I deployed was actually more valuable and | impactful than all those little deploys? Or do I need to deploy | the unfinished work in progress constantly to keep up the metrics | because this is just another useless measure like lines of code | or commits? | urbleflan wrote: | This is why cycle time is a much more useful metric. The book | "Accelerate" shows what a mature conversation around software | metrics should look like. | | EDIT: To be fair, my point may not directly address yours. | "Value" is still a tough thing to determine. | asdf21 wrote: | Exactly. ^ | | Personally, I like to try to track how many times functions | have been called (if possible), where bottlenecks are and if | they make sense (is there some trade-off that necessitated | them), and overall module usage. | | That gives a more generally clear picture of performance. | mrdonbrown wrote: | Assuming your project supported continuous development, I'd | probably say you should break that project up into multiple | deployments, ideally hidden behind a flag and each easily | revertable. This would reduce the risk of each step and | hopefully eliminate a whole host of potential incidents. | inertiatic wrote: | How does code hidden behind a flag become less risky if it's | deployed in increments? | | You will only find out when you allow it to run. | mrdonbrown wrote: | Well, for example, say you were adding a new preference | page. First, I'd do a deploy of the new database table(s), | even though they aren't used. Then, I'd add a link to the | page in the UI and put that behind a flag, maybe with a | small non-functional UI so that the designer could play | with it. Then, I'd implement the basic functionality and | open it up to my team to start playing with it. Then, I'd | ship other deploys for things like tests, more edge cases, | UI tweaks, etc. | | At some point in there, I'd open that page up to my beta | customers, trial customers, or whoever is less risk- | adverse. Once I'm happy with it, I'd do a percentage | rollout to ensure any issues don't affect all customers at | once. Just an example, but the idea is to reduce risk of | each step and make each step easily reversable/hidden if | something comes up. | Ididntdothis wrote: | I really wish people would stop trying to reduce software | development to simple metrics. Number of deploys is as | meaningless as lines of code or number of story points as a | metric for judging people's performance. | CameronNemo wrote: | Management is always looking for shortcuts and ways too avoid | the difficult job of evaluating people's performance in an | objective manner. They see scoreboards, and due dates, and | activity streams as important tools for observability. But what | they miss out on is the end performance of the actual product, | and how individuals played a role in improving or worsening | that performance. | Ididntdothis wrote: | It seems all these short term metrics lead to people picking | the simplest tasks and processing them at high volume. I | could easily up my story point output by 10x if I picked the | simplest bugs and stories from the backlog. Instead I take | the most difficult ones where there often is no output for | several weeks or longer. Thank god my manger sees the value | in that. I would hate an environment where my output is | measured in day or hour increments. | not_a_moth wrote: | It does indicate a culture where there aren't massive barriers | to getting changes in. | | I worked at one startup on the AI team, and we were allowed to | deploy at will, we iterated constantly, pushed multi times a | day, and had a flat hierarchy. We weren't under the political | umbrella of the engineering and product groups. It was | definitely risky but no major issues ever came from it and we | gained the trust of DevOps team and our CTO. | | The back end team, different managers, was very hierarchical, | had to schedule deploys well in advance and inside certain time | windows, and non technical engineering managers would monitor | and send summary emails to everyone after each deploy. | | Guess what, that back end team sucked. Their timelines for | features were embarrassingly long, they watched the clock, | their managers loved to booze, they overcomplicated the | architecture and never produced anything innovative for the | company. | | Deploys can signal culture. | Ididntdothis wrote: | "Deploys can signal culture." | | They can signal culture maybe. But if you tell your back end | team that you think their culture is bad because of not | enough deploys they will crank up the number of deploys | without fixing any of the deeper issues. All metrics like | number of deploys , tickets closed , story points, number of | commits are interesting data points but you should never try | to optimize for them. Doing so signals lazy management that | likes to beat around the bushes. | rcfox wrote: | Deploys is perhaps a good metric for engineers looking at | managers, but not managers looking at engineers. (And | definitely not managers looking at managers!) | majormajor wrote: | Numbers tell you what is happening, not why it is happening. | | If you see interesting numbers, you need to figure out the | why, before just trying to move the numbers. | mcny wrote: | > I really wish people would stop trying to reduce software | development to simple metrics. Number of deploys is as | meaningless as lines of code or number of story points as a | metric for judging people's performance. | | I mostly agree. I for one am a big fan of "painless" deploys. | To me it means we should be able to deploy pretty much when we | want to... | | My manager (also a programmer in previous life) once explained | to me (privately) is we are neither waterfall nor agile or | anything like that. We need to first have a repeatable process | before we can even think about those things. (Officially, we | were "agile" but that's beyond our pay grade.) | Ididntdothis wrote: | "I mostly agree. I for one am a big fan of "painless" | deploys. To me it means we should be able to deploy pretty | much when we want to..." | | That's a good goal. | mpoteat wrote: | As other people have specified in this thread, the underlying | problem is Goodhart's Law, i.e. these performance tracking | systems break down when pressure is applied to them. | jacques_chester wrote: | There's a difference between "measurement will fail when there | is poor management" and "measurement will always fail". | | But having said that, a _leaderboard_ seems like a handing out | poor management tokens. | bluehatbrit wrote: | There's a reason the execs thinks in terms of revenue, cost, and | profit. Why would you want your engineers, designers, or anyone | abstracted away from that? From my experience, every time you try | to do that you end up with the business and the workforce | misaligned. | | It's not always easy to quantify value, and sometimes the return | on an investment is slow and that can be unattractive. However, | that doesn't mean we should try and hide away from figuring out | the true value of work in business terms. | | In my opinion, we should judge the impact and effectiveness on | the base line metrics as the rest of the org. In a for profit | company that's measures such as increasing customer spend, | increasing conversion rates, reducing churn, reducing operational | costs. All of those measures can be directly tied to revenue, | costs, and profit. It's the language the business speaks, why | would you want to speak a different language to the rest of the | business? More than that, why would you want to start measuring | performance in a different way to the rest of the business? ___________________________________________________________________ (page generated 2020-05-14 23:00 UTC)