Obviously, there are several considerations that go into the decision to augment an existing engineering team:
- Where are we in the product lifecycle?
- Do we need more features, enhancements or maintenance?
- What about QA?
- Do we need automation?
- Is there an ideal team makeup or good rule of thumb?
Let’s start with the product lifecycle, if the product is new, what is the time to market?
New products require thoughtful design and planning for ease of usability. They also go through a number of iterations as new ideas emerge. If time to market is an issue it seems a ‘no brainer’ to increase the size of development team to meet this need. In this case, focus your efforts on specific skills that would strengthen your existing team and hand over the day to day features and improvements to the augmented team. Also, don’t forget about UI/UX, QA and mobile in the process.
Continuity of teams is paramount in getting a new product launched and tweaked along the way. This is where it makes sense to integrate the augmented team into your ongoing engineering group long term. Essentially, they would be an extension of your existing team.
Outside perspectives and ideas are important to adding new features and enhancements. In this case, the augmented team can serve multiple purposes: to improve productivity and velocity as well as serve as your external focus group.
If improvements need to be made to an existing product, perhaps a shorter-term project may be the right fit for the augmented staff (6 months or less). Again, continuity is key, so it might be a good idea to keep the augmented team in place longer and flex as business needs change. The ability to flex based on business conditions is one of the many positives to outsourcing at least part of an engineering team.
Maintenance and ongoing support, while not exciting work, is another area where an augmented team can help and allow an existing team to focus on new products and innovation. Again, the recommendation would be to keep this aspect of the team long term so tribal knowledge is not lost.
What does all of this mean? How do I determine what an augmented team looks like? The good news is, there are at least some general guidelines for determining the specifics of the resources needed:
- Make sure you have a Scrum Master for both internal/external teams – to cover bi-directional communication
- UI/UX specialist should be part of the team, at least initially
- Lead developer is a necessity (add a lead for every 5 developers)
- Include 1 QA for every 2 developers
- Automate tests where
While not set in stone or ‘one size fits all’, these are the proven general guidelines for success.