3rd Design: Software Architecture or: Do we have time for that?


If I had to summarize my experience with most of the professors in my college career, it would be with the phrase: “I know you think it’s unnecessary, but one day design will save your life”. It’s funny because, for most of the 8 semesters I have been at this school, most of the students (including me) have thought about the longsome and “boring” job that is the process of establishing high-level decisions and general schematics for software projects. I now think that this activity is vital and can save a lot of time, effort and tears. The bad news, it’s one of those things that I had to live in order to learn.

Last semester, I was working on one of the famous i-semesters. Our task was to build a webpage that allowed registered users to see content according to their preferences and current skill level. When we started working and a teacher asked us to make several diagrams and split all of the responsibilities into modules, we all took it as another homework that we just “completed”, with much pain and laziness. However, as time went on and we realized that we had no idea of how to continue or if there were any errors on most of our code, those first designs helped us a lot. They helped us realize what was unnecessary or out of scope. With those documents we were able to save a lot of time and complete the project, although we had to redesign them around 3 times. 

I think the chapter and its overall contents are very clear and highlight the importance of using design as a means of achieving our goals in an efficient way. However, I know that because I have lived it. If I read this book around one or two years ago, I think that I would have dismissed most of its content without much thought. I think that life and real projects can be the best teacher for that kind of knowledge.

Comentarios

Entradas más populares de este blog

10th module: Going Micro(soft)

7th Design: WarGames

11th module: Metaprogramming