Ir al contenido principal

“God is in the details.”



When we talk about architecture,  what we normally think are buildings, their characteristics, how they make beautiful our city. We do not think about the time architects take to build something big and beautiful, and how changes affect the whole project.  

We know that architecture is something that has been evolving since the beginning of time, where people tried to build what they needed. But also, this science has been evolving and the way people build takes more time and there is science behind every decision they make.  

When we think about the software we do not identify this process that we need to follow to create something functional, useful and that will be used, we think about the algorithms or complexity of the problem.  We are not used to planning, hear the necessities that people have and even the methodology that we should follow to keep our software for future generations. 

 I consider that this practice, of planning and following some methodologies that might facilitate the development is something that we are used to ignoring. Anyway, and personally speaking,  I try to follow this kind of methodologies due to the fact that they give you examples of what you expected to do.  When I try to use these methodologies is when I do not know what to do, or when the problem is really complex and I do not know where to start. 

Another thing that we might be loosing without using these methodologies, is the path of activities that you need to do first.  As programmers, we might have some big projects, but we do not use a methodology, we just program and try to solve the problem.  I think that we need to see the problem from the outer space to really understand and do not program twice or more than we should. 

According to the best practices in software engineering  from Pressman, there are some activities that we should be following:
  1. Be agile
  2. Focus on quality at every  step
  3. Be ready to adapt
  4. Build an effective team
  5. Establichmechanism for communication and  coordination
  6. Manage Change
  7. Asses risk
  8. Create work products that provide value for others
  9.  Divide and conquer
  10. Understand the use of abstraction
  11. Strive for consistency
  12. Focus on the transfer of information
  13. Build software that exhibits effective modularity
  14. Look for patterns
  15. When possible represent the problem and its  solution form a number of different perspectives
  16. Remember that someone will maintain  the software 
 
In this case, we should follow these activities as our mantra or laws, but we think that we just program. I consider that this is due to the fact that we, as an area,  have been developing since the 1950s as a science and where create a methodology. Our case is that we are still learning how to really develop with the changes in technology that changes every day.  We are okay as science  but we as students should follow and treat as the way that experts have been developing and we have been taught and do not follow the malpractices.

Comentarios

Entradas populares de este blog

Is UX the new design?

Nowadays there  are many ways  to create a new project, a new program, or even a new add-on, but we  live in a society  that lives in the time  where changes are needed  so soon that  sometimes design  is  not done  when it is supposed to, or a methodology is not followed, because we are focused on the project and not  the  way we develop the project.  These ideas were affected by the way technology, clients and users change their ideas and necessities.  We have been developing new ways to satisfy them, but in the process, we have been forgetting the steps that we need to follow to correctly create a new thing. Sometimes we try to develop the necessities that we think that the client has to have,  but we are not truthly sure about it.   An example of what has been told is the point where we start using Extreme Programming to develop a project. When we use this methodology, we tend to forge...

Houston, Tranquillity Base here. The Eagle has landed

Throughout the years,  we have seen space as something far away and with lots of mysteries that we have not been able to solve or to even try to understand. An example of this is the "Dark Side of the moon" or even the theory of aliens and other lives.  Even though those things are still a mystery, we still have the fact that we have visited space and even landed on the moon. This moment was really hard due to the fact that technology was not advanced and there was not enough research for creating what we needed.  Also, it is important to mention that people who developed software did not have a methodology to follow, so there were many malpractices in the development of some of the programs.  In the case of the mission Apollo11, and the whole Apollo program, the US  government had some trouble due to the fact that they needed to ask universities to help them to develop the technology.  These requirements and the stress of the due date for the program...

I am blind without my glasses

As far as we have learned in all our classes, we should always think of our clients need and uses. But after we get the requirements, a war starts due to the fact that everyone wants to set their point or perspective as the most important one. As we have learned from this case, there is no wrong perspective, but a blindfold one. We tend to seek out what we know and to think that this will be the right answer,  because that is what our story and our world works, but there are many other options.  In this case, I can relate this case to what we live everyday on our classes, where we need to create teams with our classmates. Normally we create these teams with our friends even though they have got the same perspective  and abilities as us. This case becomes a problem because when we need to understand what the client needs and desires we can only see one way of it, when there are many others. We need to think in our users, that could be our friend  or a stranger in an...