Designing Autonomous Services & Teams Together – Nick Tune – KanDDDinsky 2017

video:

Aligning organisational and technical boundaries with the organic boundaries of a problem domain to create autonomous teams enables organisations to innovate faster by making decisions faster, implementing ideas faster, and getting customer feedback faster. Guided by the strategic principles of Domain-Driven Design, software developers and stakeholders collectively can play a key role in leading the transformation of their organisation towards greater autonomy.

Instead of naively chopping up a system into arbitrary small pieces and calling them ‘microservices that implement bounded contexts’, or merely thinking cross-functional teams will suffice, deeper – more nuanced design skills are needed. All domains are different – there is no flowchart that guides teams into knowing exactly how to break up a large system into smaller pieces that minimise the costs of handovers and shared dependencies.

Strategic Domain-Driven Design introduced the concept of subdomains; things that change together for business reasons. Accordingly, teams that own things that change together for business reasons will own more decision making and have more autonomy.

Traditionally, Domain-Driven Design has encouraged use of language as a way to identify the boundaries between things that change together. Whilst language is still a key heuristic, there are many others, in particular the flow of work through an organisation. Subsequently, by supplementing the design of teams and services with the the goal of eliminating bottlenecks in an organisation, Theory of Constraints provides a powerful mindset for determining good microservice and team boundaries.

Tags

Follow us

Read our latest news from Virtual DDD on any of these social networks!

Recent videos

Impact Mapping – The Secret Sauce

Details "Impact mapping is a lightweight, collaborative planning technique for teams that want to make a big impact with software products. It is based on user interaction design, outcome-driven planning and mind mapping. Impact maps help delivery teams and...

Pragmatic Architecture: How to Know When It’s Enough

Details Overengineering wastes time and effort, while underengineering creates future pain. How do you strike the right balance? This talk explores how you can use the balanced coupling model to achieve the just-right engineering. You’ll learn to predict volatility of...