Build it so it can Evolve

A new book by Pramod Sadalage (MSIT ‘20) talks about the importance of creating software stacks that can evolve in pieces – and the dangers of ignoring that advice.

Have you ever had a random noise coming from under the hood of your car that you just hoped would go away on its own? What is the cost not to fix it?  

Pramod Sadalage (MSIT ‘20) frequently asks that question, but not about cars. His focus is on business software architecture.  

Pramod SadalageSadalage is the director of data and DevOps for Thoughtworks, a global technology consultancy where he’s worked for more than two decades. He also is a member of Northwestern Engineering's Master of Science in Information Technology (MSIT) program's Industry Advisory Board, and the co-author of Building Evolutionary Architectures: Automated Software Governance, 2nd Edition (O'Reilly Media, 2022), which was published in December. 

His message in the book and when he interacts with MSIT students is simple: Businesses need to ensure each piece of software that forms the spine of their technology stack can evolve independently without breaking other vital systems.  

To ignore that and build a system with too much interdependence, Sadalage said, is to risk far greater costs down the road.  

“It's hard to figure out what the cost of not doing something is,” Sadalage said. “Similarly, finding what the price is of not having an evolutionary architecture is challenging since the effects of not doing something are apparent only when it's too late.”  

Sadalage said it is vital for today’s MSIT students to understand the fast pace of change in software architecture.  

“Companies are rapidly evolving, and the business-critical software they depend on is evolving too,” he said. “It is important to design loosely coupled systems that can evolve independently and should not break down when some parts of the enterprise change.”  

Both in the book and in his MSIT interactions, Sadalage emphasizes that the method to consider and implement those changes should not be informal or piecemeal.  

“Since the software is changing so rapidly,” he said, “it's also essential to govern this change in an automated way.”  

What those automated processes should look like is a central focus of his book. The consequences for getting them wrong can be catastrophic. 

“Being ready to change the system's architecture is an essential requirement for the business' survival,” he said. “The book's goal is to enable evolutionary architecture, make small changes, and put in feedback loops that allow everyone to learn and react to changes in the business environment.”  

In other words, the book – and, in many ways, his mission as a business leader – is designed to make evolving software as simple as keeping a car in one piece whenever its gas tank is filled up. 

Sadalage hopes MSIT students will read the book. While there are technical components to it, he believes there are important lessons that can benefit anyone interested in IT.  

“MSIT students can learn how to deal with change and understand the importance of managing change in software architectures,” he said. “Getting better at managing change is an essential ingredient to help enterprises adapt.”  

McCormick News Article