Today, during Craft Conference (craft-conf.com), I heard a couple of speeches about the role of architects in the era of moving from big monolithic systems to microservices.
In the last decade when working with Agile and Lean software methods, the role of architects hasn’t changed much compared to the past. Scrum of Scrums and other scaling techniques have kept huge and tightly coupled software development projects legitimate, where architects kept being the people both deeply technically skilled and able to think big and having the soft skills of handling all the dependencies.
However, when speaking of microservices, we may think that creating and evolving these services, being very loosely coupled, and owned by small (fed by max. 2 pizzas) teams, don’t need these architects handling the above mentioned complexities. However, the more services we are talking about, the higher the complexity of aligning between these services will be. If this alignment happens on an extremely decentralized way, making cross-service interface definitions and keeping consistency on cross-cutting topics may be too much challenging. So the role of architects doesn’t necessarily have to be declared unnecessary, just needs to be re-calibrated and adjusted to new requirements.