In my last role I led a team working on security, release and infrastructure. The team included software engineers and technical program managers working to scale and simplify infrastructure and release processes while at the same time improving the security posture of the entire Dart & Flutter products. Although the different teams were working on their own areas their systems and tooling were highly correlated. For example security needed to improve the security of the cloud projects used by infrastructure and the artifacts generated by the infrastructure were the inputs to the release process.
I created a detailed long term plan including projects for scaling infrastructure and making it reliable. Projects to isolate the final release infrastructure and code signing processes from the development workflows to improve their security, and projects to simplify the release processes before fully automating them.
I found several challenges during the execution of the projects, distributed teams in timezones with very little overlap time, very dynamic security standards changing several times per year and extremely complex products with hundreds of open source dependencies.
Communication was improved through the use of weekly stand ups scheduled during the overlapping time of the different time zones and good planning through the use of design documents. Annual and quarter planning along with design documents were used to align the work among the different teams with well defined inputs and outputs.
The dynamic security standards problem was solved with flexible implementations that could be easily adapted to changes in the standard. Given that there was a combination and hybrid team members I ensured that everyone participated in the meetings and got everyone in the team in the same place a couple of times per year to ensure good collaboration.
Through good planning, open and honest communication, fostering a culture of inclusion and empowering everyone to embrace challenge the team was successful at architecting and implementing the scalable, reliable and secure infrastructure and services for Dart and Flutter.