Good design helps you deliver. In the last chapter things were looking pretty dire. A bad design was making life hard for everyone, and, to make matters worse, an unplanned task cropped up. In this chapter you’ll see how to refactor your design so that you and your team can be more productive. You’ll apply principles of good design, while at the same time be wary of striving for the promise of the “perfect design.” Finally you’ll handle unplanned tasks in exactly the same way you handle all the other work on your project using the big project board on your wall.
In the last chapter things were in pretty bad shape at iSwoon. You had some refactoring work to do to improve your design that was going to impact your deadlines, and the customer had piped in with a surprise task to develop a demonstration for the CEO of Starbuzz. All is not lost, however. First let’s get the refactoring work done so that you can turn what looks like a slip into a way of speeding up your development work. The current design called for lots of changes just to add a new event: