Extreme programming: why it is essential, in every sense
In the programming world, Extreme Programming is a frequent topic of discussion. Also known by the abbreviation XP, this approach to programming is translated as ‘programmazione estrema’ in Italian. It is none other than a method of software development, which focuses mainly on code writing.
It was originally developed by Kent Beck, one of the signatories of the celebrated Agile manifesto and co-creator of TDD. Thanks to his work and the invaluable collaboration of Ward Cunningham and Ron Jeffries, XP achieved considerable popularity during the nineties and early noughties.
The community’s mantra was very clear from the start: in order for it to work well, programmers must avoid writing sequences of code which are not strictly necessary. Starting from this point, we shall explore the 12 practical rules of development.
The rules of development
As mentioned above, when manoeuvring in the field of Extreme Programming, there are 12 rules of development to be observed, as follows:
- Pair Programming: two programmers who work together at the same workstation;
- Planning Game: planning meeting which takes place approximately once a week;
- Test Driven Development: automatic tests finalised before starting to write the code;
- Whole Team: the presence of the client, or the person who will actually use the system, at the weekly meetings;
- Refactoring: re-writing of the code without alteration of its external functions;
- Continuous Integration: continuous integration of code changes, so as to avoid delays once the project is underway;
- Small Release: delivery of the software using frequent functionality releases;
- Coding Standard: selection and use of a certain specific standard of code writing;
- Collective Code Ownership: contributions to code writing by each member of the development team;
- Simple Design: adoption of an approach which is as simple as possible during the development phase;
- System Metaphor: ability to describe the entire system, including the formal illustration, using a metaphor;
- Sustainable Pace: the creation of a working environment which enables developers to work a maximum of 40 hours per week.
In addition to these practical rules, it is also important to discuss models. James Donovan Wells, one of the leading authors in the world of XP, has identified four. The first is communication. The second is a working approach where everyone can talk to everyone else and even the least experienced programmer has the right to interact with the client.
The second point regards simplicity, a principal which should guide any formal description of the project. The third model involves verification right from the very first day of the project, while the fourth relates to having the confidence to make the system available for use immediately and to be ready for changes and implementation.
Values
As well as the development rules and models, when it comes to Extreme Programming it is also essential to consider values, starting from the quality of communication between team members and between the development team and the end client.
It is then time to consider the above-mentioned simplicity, which must be prioritised during the developmental processes, both during the phase of interaction with the end client and presentation of the project. Continuous feedback is also essential and constitutes a pivotal element for technical optimisation and enhanced flexibility.
Although it has lost some ground recently compared to previous decades, Extreme Programming still remains a widespread and popular method of software development. Based on TDD (Test Driven Development), it still represents a fundamental point of reference for those teams who need to write quality code.
Traslated by Joanne Beckwith
