Critical Software Redesign: Creating the Environment for Large Scale Change
When do you choose to do a major redesign, and how to do you prepare your organization for it to succeed?
There’s a moment where it’s too soon to invest in a radical new software design for your system. And then you reach a moment where it’s too late, too expensive to change it. Is there a sweet spot in between, a point where pivoting the software design is the right choice, at the right time?
We’ve updated our book, Design and Reality with a new essay, “Critical Software Redesign: Creating the Environment for Large Scale Change.” It explores how you as a technical leader can prepare for major design shifts. We use as a running example, the evolution of a product that calculates taxes on global shipments.
In a nutshell, ongoing design challenges, the solutions you pick for them, and the impacts of those solutions can be treated as signals, both positive and negative. These signals show where the external environment repeatedly puts stress on your system’s design. More importantly, by paying attention to these signals over time, you can figure out what changes your system’s design needs. And you can use the signals to trigger experiments. Lots of them. And what you learn from these experiments can help you build the culture and support for more significant design changes.
Right now, the new essay is only available as part of our book. We will publish it in its entirety on our blogs at some point in the future.
In the meantime, we hope you’ll support our writing and buy our book!
“Excellent new thinking on Domain-Driven Design. It's full of real practical experience in getting the most value from domain modelling. Just like the Eric Evans' DDD book, this gives more insight each time you read it.” —Ian Russell
“Happily purchased. Handy to have these in one place. Thank you!” —Kent Beck