Scaling teams are hard. A platform team done right can help ease the hardships. The platform team does not have to be isolated from the rest of the team; it can be integrated with the infrastructure team to build a system that will be used in many markets. This also includes miscellaneous subsystems.
The Platform team
The platform team is not a part of the product teams, it acts as an engineering efficiency team.
- Infrastructure management is one of the responsibility of the platform team. Ensuring best practices and deep understanding of infrastructure in the cloud or onsite
- Platform team has non-functional requirements
Expertise
The experience and expertise needed on platform team depends on the structure of the company.
- Generally, here are the expertise you will need within your platform team: container orchestration and containerization, cloud management, vendor management, pipeline management, upstream management, soft skill and people management, developer training and teaching, documentation development
- Switch between members such that there are domain level experts and then do extreme table pair programming
Epilogue
The platform team is a new concept enabled by new technologies coming to market
Mandates
Automation
- Everything that has to be done twice should be automated
- Keep to DRY Principle as much as possible
- Build a highly efficient platform
- Efficiency lies in iterating small features rather than a big deployment
- Self-service
- Sufficient and continuous documentation
- Training is needed for developers
- The overhead of training new developers should be taken into account
Principles The team looking to stand up to its decisions
Authority
- The success or failure of an platform team lies in the decision it makes
- Platform team should have visibility and authority over the wider organization to have a better chance of success
- DevOps is a culture not a role
- The platform team should be able to evangelize this
- Accountability
- They have the authority to make changes to fundamental building blocks of each of the systems