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:
- Organize
the people to produce software products with high quality and
productivity.
- Reduce the
cost of the changes in the customers’ requirements with the multiple short
development cycles.
- 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:
- System
architecture
- Common
domain model
- 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:
Post a Comment