Duplicated code is one of the leading reasons that developers write bugs. This change series prevents those bugs by fixing the existing duplication without making stories take longer.

Habit: Whole Values 1 — Fix Primitive Obsession

Organization ROI: Reduce bugs that arise from miscommunciation. Create classes to unwind many common design problems.

Engineer ROI: Create missing classes by following existing code.

Habit: Whole Values 2 — Collect Behaviors

Organization ROI: Decrease duplicate code and God Classes, reducing testing, implementation, and bug costs.

Engineer ROI: Move code onto whole value classes from procedures that use God Classes.

Habit: Whole Values 3 — Relax Design Stresses

Organization ROI: Reduce implementation costs and bugs that arise from complex methods or God Classes

Engineer ROI: Remove duplication in code that uses God Classes.

Habit: Split God Classes 1 — Extract One Purpose

Organization ROI: Prevent bugs due to data sharing between adjacent parts of the code. Improve one technical debt without having to fix it all at once.

Engineer ROI: Reduce God Classes without waiting for full-system analysis.

Habit: Explicit Data

Organization ROI: Reduce bugs due to data sharing.

Engineer ROI: Make it easier to reason over the data used by each section of code.