This change series allows data to be shared between the old and new systems even while you are making the back-end optimal for the new system.

Habit: Schema Update 3 – Refactor Databases

Organization ROI: Eliminate bugs arising from database changes, while allowing you to fix database problems. Engineer ROI: Make arbitrary design changes to your schema in simple ways that never generate bugs, no matter how many programs use it.

See more...

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.

See more...

Habit: In-Storage Data Adapters

Organization ROI: Support multiple applications with different data expectations off the same data source. Engineer ROI: Allow shipping data stores updates and application updates asyncronously, and update even if there is a legacy system you can't change.

See more...

Habit: Schema Updates 1 – Deterministic Migrations

Organization ROI: Prevent bugs that occur due to subtle differences between databases. Engineer ROI: Update local, test, and production databases easily and consistently, no matter how long a database has been not updated.

See more...

Habit: Schema Updates 2 – Range-Versioned Databases and Multi-Phase Migrations

Organization ROI: Upgrade applications independently even if they share the same database. Perform zero-downtime database updates. Engineer ROI: Easily manage any number of distinct applications using any number of distinct data sources, including data sharing, with zero-downtime, deterministic updates.

See more...

Habit: Test Persistance

Organization ROI: Reduce time it takes to find data persistance errors. Engineer ROI: Verify state persistance with tests that run at full unit test speed.

See more...