How Agile Works When Replacing a Working System – Methods and Tips

agileiterative-developmentscrumusers

In an ideal Agile world, you quickly build a small, but useful subset of the desired end system, and give it to users. They're excited, because it's useful, they start using it and give feedback. You then work out what to add on to it, build that, and repeat until you run out of time.

I've had a couple of projects recently that involved replacing some kind of working system. The above model just didn't work at all: until you'd built a system that included virtually all the functionality of the existing system, users had no interest at all. They wouldn't use it.

How do you apply Agile when "the smallest useful subset" is "all of it"?

Best Answer

The agile solution might be not to replace all in one go, but to phase the replacement in gradually.

Introduce the new system gradually, bit by bit, keeping parts of the old system running. The old system isn't switched off all in one go, it just fades away. The new parts provide new functionality or other benefits, so the users are delighted to use them. This is also less risky, as you have a 100% working system at all times.