There is a brilliant article here written by Yammer’s VP of Engineering Kris Gale. The article is covers a talk that he did at Hack+Startup on why the traditional engineering organisation structure is dead.
The truth is that in many ways he is absolutely right. The rise of Agile, Lean, DevOps and Continuous Delivery all show that the landscape has moved wildly within the last few years and the structure of engineering organisations needs to adapt to this.
Kris points to a new engineering organisation which follows the following rules:
- Small teams (2 to 10 people) doing small projects (2 to 10 projects)
- All projects have a definite end date
- Team members only assigned to one project at a time
- Prevent specialisation
- No code ownership
- Bug fixing is done by everyone
In his talk that went along with the article, he mentioned that he was deliberately contrarian and wanted to make people think and he’s succeeded and I agree with almost everything he says. Traditional engineering organisations need to follow this approach when it is right. The issue is that it is not always right.