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?
So I’ve worked places where a user story is the only kind of story and one developer is responsible for every part of the stack for a given story. It didn’t work as well as dividing responsibility between front end and back end specialists. I think full stack is a leadership role to figure out the API and integration, but I’m not sure that’s even necessary given good communication.
Does it work? Sure.
My experience? I have rarely had a completely healthy team with good leadership and good developers. My experience has not been as good on full stack - it primarily creates different silos so you still don’t have interchangeable developers. But I can’t say with the right team firing on all cylinders wouldn’t succeed.
Team size? Everywhere from 5 to about 20 with full stack being the case at the biggest and smallest. The biggest team was basically segregated by application so each app was siloed to a developer or small group. That was the absolute worst, though I guess the devs were largely happy because there was essentially no code review or supervision.
Quality and team cohesion were so variable I would hesitate to attribute that to full stack devs. Product cohesion was the absolute worst on the larger team of full stack because everyone solved every problem in a unique way and often differently between different apps due to better developer knowledge or different original developer and tech debt. But that was a poorly managed team altogether to be honest. It feels true but all I have is anecdotes.
So overall I’m not convinced it’s a good idea, but I’m curious to see the other replies.
The idea that a single developer delivers an entire story is where your problem was situated. Stories aren’t assigned, they are owned, and they are executed, they are delivered. One story can be worked on by 4 devs, all with different skills, but the story owner is the one who makes sure it gets the right people on it and is the one who makes sure the product owner sees the delivery.