Subscribe by Email

Friday, May 25, 2012

Explain Extreme Programming XP life cycle?

XP or extreme programming is one of the best agile software development practices ever known since the advent of the agile software development concept. This agile software development methodology was developed with the intention of making improvements in the quality of the software product and responsiveness to the ever changing requirements of the customer. 

Being an agile software development methodology, it involves the frequent releases of the software product in short development cycles (this methodology is called time boxing). This type of methodology is intended to improve the overall productivity and also helps in introducing the check points where new customer requirements can be carefully adopted. 

Elements of Extreme Programming

There are certain elements of the extreme programming few of which are as mentioned below:
  1. Programming in pairs.
  2. Extensive code review.
  3. Unit testing of the whole software code.
  4. Avoid programming of the functionality and features until there is an actual need of them.
  5. Provides a flat management structure.
  6. Maintains simplicity.
  7. Maintains the clarity of the code.
  8. Expects the changes in the requirements of the customers with the passage of time for the better understanding of the problem.
  9. Maintains frequent and effective communication with the programmers, developers and customers.
This article discusses the life cycle of the extreme programming. In the nineteen’s there was a lot of fuss regarding the extreme programming since the environments being adopted for it were quite different from those that were used earlier. 
All the practices of the extreme programming require high discipline making the observers think that the practices are too rigid and should be left unfinished or reduced on the individual sites. 

Extreme Programming Life Cycle

- Simplest example would be of reducing the practice of integration tests to some mutually agreed dates. 
- This helps greatly in coping with the rush of generation of the artificial stubs converting the whole hard process in to a relaxing schedule.
- In this way it will be easy to develop the complex features over a period of certain number of days. 
- Such an approach also helps in investing the development process checking whether or not it is following the right track or not. 
This development methodology is evolving further till date acquiring an assimilation of various experiences in the field of software engineering. 
- First step in this process is setting up the goals.
- The primary goal is to organize people to produce software productively and with higher quality. 
Another goal is to minimize the budget of both the money and the time by making use of multiple short development cycles.  
- After goals come the activities. There are four main activities have been defined:

1. Coding: It has been argued over and over that the code forms the most important part of the software development process since no code means no working project.
2. Testing: In testing phase also the XP follows the same philosophy i.e., “if a little can do this much good! More can do much better!” Two types of tests are carried out namely unit and acceptance tests.
3. Listening: This stage involves listening to the customer’s needs and understand what business logic is required.
4. Designing: It involves creating a design structure so that the dependencies withing the program can be avoided.

No comments:

Facebook activity