wood burning stoves 2.0*
The moose likes Agile and Other Processes and the fly likes Extreme Programming (XP) issues Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Extreme Programming (XP) issues" Watch "Extreme Programming (XP) issues" New topic
Author

Extreme Programming (XP) issues

Cindy Cheung
Greenhorn

Joined: May 18, 2004
Posts: 1
Hi, I am a student of Business Admin. I am doing a research for the topic of Extreme Programming (XP), however, I didn't have knowledge of any programming before, I have some questions on the XP.

1. What is the system devleopment life cycle of XP (I just know the 4 values and 12 practices of XP)
2. Does it has any similar phase as SDLC?
3. What impacts cause manager would select XP as the systems development methodology? (any impacts on time, cost, culture etc)
4. What are the advantages and disadvantages of XP from a management perspective?
5. Does XP provide an improvement in systems development leading to better business outcomes?
6. How XP affect the quality of information system developed using this approach?

Please give some advices for me.

thanks,
student
Rob Keefer
Greenhorn

Joined: Feb 18, 2002
Posts: 26
Check out this paper - Agile Software Development - it will answer most of your questions.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Cindy Cheung:
1. What is the system devleopment life cycle of XP (I just know the 4 values and 12 practices of XP)


I am not fully sure what you want to hear, but http://www.extremeprogramming.org/map/loops.html might give you a first rough idea.


2. Does it has any similar phase as SDLC?


No.

An XP project starts by doing a short (hours to one or two weeks) Exploration Phase, in which enough data is gathered to start the project with confidence (most importantly a first rough cut of the Release Plan).

After that, it is a sequence of fixed-length Iterations which are always similar in structure, time and again suplemented by updating the Release Plan based on the newly gathered intormation.


4. What are the advantages and disadvantages of XP from a management perspective?


It gives you much data on the state of the project, that you can use to manage it. Most importantly, after every iteration (that is, every one to two weeks), you get an update on how much got developed, how fast your team is and how long it will take to implement the remaining features. And that data is based on a running, fully tested system.


5. Does XP provide an improvement in systems development leading to better business outcomes?


Compared to what?

Advantages compared to a more plan-driven approach might include:

- more reliable data on the state of the project, even early in the project - so that you can decide wether it's worthwhile to continue,
- better adaptability to changing business environments
- possibility of early deployment of partially implemented system, and therefore increased ROI
- very low bug count due to early and extensive automated testing


6. How XP affect the quality of information system developed using this approach?


There are several reports of teams out there claiming a drop to only a handfull of reported bugs a year after implementing XP techniques.


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
1. What is the system devleopment life cycle of XP (I just know the 4 values and 12 practices of XP)
The idea is to split the project into very short iterations, typically 1-3 weeks each, in which you perform every activity you would on a "SDLC project". The iteration starts with the team sitting down with the customer to plan what the team is going to build during the iteration, i.e. come up with user stories. Then, the team starts to implement the user stories by discussing with the customer about the details of the story under work and creating an acceptance test for the said story. When the iteration ends, the team reflects on the progress and tweaks the process if necessary. Then it all starts again.

Alongside this very intensive loop, release planning is performed by the team and the customer to keep the big picture in check.

2. Does it has any similar phase as SDLC?
See my answer above. The best way to think about it would be "there are no phases in XP", in my opinion, although certain activities are performed before the XP cycle starts (creating a business case of some sort, marketing research, etc.).

3. What impacts cause manager would select XP as the systems development methodology? (any impacts on time, cost, culture etc)
The practices and high discipline present in an XP development team makes for high quality -- code reviews are constant (pair programming), testing is automated, the source code repository is held in a good state at all times (continuous integration and automated tests), all "risky" code is covered by unit tests (test-driven development, although this isn't really one of the original 12 XP practices) etc.

XP also follows the principles of Lean Thinking and Theory of Constraints, which has been phenominally successful in the manufacturing industries. Producing waste is avoided at all cost and the process supports maximizing throughput instead of inventory.

Time is not impacted (although many XP teams have witnessed significant productivity boosts compared to peer, non-XP teams) since XP projects are running time-boxed iterations -- when the deadline comes, the customer can simply say "ok, this is enough" and have working software, or "hmm, I think I want to spend some extra funds for getting features X123 and Z300". It's the customer's choice, which is most important!

Cost is not impacted because of the same reasons as I gave for the impact on time above.

Culture is impacted a lot. Whether that's good or bad depends on whether your staff is open for improvement or having a protective mindset. Pair programming, the openness, and transparency of progress are things that may be difficult to accept for people who have been accustomed to sitting in their private offices for 6 months before delivering whatever they agreed to deliver before those 6 months.

4. What are the advantages and disadvantages of XP from a management perspective?
The biggest disadvantage is probably that most enterprises have developed their management practices based on cost accounting and the false assumption that software development is a manufacturing process (while it's really a design process) and can be estimated as such.

The advantages from a management perspective are that, for once, the management has real control over the project and real information about progress. The traditional "we're 80% done" doesn't count much when the software is missing a user interface. Extreme programming projects deliver working software every iteration. XP projects also produce statistics that are based on facts (yesterday's weather) rather than estimates projected over a period of months or years even.

5. Does XP provide an improvement in systems development leading to better business outcomes?
Yes, because the focus is on throughput and elimination of waste, it is possible to manage software development projects based on their actual ROI. It's possible to cancel a project and actually have it deliver something that generates value to the business.

6. How XP affect the quality of information system developed using this approach?

See my answer to 3.

You might want to post your questions to the Extreme Programming Yahoo! group as well.


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Oops. Sorry for the severe overlap between mine and Ilja's posts... That's what you get when you leave a half-written post open and watch a TV-series in between
 
jQuery in Action, 2nd edition
 
subject: Extreme Programming (XP) issues