5th Design: Virtue is balance between XP and Vista


The article written by Martin Fowler proposes a number of interesting techniques that seem to be the result of working and suffering a little with several kinds of design patterns (or lack thereof).  He shows that he has a lot of experience working with several teams and different types of projects, enough that he has been able to experiment and create his own way or method for designing. This method tries to takes the best practices from both evolutionary and up-front design, claiming that they both have advantages as well as pitfalls. However, his writing may suggest that he likes XP (good evolutionary) a little bit better, since he only mentions a couple of problems with the agile practices, most of them related to the people who practice them badly or take them too seriously.

I completely agree with the part about people and how their disposition or will can make a project be successful or a complete mess. Last semester, I was in a special project for the school that required a web page by the end of it. While we were all working on it, most of us had never worked with real, evolving documentation. It turned out to be a lot more work than we expected and many people, including me, started to despise the weekly reports and tried to find ways to avoid them. However, when the requirements began to change, we were saved from failing the semester by them and their records about what had been agreed with the customer. It took a negative experience for us to realize how important being consistent and sticking to practices and habits can be.

While the words of Martin give the impression that a lot of the people in the software industry choose or are transitioning to Extreme Programming or Up-Front-Design, I have heard, either through my friends or personal experience that many companies prefer to just hack their way through.  It’s not that they don’t want to go faster or produce systems with a greater quality, but, rather, they fail to understand or be completely convinced of the benefits that such practices can bring to their businesses. Maybe they got burnt and they think such things are fire, like Martin said. I think that achieving true, consistent quality is not possible until we find the right balance between doing everything before we start developing and being flexible with our designs.

Comentarios

Entradas más populares de este blog

10th module: Going Micro(soft)

7th Design: WarGames

11th module: Metaprogramming