Is Design Dead? - Comment

In every coding project there are people that will write it and some others will design it but without any question, both of them should know that coding isn't trivial, design errors or coding errors will occur and it is essential to have a risk plan in case that something happens. This allows to have a stablished way of dealing with the problems that will appear as the project grows.

Depending on the scope of the coding project, if it will be a program that has some components (an API, a database, users, security, etc.), it is important to design it before beginning to code it. This allows to design it to be scalable, secure, maintainable, and error-prove. If the project is just to write a a program that will resemble a calculator, it is just fine to code it as you go. This means that depending on the complexity of the project, it is necessary to define certain documents to establish the foundations that will allow to create bigger projects (more modules, more people assigned to the project, etc.).

I don't think that projects as Amazon Web Services, Netflix, Apple Siri Assistant and many other projects take away the design step. One of the key elements on companies that create software with this scale take their time even to create unit tests and document. Without a design plan, a project could create confusion and the persons assigned could create software with a lot of bugs. One of the lines of the reading that everyone should remember is "A lack of will to design seems to be a major reason why evolutionary design can fail."

If you want your code to be used by others, you will need to take time to design and document it. Extreme Programming can be a fast solution when an error occurs and you need to restore the system. But after this has been done, it is important to make the appropriate changes to the documentation of the design if it was changed.

References:

Fowler, M. (May, 2004). "Is Design Dead?". Retrieved September 4th, 2017 from:
https://martinfowler.com/articles/designDead.html

Comentarios

Entradas populares de este blog

Metaprogramming (Comment)

Understanding the SOLID Principles - Comment