I'd been unconsciously steering us towards separation by task: the product managers pass their ideas to programmers, who write the code and pass it off to testers, who test it. But that becomes harder and harder to coordinate as the number of projects and people grow -- without domain separation, everyone needs to know everything about every project. And that's both unscalable and unproductive.
So we're trying out the idea of cross-functional teams: three groups comprised of a few coders, a tester, a product manager, "half" of a project manager, and one or two designers. I see this as having a few benefits:
- It will reduce task switching. People will be able to concentrate on one of a few different projects assigned to their group.
- It will let everyone more effectively embrace the business goals expressed by the product managers. Instead of getting sent in a different direction with each new project, people will hopefully be able to internalize a larger set of goals and apply them automatically to each project.
- It will make communication easier by limiting the number of people involved and letting people develop deeper relationships than they could with a larger group.
No comments:
Post a Comment