Taming Monoliths the Microservices Way plus Agile Consultancy Engagement
Post date: May 19, 2015 9:28:9 AM
At our March meet up the main speaker, Kiran Singh, enthusiastically delivered a presentation on Microservices: Conquering Monoliths which, in the words of one of our attendees, “sold the topic to a sceptic”. Drawing from his own experiences in breaking down an unruly monolith of legacy code into a number of small, responsive, HTTP services using the principle of bounded contexts and domain driven design. The aim of this was to make components of the software independently releasable using the model espoused by successful companies such as Netflix and Spotify. Kiran pointed out many of the tangential benefits of moving to a microservices architecture not least the ability to get new developers productive much more quickly in a given service where the code can be simpler and cleaner. Kiran stressed that this is not just a technical problem, it requires buy in from all levels of the team and a truly agile culture to support it. The slides for this talk are available here.
The support speaker for the evening was James Salt who gave an interesting take on Team Based Iterative Consulting which aimed to address the mismatch between a typical consultancy engagement model and agile. After outlining the problems with a typical engagement (for example named ‘resources’, difficulty in measuring consultancy deliverables and scope creep for time & materials engagements) James proposed a set of principles for agile consultancy namely “Priority over Process, Throughput over Headcount, Responsiveness over Headcount and Client Collaboration over Contract Negotiation”. With these he suggests that it is possible to move an engagement model based more on feedback loops than up front estimation of scope and effort. As one member of the audience observed it was “”an interesting view on working iteratively with customers” and seemed to strike a chord with many in the audience. The slides for this presentation are available here.