Introduction
Question arised when senior manager want to put out a component based team structure for engineering/development team. I can see some benefits from team structure. But in the same time, I feel there is something wrong with my gut feeling. What is wrong and what would be better format?
After a careful thought, I believe that mixed team structure will be best for current business that I work at.
My Thought
My thought the mixed team structure will be best fit for the business. There will be three product/feature teams and 2 component teams.
My reason is as following:
- There is a component requires high availability, scalability and stability which requires different skill set than just software engineering and needs to understand infrastructure.
- There is another component similar to a component above which requires specific attention and skill sets. They will create a platform to make entry skills much lower for product teams
- But for fast delivery, to minimize handover waste, product teams will be formed to delivery end to end development except first one above.
- Also using product/feature team to deliver features will minimize complexity of dependency management
- Product team will make handling defects easier
- Product team will make integration testing easier and earlier in stages as features developed in one team instead of across different teams
But there are difficulties:
- For some business, building cross functional team is very hard
- Discipline and architecture guide to access codes concurrently
- A shift to share responsibility of design (I don't remember where I read an article. But consult community with member from different product teams and component teams may be an answer. Have no experience with that)
- Developing and co-ordinating common functions
- For other business but not mine
- Infrastructure reuse (I do think there is innovation solution for this most of time)
- How to build a platform to make learning of some skills easier for product/feature team as some of frequent used skills are hard to learn
I believe there are someone out there that have more experience than I do and do have different opinion on this. Please comment on this and I do believe there will be a very good debate and discussion.