Dynamic Engineering Teams
Many businesses (old and new) have a very hierarchical approach to in-house engineering teams following the example of Microsoft and Adobe. This typically leads to teams of followers that are risk-averse, inflexible and difficult to scale. But there is a better way, one embraced by companies such as Spotify, of using agile teams created dynamically for each project.
This article originally appeared on my blog here: https://binarythinktank.com/blog/dynamic-engineering-teams.html
A more dynamic approach to engineering teams would be not to hire managers, but to hire solution architects. These persons have skills that allow them to be given a brief project description - or even come up with an idea themselves - and they can then independently do initial scoping, research and planning for this project. They can identify the users, appropriate technologies, rough ballpark and key research points or questions to ask. All of this is assembled into a 15 minute project pitch for the key stakeholders to approve.
The Research Team
Once the pitch is approved, the solution architect will assemble their research team from a pool of available team members. A typical research team would have the following members:
While they are not engineers and usually do not have any hands-on development experience, they are able to understand technical terms and explain them to non technical persons. They are also capable researchers for non-technical matters such as market research and user interviews. It is their role to write out all decisions and insights from the team in the solution architecture document.
2. Business Consultant
It is this person’s responsibility to provide insights and do research on all business matters. This includes finances, legal and compliance. They can add appropriate risk margins to estimates and calculate operational and other non-development costs. They can also research and write business cases for each requirement and ensure that there is an ROI - this can be productivity, revenue, efficiency, etc.
3. One or more Technical Specialists
These team members have extensive experience and deep knowledge of the technologies identified by the solution architect for the project. They are able to turn user requirements into technical specifications, design infrastructure and databases and create detailed and accurate estimates for all tasks.
4. Designer / UX specialist
A designer is essential for any project with user-facing interfaces. They are to provide user experience insights during scoping and, once the requirements are known, they are