Building with Change in Mind

hnurn
2 min readApr 3, 2024

--

Let’s talk about something every programmer deals with: change. Imagine you’re working on a project, and suddenly, you need to add new features, fix bugs, or adapt to new environments. This happens all the time in software development.
I recently came across a book called “Software Architecture in Practice (Third Edition),” and it got me thinking. Most of the time, programmers and software designers don’t get to start from scratch. They have to work with what’s already there — the existing architecture and codebase.

Here are some notes from that book;

Every architecture partitions possible changes into three categories: local, nonlocal, and architectural.

A local change can be accomplished by modifying a single element. For example, adding a new business rule to a pricing logic module

A nonlocal change requires multiple element modifications but leaves the underlying architectural approach intact. For example, adding a new business rule to a pricing logic module, then adding new fields to the database that this new business rule requires, and then revealing the results of the rule in the user interface.

An architectural change affects the fundamental ways in which the elements interact with each other and will probably require changes all over the system. For example, changing a system from client-server to peer-to-peer.

Obviously, programmers don’t always get to start fresh. They often work with existing code, like an unfinished castle. As software evolves, changes are inevitable. But making these changes can be tricky.

Now, here’s the key: a good architecture makes it easy to handle changes, especially the small ones. When your architecture is well-designed, adding new features or fixing bugs feels like a breeze. It’s like having a sturdy foundation for your house that can handle whatever renovations you throw at it.
So, as we navigate the ever-changing world of software development, let’s remember the importance of having a flexible and adaptable architecture. It’s the secret sauce that helps us stay ahead of the curve and tackle whatever challenges come our way.

--

--

hnurn
hnurn

No responses yet