Extreme Programming Up Front Design Methodologies

734 Words2 Pages

Extreme Programming (XP) has spent the past decades under perpetual scrutiny by software developers fixated on up front design methodologies. The idea behind this is simple: if you want to make sure something is well built, you must design it well first, then put it together using reliable tools. For objects such as houses, cars, or tables, of which the design evolves gradually throughout decades, the methods of up front design suffice. Computer programs, on the other hand, are products often made for an industry that evolves at higher rates than any other. For this type of environment, more dynamic methods are required, which is why XP suits as a viable candidate. How design is altered from the traditional up front design method will be discussed.

The general picture obtained from a first glance at the XP method tends to imply that design is a frivolous activity put in second-place after programming. Although programming is incredibly important for getting anything done, it is equally nothing without design as design without programming. They compensate each other for their own blunders. Programming builds the program, but leads to over-complex systems. Design leads to well structured systems, but no actual program. As such, design is not frivolous, but so is not programming.

How is it that XP actually combines design and programming in the right amounts? It tends to reiterate a certain algorithm until the project is complete: design, implementation of design, then redesigning and refactoring (Fowler). Meanwhile the design is kept simple (Fowler).

Simple is a key word in XP. In fact, Martin Fowler's essay (Fowler) seems to make it XP's core. However, what exactly is meant by simplicity will depend on multiple factors. As Marti...

... middle of paper ...

...ing the design pattern would consequently be counter productive. This does not necessarily mean, however, that design patterns will always hold the solution to a problem. Instead, they provide an idea which may be altered for solving a problem.

XP is an evolutionary design methodology. It follows simplicity religiously with YAGNI as its motto. To do this, it takes refactoring into account when necessary. This requires redesigning the program's structure, which is easier when following YAGNI. Considering today's IT industry, one where last minute changes are commonplace, its methodologies fit like a glove. It may still have some unnoticed necessary improvements, but it seems to suit the industry better than up front design.

Works Cited

Fowler, Martin. "Is Design Dead?". Martin Fowler. N/A, n.d. Web. 18 Oct 2013. .

Open Document