Each and every time, the situation is the same: a big, messy code-base, few (if any) tests and many production issues. It’s no accident that, when he joined what would be the first XP team, the first thing Kent Beck said was: “*Let’s scrap it!*”

Even with a world class team, these problems can be almost insurmountable. And we don’t usually start out with world class teams. Learning all the XP practices is hard enough without a Big Ball (of Mud) and Chain holding you back.

So maybe we *should* rebuild. But the Agile way: incrementally, iteratively, and with close involvement from the business.

Using examples from practice, I’ll show that:

* We can set up a clear, loosely coupled architecture **around** the existing system, so we can replace parts *while its running*
* We are then free to use all our modern practices for the new parts, and start Continuous Delivery from the first sprint
* We can closely involve the business to surface the actually needed functionality, and build up Living Documentation in the process
* We can get even an inexperienced team using and accepting practices such as TDD and ATDD quickly

You must be a Member to view this post and you are currently not logged in.

You can either log in below or sign up here.