Is Design Dead?

Hi, today’s entry will be about an article titled: “Is Design Dead?” by Martin Fowler. 
First, the author introduces a concept that I haven’t heard before, Extreme Programming (XP). At first reading it, I thought that it would be a kind of programming technique, but I was totally wrong. XP is one popular agile process used during software development and it provides knowledge about how to do a simple design, use refactoring to keep the design clean and also how to use patterns in an evolutionary style. I found interesting how the author described XP as the” call for the death of software design”, this made me think: Are the current processes and methodologies that bad in software design and architecture? 

Two important concepts in software design and architecture were discussed by the author, evolutionary and planned design. The first one means that a system’s design will grow as the system is implemented. I think this is very important because it gives the system the capability of change in late phases or even for, as its name says, the system later evolution and improvement. I found this one as the most related to the nowadays agile frameworks and methodologies (the most used is SCRUM). The second one is totally the opposite of evolutionary design because it practically defines the software design once and that design must be followed during all the construction, so the software doesn’t have the capability of change.

The important question here: Is Design Dead? I agree with the author, it is not. But as software design and architecture is totally different than other types of design, it has to be designed with a different, single and individual approach. This is why software design is not stable, it is continuously evolving and sometimes we confuse this with “design’s dead”. Software design and architecture is not dying, this is just the beginning. 

Comments

Popular posts from this blog

An Introduction to Metaprogramming

Understanding the SOLID Principles

Microservices