Light Methodologies
Light methodologies are so called not because they are less effective nor applied to simple development efforts. They originally came to be known as "light" methodologies because they were developed, in part, to eliminate much of the documentation that strangles traditional techniques. In other words, they are
meant
to be less bureaucratic.
Light methodologies are relatively new, having been developed within the last five to six
years
. Some of these techniques are receiving wide use in the IT industry because they do significantly increase development speeds. However, as with every technique, none are perfect. Each has its own shortcomings.
Although there are several light methodologies in use, we will discuss only a few to provide an understanding about what they are meant to do, compared with traditional techniques, and to round out the discussion about rapid development in general. With this introduction to light methodologies, it is hoped that you can begin to
formulate
ideas about how to improve your own development schedules and processes. But some words of caution: The best approach is not going to be one of these techniques alone—it is going to be the application of good development practices in conjunction with some of the other rapid development techniques and, perhaps, a variant of these light methodologies.
Extreme Programming
Extreme programming (XP) has received the most attention of all the light methodologies. This popularity is due in large measure to Kent Beck who is the principal author of the technique. Mr. Beck also has a
remarkable
ability to draw attention,
meant
in the most positive way, and the ability to entice others to use XP in their work. The fact that he introduced XP into a large, highly visible, and troubled project (Chrysler's C3 payroll project) and saved it from near certain failure made the technique a household word, at least in the software community. To some extent, the technique has been so popular that it has overshadowed many other equally effective techniques.
XP is a very disciplined process, which is both its strong and its weak point. The discipline is its strong point because any disciplined process is better than many of the
chaotic
practices that too often exist in software development. The particular discipline of this technique eliminates many common problems such as risks and testing issues. The
disadvantage
of the methodology is that many software developers find the process too rigid and find that they cannot function as well or as creatively. Therefore, whether the technique should be applied depends on how effectively the project manager leads the effort and whether the team can
operate
under such
rigorous
guidelines.
These practices are woven into the XP process so that each supports the others. The technique, as do all these light methodologies, depends heavily on communication and feedback,
especially
with the customer but also with the other stakeholders. The strongest point of the technique is that it requires the developer to write test plans as he is coding and then to test the code at short intervals. This testing approach results in a continuous integration and build process that yields a very stable platform.
Extreme programming is an evolutionary process that iterates into a basic, and very stable, platform. Another key element of XP is simplicity—simplicity of design and simplicity of coding. A major objective of XP development is to
incorporate
the simplest programming and routines possible that will
satisfy
the requirements, resulting in faster development and fewer defects. In addition to being its best and best-known champion, Kent Beck has also written the best reference book on the subject—
Extreme Programming Explained: Embrace Change
.
[2]
[2]
Kent Beck,
Extreme Programming Explained: Embrace Change
(Reading, Massachusetts: Addison-Wesley Publishing Company, 1999).