Ir al contenido principal

Is Design Dead?

In this article they focus on two topics: design and extreme programming. What I understood from what I read was that design is no longer so important in an environment where extreme programming is done. Programming refers to a way of programming in a fast way, so certain phases are ignored, so that results can be obtained quickly. This still implies that not so much time is spent on documentation, the major effort is concentrated on coding.

In my opinion, I think that for any project, the design phase is very important. It is fundamental to know the system requirements, analyze the problem and design solutions, as well as define the tools to be used and estimate the time to complete the project. In this way, a date can be given to the client so that a quality result can be generated, which will be functional, scalable and understandable in case a developer wants to improve it or simply to give maintenance.

However, the author mentions interesting things about extreme programming:


Do the Simplest Thing that Could Possibly Work" and "You Aren't Going to Need It" (known as YAGNI). Both are manifestations of the XP practice of Simple Design.

The way YAGNI is usually described, it says that you shouldn't add any code today which will only be used by feature that is needed tomorrow. On the face of it this sounds simple. The issue comes with such things as frameworks, reusable components, and flexible design. Such things are complicated to build. You pay an extra up-front cost to build them, in the expectation that you will gain back that cost later. This idea of building flexibility up-front is seen as a key part of effective software design.

In general this concept is good to defend extreme programming, however in my opinion I prefer the traditional way with each phase well developed.




Comentarios

Entradas populares de este blog

Who Needs an Architect?

In this article the author talks about the concept of architecture and what it means to him. At the beginning he starts to give the IEEE definition, and it is very interesting to see what he thinks about this definition, giving his opinion about the parts in which he agrees and the parts in which he disagrees. The author defines two types of architects, these are: Architectus Reloadus: is the person who makes all the important decisions. The architect does this because a single mind is needed to ensure a system’s conceptual integrity, and perhaps because the architect doesn’t think that the team members are sufficiently skilled to make those decisions. Often, such decisions must be made early on so that everyone else has a plan to follow. Architectus Oryzus : This kind of architect must be very aware of what’s going on in the project, looking out for important issues and tackling them before they become a serious problem. The most important activity of Architectus Oryzus is ...

Software Craftmanship

In this podcast they talked about a topic that I had already heard, or at least they talked about topics that I had already seen. Bob Martin talks about the two types of people that exist in software engineering, which are architects and programmers. Architects are the people who are responsible for making the important decisions on the project, while programmers are the people who do the work of making the project code and achieving the project goals. Personally, I think that the decisions of a project should be made among the whole development team, because in this way you can discover elements that the architect didn't see at the beginning and in this way everyone will agree and avoid problems in the future. Wikipedia gives us the following definition of "Software": Software craftsmanship is an approach to software development that emphasizes the coding skills of the software developers. It is a response by software developers to the perceived ills of the mainstr...

About me

Hello everyone. My name is Tomás Bravo, but I prefer you call me Tommy. I study computer science and this is my ninth semester. But I'll be graduating this semester because the 2 semesters ago I went to an exchange program. I went to the US, Illinois to be more specific. This was the best experience I've ever had by so far. I had the opportunity to meet a lot of people from different countries: India, The Netherlands, Bangladesh, Colombia, Honduras, Japan, Russia and other countries. Talking about this course, S/W Design and Architecture I hope to learn all the necessary tools for software architecture. I understand that we will be learning Ruby in this course and I am always happy to learn new languages. I don't know the entire course topics, but I hope to gain knowledge that will help me in my professional life. My hobbies: dancing street dance, playing videogames and swimming. Talking about music, I love electronic and urban music. Recently I haven't read a book, buy...