This change series will extract chunks of the old system into a new service for the new system without disrupting the company.

Habit: Split Services 1 — Ports and Adapters

Organization ROI: Reduce cost of ownership related to both 1st and 3rd party dependencies.

Engineer ROI: Isolate and micro-test interactions between any two components. Get informed when 3rd party components change underneath you in production.

Habit: Independent Data

Organization ROI: Reduce unintended reactions with the rest of the system.

Engineer ROI: Each service manages its own data, making it easier to extract.

Habit: Incremental Isolation

Organization ROI: Extract a service without ever blocking release or anyone else's commits.

Engineer ROI: Break out your service as a part of normal story development, without slowing anything down or scheduling technical stories.

Habit: Backwards Compatibility

Organization ROI: Allows shipping new service and monolith independently.

Engineer ROI: Add capabilities to your independent service without having to update the monolith at the same time. Update the monolith only as stories require.

Habit: Feature Flag Migration

Organization ROI: Bugs can be rolled back without disruption to others.

Engineer ROI: Implement structure and functionality changes without impacting others, even if you make a mistake.