Different types of project teams
The common pattern for main product development team to deliver the product over a period, once they are done, they move on to the next development project, and any support issues, bug fixes and enhancements are handled by separate maintenance team. These teams are staffed differently, with the product team composed of the deeper skilled member’s while the maintenance team is usually staffed generally with members having high-level knowledge on product code structure and functionality.
The third team formation, we will refer as Squad team in this document. The squad team does both product development as well as maintenance. This is more prevalent in agile teams where, due to early releases, there are maintenance tasks right from the first sprint itself. The Squad team will teach a whole lot of things – where your design is failing, what kind of changes are being requested, how customers are using software and which assumptions were invalid.
There is one more, Shared Service team, this team consists of members with similar skills (e.g. Test team), it’s not advised to have this kind of teams, but if already have this kind of team formation, then agility adoption and work patterns to be closely monitored.