Saturday, December 31, 2011

XP - EXtreme Programming - An Overview

XP is one of Agile processes, which consists of a set of roles, strong principles and values that was born at the final of 90’s on USA.

Extreme Programming is based on simple rules, and they look like a jigsaw puzzle, on what nothing has a complete sense by itself, but when the pieces are combined together it can make sense. 


One of the main purposes of XP is the customer satisfaction, and it’s possible through on of its practices – on-site customer. It results in a constant and fast response to changes, even late on the life cycle of the project.

Additionally, XP teams are collaborative and self-organized – managers, developers and customers work together in an equal partnership in a simple, but effective environment. The improvement during a life cycle of a project is made by five essential values – simplicity, courage, respect, feedback and communication.

“Extreme Programmers constantly communicate with their customers and fellow programmers. They keep their design simple and clean. They get feedback by testing their software starting on day one. They deliver the system to the customers as early as possible and implement changes as suggested. Every small success deepens their respect for the unique contributions of each and every team member. With this foundation Extreme Programmers are able to courageously respond to changing requirements and technology.” - Extracted from  http://www.extremeprogramming.org 


XP doesn’t establish fixed roles for the members on the team, because the main purpose is to achieve the success through the skills each one have to offer. Fixed roles could interfere on the goal of that each one have to do its best. Although they don’t have a fixed role, I’m gonna write bellow a brief of the responsibilities of some of the members of a XP team.

Project Managers

Project managers are the bridge between the team and the customer. They ensure the communication inside and outside the team – so they act like a facilitator on the communication of the project, and ensure the customer attendance on the planning meeting, as well as a prompt communication.
They also monitor the team progress, and also motivate them by seeing the quality of the product they are developing. For this, project managers must do an external pressure and communicate what is happening for all the engaged members on the project.

Product Managers

Product managers define stories which help the product to be coherent and harmonic, as well as define priorities and make some clarification all over the project and reduce the scope when the team is late for some reason.

Users

Help the team to write the stories and to make decisions about the project domain. They are important because they have the domain of the business, and should contribute with the project with the experience acquired on the last projects. In XP projects the customer is involved all over the time, giving feedback in order to ensure the correct implementation of the functionalities that could generate values for the organization. 


In XP projects, the customer satisfaction and his feedback is more important than lots of pages of documentation and all the bureaucracy. The customer is present on the project since its start until the end, working together the team, giving feedback and defining the requirements not all at once at the beginning, but for each iteration, ensuring the possibility to changes on the project even late.

No comments:

Post a Comment