What is your opinion about full-stack teams? I’m referring to teams where the desire is for every member to competently contribute at every point in the stack.

  • Do they work?
  • What has been your experience?
  • Does team size and/or experience level inform your opinion?
  • Do you notice an increase/decrease in quality?
  • Do you notice an increase/decrease in team and product cohesion?
    • marcos@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      11 months ago

      You mean people taking ages to release because the work is divided between multiple teams and each one is creating a slightly different feature?

      Yes, I have seen that.

      Or if you mean a team of generalists with an specialist here and there not suffering from this problem?

      I have seen that too.

      I have also seen people solve the specialization problem by making their own layer more general than it would technically need to be, and become about as productive as a full stack team. The interesting part is that I have only seen that done by generalists, so I really doubt a set of specialists-only teams can be really productive.

        • marcos@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          11 months ago

          It’s dependent on many members being T shaped. Not all, and I don’t know if “most”. But you need enough to handle the basic flow of the system and interact with all of the specialists.

    • freagle@lemmygrad.ml
      link
      fedilink
      arrow-up
      2
      arrow-down
      3
      ·
      11 months ago

      Yes, I have built both types - specialist first and it was a fiasco. Cross-functional was consistently the best

        • freagle@lemmygrad.ml
          link
          fedilink
          arrow-up
          3
          arrow-down
          3
          ·
          11 months ago

          Specialist is too thin. The specialists only know what they know and they don’t want to learn new things outside their speciality. So I had to hire a new person everytime we found a speciality gap because the specialists were like “not my job, I am an X specialist, go hire a Y specialist”. Then, they held their work tightly, no cross training, so the specialists all became their own brand of bottleneck. Different work speeds and different levels of quality meant that ego came to defend against performance complaints, and I as a manager couldn’t add more people to the problem areas because they weren’t trained in that area and the specialist could do it faster than they could train others to help.

          That being said, all my full-stack team members had specialities. That’s what T-shaped means. I had frontend specialists who could work the whole stack, backend specialists who could work the whole stack. Dev tools specialists who could work the whole stack. Architects who could work the whole stack. Everyone we hired had something they were best at, and an alignment to learn the whole stack. Within a year they were able to work on all tech in the stack and anyone could bring in a new tech to solve a problem and everyone would learn it.