Entradas

Mostrando entradas de febrero, 2019

Is Design Dead?

The philosophy that is behind some of the software development practices that we commonly use in our workplaces, have grown around a vast necessity of winning the race. Sometimes, we forget that winning the race is not as important as ensuring that we will always be able to win the race in the future. This being the case, the new era of software design paradigms have born, like eXtreme Programming, which bases it's main ideas in doing things as agile and as fast as possible. Enabling projects and developers to have this level of agility, and has got some pro's and con's to consider. For starters, XP programming is based around the idea that you have to really do things, not just think about doing things. Cutting time in the design phase of the process, and giving it to the implementation and testing stages of the process can be a two-edged swords: You have a solution that's ready to use right away, but you're not a hounded percent sure that it will not represent mo

Software Architecture: Laying the Foundations of Software Design

So I was left with the homework of reading chapter's 14 from Pete Goodlife's book "Code Craft" and I have many thoughts around my head with it... There are many key concepts in this reading, the first of them is software architecture . Software architecture is the way we design software before it is even built. This way, we can know how all components of the software will interconnect with each other. It will also show us how code will be allocated within different nodes. Like an architect, a software architect has got to be experienced enough to know ahead what things might affect the product in the future. Different points of view from the architect must fall into this basic four points of view: 1.- The conceptual view.-  shows all the major parts of the software, and their connections. 2.- The implementation modules. - shows how parts of the software will be built. 3.- The process view. - to allow everyone to know the flow of information in software. 4.- T

Who needs an architect?

I was asked to read a PDF writing by Martin Fowler, named who needs an architect. The publication is entirely about what architecture is and how is it important to the team. I think, the reading is really about leadership. What type of leader you want to be? Because really, all an "architect" is, is a technical leader. It is a person that understands both the business needs and the infrastructure and software needs to tackle a particular problem. And leadership is really that, seeing the solutions of problems and accepting new challenges. One of the things that I saw the most important is the relevance of agile methodologies in the role of an architect's team. Agile methodologies are a set of known structures of work that rely mostly on intense team collaboration, both internal (development teams, ops teams) and with the client teams, both business and developers. They are a set of ideas that will allow us to improve ourselves constantly by looking constantly in r