Extreme Programming XP Methodology

XP, one of the new promising breeds of lightweight methodologies, is the brainchild of Kent Beck. XP is one of the agile processes. It has received so much attention in recent years that some of the global project organizations are reviewing it for inclusion in their methodology portfolios. XP has few rules and a modest number of best practices, which are all relatively easy to use. It is based on iterations that embody several practices (like RUP), such as small releases, simple design, testing, and continuous integration. XP also promotes several effective techniques for the appropriate projects and circumstances; however, there are hidden assumptions, activities, and roles. XP teams use a simple form of planning and tracking to decide what should be done next and to predict when the project will be finished. XP embraces four core values that its project teams should follow: (1) communication, (2) feedback, (3) simplicity, and (4) courage.

The focus is on business value, where the team produces the software in a series of small, fully integrated releases that pass all the tests the client has defined. An XP project defines an integrated set of practices, which requires the full-time, on-site engagement, for such a project to work successfully. XP concentrates on construction of code programming to meet a business need. How that business need occurs and how it is modeled, captured, or reasoned is not XP's primary concern. The XP phases are for planning purposes but the focus is on actually building the code. There is little emphasis on project documentation XP is a clean and focused environment, which allows developers both creativity and freedom during development. The focus of XP is to reduce development costs. Although XP is worthy of consideration as a development methodology, it should not be used on large projects.

XP is a more constrained process that needs additions to make it fit a complete development project. For a small project team working in a relatively high-trust environment where the user is an integral part of the team, XP can work extremely well. Some of the most noteworthy XP practices are:

Refactoring. Restructure the system continually, without changing its behavior, to make it simpler or add flexibility. Determine if this is a good practice for the team. What is simple to one may be complex to another.

Testing Developers continually write tests to go along with their code. The tests reflect the stories. XP urges you to write tests first, which is an excellent practice because it forces you to deeply understand the stories and then to ask more questions when necessary. Whether before or after code, you have to write them. Add them to your test suite and make sure to run them every time the code changes.

Pair programming This technique ensures room for two developers to work effectively at a single workstation. This results in better code in less time, because developers can identify errors and possible faults in the software code (Strengthening the Case 2000).

Use CRC (class, responsibility, and collaboration) cards. This advocates that spending time to capture and maintain design documents is fundamental to a project's success. XP projects typically require a few hours to sketch the design or use CRC cards. The cards are used to teach users of XP the principles of object-orientated design.

XP can be used in conjunction with other development frameworks. XP has been successfully used with Rational Corporation's RUP. This combination has been called the dX process and is also RUP-compliant

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment