• RedstoneValley@sh.itjust.works
    link
    fedilink
    arrow-up
    71
    arrow-down
    2
    ·
    1 year ago

    I don’t like this story. The outcome is only accidentally good and what the author seems to miss entirely is the elephant in the room: A crass failure to communicate with the developers. If you try to establish something like KPIs (not commenting on if that is good or bad here) you need to talk to the team and get them on board. If you treat them like lab rats and try to measure individual performance from the outside that is an obvious fail. In the end, where they state that they “quietly” dropped it, indicates that the real lesson was not learned.

    Uh, and a dilbert comic.

  • TehPers@beehaw.org
    link
    fedilink
    English
    arrow-up
    35
    ·
    1 year ago

    Story points and velocity always felt to me like a flawed metric. It encourages volume of work, and discourages quality of work. The worse your code is, the more stories and tasks you can create to fix it, and the higher your velocity. It’s a bit of a shame that it’s used so widely as a measurement of work completed, and I wish a better means of measuring productivity would become more popular instead.

    • Lichtblitz@discuss.tchncs.de
      link
      fedilink
      arrow-up
      29
      arrow-down
      1
      ·
      1 year ago

      It’s not flawed. Nobody should get rewarded or encouraged by story points. It’s solely a planning metric and not a metric of productivity.

      • TehPers@beehaw.org
        link
        fedilink
        English
        arrow-up
        6
        arrow-down
        1
        ·
        edit-2
        1 year ago

        I guess the flaw is that it’s (almost) never used only for planning and is often used as a metric of productivity, from my experience. It becomes a competition to see who can check off the most story points, and velocity is often used to compare developers against each other.

        • Lichtblitz@discuss.tchncs.de
          link
          fedilink
          arrow-up
          6
          ·
          1 year ago

          […] and velocity is often used to compare developers against each other.

          Wow, that’s messed up. Luckily I’ve never had such a team/such leadership.

          • Dark ArcA
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 year ago

            Yeah I’ve seen it, it about burned the company to the ground too over exodus of talented personnel… so… managers beware

    • sebsch@discuss.tchncs.de
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      1 year ago

      Story points are meant to have a shared understanding about complexity during the planning phase. There where never meant (and do not fit) for either capacy planning or to measure the throughput.

      If your PO is using this he or she is either not well informed and/or uses this as a tool to create toxic pressure.

  • TootSweet@lemmy.world
    link
    fedilink
    English
    arrow-up
    32
    arrow-down
    2
    ·
    1 year ago

    Darn. I went into that article hoping to hear a hillarious article about some coder who insisted on using only his self-written buggy bubble sort implementation rather than the sort methods in the standard library or who they couldn’t get to quit deleting necessary features from the codebase.

    Good story even so.

  • aordogvan@lemmy.world
    link
    fedilink
    arrow-up
    28
    arrow-down
    2
    ·
    1 year ago

    Not sure why this post doesn’t have a ton of comments. It illustrates the fundamental problem with KPIs and performance measurement. When it comes to measuring human production with digital tools, because the binary measure is so restrictive, it leaves out a universe of values and information that is just ignored as a result. And this very often has dramatic consequences.

    • xantoxis@lemmy.world
      link
      fedilink
      arrow-up
      18
      ·
      1 year ago

      Posts tend to generate a lot of comments by:

      1. being funny, spurring people to try to be funnier (usually failing); or,

      2. by being interactive, spurring people to answer a prompt in the premise of the post; or,

      3. by being controversial, spurring people to argue.

      This isn’t particularly funny or interactive. And it’s not very controversial either; I think most programmers will agree with this premise.

      • Clent@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        4
        ·
        1 year ago

        Did my best with #3 but I continue to suspect most of the people in these fediverses are very young and therefore inexperienced.

        I’ve stated an opinion that aligns with what I’ve read in the hacker news discussion and the responses are aggressive.

        Cargo cult is strong here. No discussions will form while the ditto heads carry the majority.

        • Bonehead@kbin.social
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          I’m 45 years old with over 20 years of IT experience. I felt I’ve been very reasonable in my responses. Meanwhile, you’ve accused me of “making shit up”, and dismissed someone with experience in machine learning with a background in algorithms and high performance computing as “not a software engineer”.

          You’re not being controversial, you’re just being a troll.

          • Clent@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            4
            ·
            1 year ago

            You feel dismissed, I say classified.

            IT experience is not equivalent to software developer experience.

            Machine learning and running high performance are hand in hand.

            But machine learning is not software engineering, it tool usage. It’s not the same job title.

            I do know why you are taking this comment personally since it wasn’t even directed at you but the other responses.

            • Bonehead@kbin.social
              link
              fedilink
              arrow-up
              4
              ·
              1 year ago

              I do know why you are taking this comment personally since it wasn’t even directed at you but the other responses.

              I assume you meant that you don’t know why, but it’s because you’re not arguing in good faith. You dismiss anyone that disagrees as being young and inexperienced, you accused someone of being a bot simply because they wrote 3 small paragraphs in a 12 minute period, and now you’ve dismissed all experience if it’s not a specific type of software development role.

              As soon as its apparent that someone isn’t just blindly accepting your arguments, you go straight to ad hominem. If you can’t form an argument without resorting to insults, you’ve already lost…

              • Clent@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                arrow-down
                5
                ·
                1 year ago

                You at not point attempt to refute any of my points.

                You want to feel attacked, nothing I can do about that.

                I wasn’t dismissing you but I will now.

    • wavefunction@lemmy.sdf.org
      link
      fedilink
      arrow-up
      7
      ·
      1 year ago

      Myopic decision-making is a standard human fault. The problem is that some Deciders have wildly disproportionate effects on everyone else. (i.e. leadership roles across business and government)

      We can’t fix individual ignorance and prejudice to a level that will resolve the issue, so maybe we need to invest our efforts in forcibly distributing power to make sure one person (or a small group) can’t unilaterally ruin thousands or millions of lives.

  • Clent@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    13
    ·
    1 year ago

    This is too simplistic in the opposite direction.

    What is with the team that Tim is only pairing.

    Are they constantly hiring? Are the hires bad?

    If Tim unable to transfer his knowledge, basically holding their hand, making bad hires look worth keeping…he’s actually hurting the company.

    If Tim is not increasing their solo performance then something is wrong.

    • Bonehead@kbin.social
      link
      fedilink
      arrow-up
      13
      ·
      1 year ago

      You misread that entire thing. It’s not that the team was bad, or that there was any significant turnover. Nor is Tim unable to transfer his knowledge, since that’s not the point of what he does.

      He’s a sounding board. A sober voice asking the right questions when you’ve got your head down hyperfocused on a problem. Someone to talk to just to make sure you’re on the right track, even though you were pretty sure anyways. The team would still perform without him, but he improves their quality and performance just by standing in for the duck and actually asking the right questions. It’s a very subtle, very delicate job. Not everyone can do it. That’s why they keep Tim on the team.

      • Clent@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        7
        ·
        1 year ago

        I understand the justification.

        I am not convinced.

        There is zero evidence that the team performs better or worse since at no point did Tim stop being Tim. There is no base line.

        If Tim had tried to pick up some points and the result was the rest of the team stumbling, that would be one thing. Tim didn’t, he kept doing his own thing because his team lead is afraid of Tim.

        Tim should be fired.

        • Bonehead@kbin.social
          link
          fedilink
          arrow-up
          8
          ·
          1 year ago

          Spoken like a true beaurocrat who only cares about the individual KPIs. If all you look at is the individual, you’ll miss the performance of the team.

          So you fire Tim. Great! He was a slacker who didn’t produce any story points. Now everyone is working individually. The other seniors don’t have time to help juniors because they have their own stories to work on. Gotta keep those stats up…don’t want to end up like Tim. The juniors start introducing bugs into the code accidentally. That’s not good, their stats are going to go down. Except the one that picks up the bug fixes, his stats look great! He’s sure to get a promotion doing nothing but fixing everyone else’s mistakes. Then the other juniors start catching on, and start pickup up their own bug fixes that they introduced. Now the juniors are spending about half their time fixing bugs they created, while seniors start looking like slackers because they don’t produce as many story points. Well something needs to be done about that, because you don’t want to end up like Tim…

          Any points system can be gamed. If all you look at are the numbers, you’ll miss how the team really works.

          • Clent@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            5
            ·
            1 year ago

            A beaurocart? Just going to make shit up about me to fit your head cannon?

            I never said any of the shit you claimed.

            • Bonehead@kbin.social
              link
              fedilink
              arrow-up
              3
              ·
              1 year ago

              If Tim had tried to pick up some points and the result was the rest of the team stumbling, that would be one thing. Tim didn’t, he kept doing his own thing because his team lead is afraid of Tim.

              Tim should be fired.

              In either case, all that matters is whether Tim produced story points or that rest of the team produced enough story points, and that Tim should be fired for not doing that. I’m literally just using you’re own words…

        • Zeth0s@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          1 year ago

          What evidence do one needs other than the opinion of their teammates and lead?

          No one should drop players from a team due to statistics. Otherwise you’d have a non functional team of cheap wannabe-Ronaldos unable to function. Which is the reason kpi based approach fails

          • Clent@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            5
            ·
            1 year ago

            I literally said what evidence could be collected.

            its hilarious how we spend our careers developing complex algorithms, reducing concepts into math and then delude ourselves into thinking the only algorithm that cannot be written is one that evaluates our own performance.

            • Zeth0s@lemmy.world
              link
              fedilink
              arrow-up
              6
              ·
              edit-2
              1 year ago

              Because it cannot be mathematically developed. KPIs as class of algorithm are linear dimensional reductions from a complex hyperspace to a small, arbitrary reference system built on non orthogonal axes, aimed to capture non periodic, non stationary phenomena (i.e. that unpredictably evolve over time).

              Mathematically, performance kpi do not make much sense for most jobs, unless the job is so straightforward that the hyperspace has such low complexity that KPIs are meaningful representation. Not even a call center job has such mathematical characteristics…

              As a task, AGI is mathematically much simpler task.

              However performance kpis are the only thing many have to judge, as they lack technical and personal skills to do otherwise. It’s a tradeoff, but we must recognize that kpi are oversimplifications with extreme loss of information, many time useless

              • Clent@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                arrow-down
                8
                ·
                1 year ago

                That’s quite a lengthy response for the time between my post and your write up.

                Not sure if you’re a bot or just used one to form your thoughts.

                • Zeth0s@lemmy.world
                  link
                  fedilink
                  arrow-up
                  7
                  ·
                  edit-2
                  1 year ago

                  I am a human, who happened to be browsing lemmy when you answered, and work in ML and with a background in algorithms and HPC. It happened to be a lucky coincidence

        • pachrist@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          I disagree.

          If the story is true, Tim coaches the new hires and on boards them into the environment. Tim serves as a sound board for the senior techs, since he’s privy to the larger departmental scope. He is the point of contact for the team.

          The manager telling the story needs to be fired. Tim is doing his job.

          The manager here only serves to add a layer between Tim and management that is ultimately unnecessary, as the story proves.

          Fire the manager. Promote Tim.

          • Clent@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            2
            ·
            1 year ago

            Whoever is “protecting” Tim should be replaced by Tim.

            Tim doesn’t want to code, that’s fine. Not everyone is cut out to be an individual contributor.

            But he is not a senior developer, he is a team lead or a team mentor. He has the wrong title.

    • pixxelkick@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      edit-2
      1 year ago

      It just sounds like Tim was no longer a developer and should have a manager title, as he was training and teaching and on boarding all the time.

      If his title was no longer developer, because he wasn’t doing any development on his own, said metrics wouldn’t apply to him anymore, and the issue would be resolved in a reasonable way.

      • Clent@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        That was a common sentiment on the hacker news discussion on this story.

        I don’t disagree.

    • Vlyn@lemmy.zip
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      2
      ·
      1 year ago

      You never heard of pair programming?

      With juniors Tim would pretty much be training them and nudging them on to write better code.

      With seniors, like the short article says, it’s more a sparring match, trying to find the best solution. You also find a lot of edge cases when someone else works with you together.

      I haven’t been in a company yet where they have a full time floating position for pair programming, but if it’s a senior doing it I can see how it’s very beneficial for product quality.

      • Clent@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        11
        ·
        1 year ago

        Tim should be fired for insubordinate and his lead should be fired for protecting him.

        I get that every shit developer thinks they a Tim or aspires to be one but Tim is a lazy developer doing the fun parts without producing.

        Everyone here is assuming Tim is something because you’ve told he is by the lead.

        It’s troubling.

        • Jax@sh.itjust.works
          link
          fedilink
          arrow-up
          5
          ·
          1 year ago

          Huh, it’s like I’m reading something my nephew wrote. He has a tendency to only read the first few sentences, skim through the story, and come back to his conclusions based on those first few sentences.

          • Clent@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            6
            ·
            1 year ago

            You would be wrong.

            I’ve read the article a couple times now trying to understand why this resonates so hard with some people.

            I have tried to bring up what I feel are valid points and the responses are not engaging with what I’ve discussed but acting like I lack the ability to understand.

            I get that attacking me is easier than addressing my points; I have the social skills of a software engineer after all.

            I like code because there is no arguing. It’s just math.

            People on other hand are caught up in emotions and ego, creating anecdotes to fit their biases.

            I can’t fix the tangled mess of the human mind, but I can fix the crazy spaghetti code those type of people create.

            • Jax@sh.itjust.works
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              Firstly, anecdotes aren’t “created”. Anecdotes happen. The reason a singular anecdote isn’t accepted as fact is because without a pattern between isolated incidents there is no way to prove that an anecdote is not simply another isolated incident.

              Things like this, needing to explain this concept is why I think you don’t understand. Your knowledge of English is clearly rudimentary, and you use words you don’t understand to explain concepts you understand less.

              It is of no surprise to me that someone who doesn’t know how to communicate simultaneously doesn’t see the value in good communication. You are cog, cogs are not required to do anything beyond what they do.