Subscribe by Email

Saturday, May 26, 2012

Some detail about usage of work products in extreme programming?

Extreme programming or XP gained popularity as one of the most effective agile software development practices in the late nineteen’s. This methodology came in to existence for the purpose of the implementation of the software projects using the 12 predefined practices.

These practices are a refinement of the best practices of the software engineering. The whole process is intended in making improvements to the quality of the software system and its ability to respond to the needs of the customer. 

The frequent releases of the software system or application are regulated by the iterations or the short development cycles. There are certain elements of the extreme programming which include:
    1. Pair programming
    2. Extensive code reviews
    3. Unit testing of the whole code
    4. Avoiding programming of the features and functionalities that are not required at the moment.
    5. Keeping a flat maintenance structure.
    6. Maintaining clarity as well as the simplicity in the code.
    7. Expecting changes in the requirements of the customers.

The above mentioned elements make the whole development process all better. During Kent Beck’s work on his C3 (Chrysler comprehensive compensation system) pay roll project, he developed this agile software development methodology. 

Extreme is nothing but as the name suggests, a process of implementing the best practices of the software engineering to the highest levels possible. Extreme programming has always been surrounded by a lot of buzz regarding the environments in which it was used and is being used. 
Its practices always demands high discipline making them appear to be so rigid. On the other hand if an approach is quite flexible and less rigid, schedule makes it easy to incorporate complex features in to a fully developed software system or application. 
The practice continuously integrating the whole software system helps a big deal in keeping the whole development on the right track. With its 4 activities (namely coding, testing, listening and designing) the extreme programming is aimed at achieving the below mentioned goals:
  1. Organize the people to produce software products with high quality and productivity.
  2. Reduce the cost of the changes in the customers’ requirements with the multiple short development cycles.
  3. Define changes as the natural and desirable aspect of the software projects.

About Work products in Extreme Programming

This article is focused up on the work products of the extreme programming. In one research it was found that the extreme programming helped in many of the projects in reducing the costs and time to market the software products and improved the productivity.  
- Describing the work products of a software methodology helps in checking out the problems of the interpretation.
- Extreme programming is not a small methodology therefore it involves a large number of intermediate work products. 
- But to say as a whole, the work products are quite necessary.
- People who are just beginning with the extreme programming need to know what are actually acceptable work products. 
- The stake holders need to know what they are entitled to ask for. 
- Three work products are mentioned that are typical to an extreme programming development process. 
- The number of the work products depends on how they are counted. 
- In the extreme programming the work products are distributed across the roles i.e., to say they are light. They are:
  1. System architecture
  2. Common domain model
  3. Screen drafts
There are dozens of the work products and doing each of them might be a hectic work! But on the other hand if you skip out many of them your project will lose its visibility as well as its alignment.
- You cannot pick some core work products since even lose of one product can hamper the whole project development. 

No comments:

Facebook activity