In my last Geek Out video we talked about the interesting technical differences in building a service versus building software for companies to run on-premises. This time we spend some time talking about the cultural shift the team went through as services became one of the main products of the Exchange team and the key changes we made to ensure that the right cultural shifts happened.
One of the things that was very important for the shift that we talk about is that component teams (usually about 6 devs, plus testers and Program Managers) are responsible for the monitoring of their component as part of their product work and deciding which alerts from their monitors should be pageable and for handling the paging alerts unmediated by any other humans on an operations team. This model of operating keeps the team closely engaged with the service, keeps us learning and helps us to keep improving the service.
While the model provides great benefits for our service customers in terms of availability, and ongoing improvements to the service, it also has some positive effects on the team. Interestingly, the component teams across Exchange that have had the most active engagement with the service (and consequently the most on-call load) have the best morale. My personal theory is that the sense of satisfaction from seeing such direct impact from your work is the key driver for the improved morale of the team. The change in culture and how we think about customers is captured in a recent video with the team:
Want to know more about how things work in Exchange? – post a comment, ask a question!
Yes, if everything fails Exchange has high availability features - its a matter of implementing & managing :)