Juggling Multiple Bounded Contexts? How one team succeeded Louis Richer
The Story The problem Our team’s solution The process adjustments we made to make it work Next time … 2
The Problem Starting with … 3
The Problem We were asked to add … A new functional module; and Integrate it with a new ESB 4
The Problem 5 New module ?
The Problem With some constraints … Minimize impact of change Limited availability of developers with experience on the legacy system Maximize extensibility of new feature module 6
Our Solution Component approach 7
Our Solution Component Based Approach Change to legacy system ↓ Coupling between systems ↓ Extensibility of new components ↑ 8
Our Solution Bounded Context “An operational definition of where a particular model is well- defined and applicable” Eric Evans 2011 Multiple models of a business entity The model lives in its context Separate artifacts, separate teams 9
Our Solution Bounded context 10
Our Solution Component Sub-teams Legacy system expertise ↓ Design ownership ↑ High level system understanding ↑ Integration & coordination ↑ 11
Process Adjustments Stories for Clients Same old … Maybe a bit more fine grained 12
Process Adjustments Component Capabilities for the Team High level design Development estimate Many to many – capabilities to stories 13
Process Adjustments Project burn-down 14
Process Adjustments Iteration Steering Balancing of functional story and component capability perspectives Yesterday’s weather based on component capability velocity Increased developer participation 15
Process Adjustments Kanban board 16
Next Time Explicit mapping of component capabilities to stories Sub-team secondments Get QA process input earlier What do you folks suggest? 17