Technical vs Architectural Debt
I was first introduced to the idea of splitting technical debt into two distinct parts during a conference talk given by Rebecca Wirfs-Brock. She talked about there being a real difference between simple cleanup such as renaming or adding clarity and architectural restructuring.
Ensemble Programming
Ensemble programming (aka “Mob Programming” or “Software Teaming”) is a technique where the entire team works together on a single story at the same time, on the same computer. It takes pair programming to the next level by including everyone.
Defects / Bugs
Surprisingly, there isn’t much agreement on what a defect is or how they should be addressed. This page explains our position on defects and how we feel they should be dealt with.
LEGO Exercise: Collaboration
Most teams are a bunch of individual silos that have become good at passing work between each other. This exercise is designed to show how real collaboration is different from the way we normally work.
LEGO Exercise: Continuous Integration
Demonstrates the problems that occur when we don’t integrate frequently enough.
LEGO Exercise: Technical Debt
Demonstrates the kind of debt we accumulate if we don’t refactor as we go. This exercise will let the attendees experience the pain of dealing with technical debt, rather than just understanding it intellectually.
LEGO Exercise: Clean Code
Demonstrates the value of keeping the code clean.
LEGO Exercise: Test Driven Development (TDD)
Demonstrates the concepts behind TDD. How we write the test before we write code and how that forces our design to emerge.
LEGO Exercise: Simplicity
This exercise demonstrates the value of keeping the design simple and the code small. We’ll generally do this exercise before starting into any of the others as it’s really foundational for all Agile technical practices.