I would like to speak a bit about team development and would like to share a bit of experience of how Acumatica organize development teams.
Actually within Acumatica history I really saw how company was changing from unstructured extreme programming to real and organized scrum. This was a long path full of mistakes and success. And I think this experience is worth to share. Here are few ideas to you.
Acumatica team is one, solid team where 4 different types of employees are involved. This is important in terms of responsibilities for feature. Team owns the feature and should really focus all resources to deliver it on time.
Here you can see how team is organized. We have a Product Manager who owns the feature and functionality. We also have a team lead who is a scrum master for team organization. In the same time we have other team members.
One of the key things we have that all Senior Engineers are working with Juniors to pass their experience and knowledge and build new generation of great team members.
In a way development team is a sort of a football team where everyone is valuable. However here we have a good news, comparing to football here is no one plays against us.
Every feature in Acumatica goes thought the life-cycle where 4 parties of the team works together. We have Product Management, Development, Quality Assurance and Technical Documentation.
It is a one solid team, but they have really dedicated responsibilities and take a feature on different stages of the feature life-cycle: planning, development, testing, documentation.
Some parts of the process can work in parallel – bug-fixing, acceptance and testing can be done in parallel. However some processes like Requirements Analyses or Documentation should be done specifically in a sequence.
Each team can do several features in parallel, but feature better to be assigned to only one team. Cross team features should have decomposition per team.
Acumatica grows really fast and our partner community grows twice faster. Hope these knowledge will help you build better development process along with your growth!