aspose file tools*
The moose likes Agile and Other Processes and the fly likes IS xp lightweight process ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "IS xp lightweight process ?" Watch "IS xp lightweight process ?" New topic
Author

IS xp lightweight process ?

shailesh sonavadekar
Ranch Hand

Joined: Oct 12, 2000
Posts: 1874
Is XP is considered as lightweight process ? why ?
Frank Carver
Sheriff

Joined: Jan 07, 1999
Posts: 6920
Yes. Because it does not require a lot of formalized documentation or processes which must be followed whether they are required or not.


Read about me at frankcarver.me ~ Raspberry Alpha Omega ~ Frank's Punchbarrel Blog
shailesh sonavadekar
Ranch Hand

Joined: Oct 12, 2000
Posts: 1874
Thanks for reply Frank. I have one doubt ,Frank. Is the documentation is the only reason for which XP is considered as lightweight process ? If I have not mistaken , XP s not removing the documenation , but it is asking for minimal documentation . But , this minimal documentation can be big also.
Are there other reason for calling this lightweight process ?
Are there other processes which are lightweight like XP ?

Frank Carver
Sheriff

Joined: Jan 07, 1999
Posts: 6920
Documentation is just one visible aspect of "lightness". XP also minimises the amount of time spent in meetings, the amount of time spent on building unwanted functionality, the time spent in debugging and after-the-fact testing and so on.
A "lightweight" methodology, is typically one where all or most of the process is optional. In XP there is no "mandatory design phase", for example. If the customer and the developers can agree a story and its resolution, then go ahead and make it.
Steve Fahlbusch
Bartender

Joined: Sep 18, 2000
Posts: 570
    
    7

Frank,
While i agree that xp is lightweight, i disagree that is in any way a methodology. I see it as a process and as such doesn't address the project management issue around systems development.
I see a methodology as having at least four components:
project management process,
analysis process,
model, and
design and implementation process.
xp does try to reduce overhead in the designand implementation process (which is good if you have a good project management process).
Frank Carver
Sheriff

Joined: Jan 07, 1999
Posts: 6920
I tend to view the "lack" of a project management process as one of the biggest wins of XP! It does really have project management, but it is minimal and only used when necessary. Features of XP like the planning game, stand-up meetings, pair responsibility, on-site customer, the "customer's bill of rights" and the use of "user stories" for requirement capture are all (in my mind) project management practices.
What XP doesn't have is heavyweight mandatory process. There's no big up-front project planning phase. There's no lengthy and tedious status meetings, there's no Gantt charts. I personally can't see how the lack of these in any way prevents XP being used effectively for whole-lifecycle development - from the initial idea right through to multiple deliveries and eventual project retirement.
Perhaps I've just been unlucky; all the "project management" I've come across in my career has been more of a hindrance than a help, so I naturally side with a methodology which minimises it. If you know of any genuinely useful project management process which is not covered by XP, please mention it here. I'd love to see it.
shailesh sonavadekar
Ranch Hand

Joined: Oct 12, 2000
Posts: 1874
thanks , Frank & Steve. It was really nice to get the explaination from gurus like you , people. it is true that it is not having the formal procedures like SEI , ISO . but , I agree with Steve that they are having project management.
what xp says ? " Don't write & implementation documentation - communication in xp projects occurs face to face , or through efficient test & carefully written code."
The project management is very well there , Frank. It is more efficient because of this face to face , man to man interactions. This also prevent making drudgery of work which programmer has to do , when one has to complete so many procedures before getting some work done. This is removed & life of the programmer is made easier. so , it is not lack of project management process. it is in-built , i feel.
xp works on the four basic activities -
coding,testing ,listening & designing. they can not work properly without proper project management.
Design : - xp i think go for iterative development. general waterfall model doesn't work here.
xp calls for shorter release cycles ,so as to avoid schedule slips. ( once again project management comes into picture. ) XP also asks customer to choose the smallest release that makes the most business sense , so there is less to go wrong before going into production & maximum value of the software can be achieved.
May be this informal way is making it lightweight ? what you feel Frank & Steve ? Please correct me if anywher I am wrong.
YOUR FRIENDLY BARTENDER
SHAILESH
Steve Fahlbusch
Bartender

Joined: Sep 18, 2000
Posts: 570
    
    7

Greetings
As i see it (my opionion, i could be, might be, probably wrong, but..) what i would call a metholdology would have at least the four components. The reason for XP in the first place was to give a process (design and implementation process) that was separate from project management.
The primary reasons for this are: scalabilty, adaptablity and environmental issues. And this is what i really like about XP, is the separation.
I consider XP lightweight because it:
basically doesn't have a project management component,
allows for adaptation to the project, and
focuses technical staff on technical issues.
But on the other hand, some of the work that i manage is for a regulated organization. There is a tremendous amount of project management stuff that must be done (not an option not to). But the same process can be done for design and implementation.
Most previous methodologies would bind these two areas and thus would require that certain artifacts are done, because thats what the methodology requires.
To tell you the truth i really do not like any of the project management processes that are "tailored" to software. I find that it is a lot easier to take whatever process the organization uses and follow that (this is usually done to get the project on the radar for the budget folks to allocate monies, so i just follow there recommendations, i get my money).
John Wetherbie
Rancher

Joined: Apr 05, 2000
Posts: 1449
I'm a bit confused on why you think XP separates out "project management" from the development process. Based on my experience as a Coach it doesn't do this at all. Project management is split between the Coach, who is responsible for the process and technical oversight, and the Tracker who records the estimates, tracks what it really took, and provides feedback to the team so that estimates continually (OK, maybe not always continually :-))
get better.
Also, XP doesn't exactly prevent slips. Because of the focus on short iterations problems can be identified early or at least earlier. Feedback into the planning game makes estimates better (see note above) but if you underestimated something you can deliver less than what was expected on a particular date. The important thing about XP in this regard, and other iterative and incremental approaches, is that you are always getting feedback on problems and how well your estimates were. Used well, this info can significantly reduce, but not eliminate,the occurrences of not delivering a specific piece of functionality by a specific date.


The only reason for time is so that everything doesn't happen all at once.
- Buckaroo Banzai
shailesh sonavadekar
Ranch Hand

Joined: Oct 12, 2000
Posts: 1874
John , good to hear your point of view apart from Steve & Frak. You have mentioned as your role of a coach with the perspective of project management. Can you please elaborate upon that , if it is ok for you ? I am not able to get the hang of what you mean by that ?
I have clearly mentioned that XP has project management as part & parcel of the process. Devlopment also encompasses that. I am sorry if i am not clear in my post.
One thing that you have said regarding slips. Due to short developement cycles , continuous interaction with clients , communication within the teams , makes it really easy to avoid slip.
Other thing XP propheses is that work on the things that are really important to client. Thus , the imporatant things can be released first. Other things can be released afterwards. Thus , XP focuses on CLient's imporatant requirements ( imp. from view point of developement of the product also ). So ,there are far better chances of avoiding the slips as compared to other processes. A lot of Explaination is given by Mr. Kent Beck about this in his epic book " Extereme Programming Exaplined , Embrace Change ".
According to XP , there are four imporatant things.
1.cost
2.time
3.Quality
4.Scope
Main thing for S/w development is Scope from view point Schedule. If Scope is clear cut & the thigs are well approved by Client , then you can have realastic estimates ( Schedules ). so , it is evident that slips may occur if the scope is not well defined. But , XP reducing that tremendously. That is one of benefits of using XP , I Feel. Rest of the factors are also very , very imporatant. Every factor is having effect on other three factors.
John , don't you think that these things happen more frquently & are less preventable in other heavyweight processes ?Please correct if I am wrong.
John Wetherbie
Rancher

Joined: Apr 05, 2000
Posts: 1449
I may not have been clear myself in my post. Lets see, where to start...
I do agree that heavyweight processes and non-iterative development approaches in general are more likely to have slips.
As for project management, I am just echoing Kent Beck in his description of how project management is handled in XP as being split between the Coach and the Tracker, and relaying my own practical experience. I spend my time watching what's going on, asking questions, trying to mentor vs direct the way things should be. I also spend a lot of time dealing with other groups at my company and external to our company. From what I can tell we have more dependencies on external organizations than a "standard" XP project may have. These are the project management aspects of my job. The fun (non-management) part is when I get to pair program with someone!
As to slips, I guess it depends on what your definition of what "slip" is. I have read Kent's book 3 times through and also was able to get some onsite training from Object Mentor. You are right that we are always talking with each other, talking with the client (I talk with the guy a fair number of evenings, not just at work), working on the important priorities & requirements. Remember, though, that the customer has the right to come up with new stories at any time and say these are now the number one priority. On our project this is driven a lot by the client making deals/partnerships with other companies and these things happen pretty fast. We are also in production so if something goes wrong with the site (Note: The project is a website and the associated backend systems. New partnerships means we need to integrate content or functionality provided by the partner into the system. Production problems mean some or all of the site may not be working. That means big $ lost.) that issue becomes the number one priority for at least part of the team. So the strength of XP is that I can point to our stories or our board which summarizes what stories we are working on and their associated estimates and make the customer immediately aware of what is going to happen.
So, a specific piece of functionality can and does slip, i.e., miss the date it was estimated. However, we always deliver new functionality (or get something fixed) that the customer thought was the top priority at the end of each increment. The customer is always in the loop and aware of what is going on even if he is not always completely happy (and our customer is pretty tough to please) he is seeing progress. We try not to take task/story estimates and pad them with a percentage for production problems but that is something we are contemplating.
So, we are doing much better at hitting our estimates and delivering software faster than we would be with a heavyweight process, no doubt. The scope of work gets refined through the planning & iteration planning games and even more so through the team's daily interaction with the customer. It is just that we have a lot of touch points/factors that can impact us that we have minimal control over. So that is why "slips" occur on my project. It might be more accurate to say that we have a high replanning/recovery percentage in each increment due to changes in priority or production issues.
Wow, I really went on about that. I'll get off my soapbox now.
Glad to see people are talking about this kind of stuff on Java Ranch.
Now if I could only find a mobile robotics company in the Denver DTC area that was using Java...
shailesh sonavadekar
Ranch Hand

Joined: Oct 12, 2000
Posts: 1874
John , my ,what a detailed explaination. Wow , that was really enlightening to read. it was really nice to get the reply from you immdeatley.
You have said that you have gone through Kent Beck's book threee times . Same here. But , i am goind to read it once againg in perspective of your answer. May be my thought process may be more refined now , while reading it.
I really envy on one thing that you have received onsite training from objectmentor. If i have not mistaken , it is run by RObert C. Martin , one of the foremost proponent of XP. He is having one of the best XP sites. Did you receive trainig from Kent Beck & Martin Fowler also ,as they generally come to objectmentor sessions. How was the experience ? Was it useful in your business ? Waht was the utility value of that trainig ? In what way it is helping you ? Can you share that with us ? can you also share your other experiences while using XP , if time permits & if it is o.k for you.
You have said that Glad to see people are talking about this kind of stuff on Java Ranch. I think , if i have not mistaken , it is complement for javaranch & for me also , may be. As a moderator of this discussion forum , I am really exalted with the complement from you. it is really enlightening to see people like you , steve come & share their experiences , share their quality time & get the satisfaction of participating. I am really , really happy.

I earnestly request you , Steve , Frank to participate in this forum , share your experiences & make this place more richer for knowledge sharing.
You said " Stopping your soapbox . " it ws not at all soapbox. It was really wonderful to have detailed explaination.
Last thing . "Now if I could only find a mobile robotics company in the Denver DTC area that was using Java..." . my small brain couln't understnad this. Can you please elaborate ?
Now , I am stopping my soapbox. ( By the way , SOAP : Simple Object Access Protocol from Microsoft )
Bye.

[This message has been edited by shailesh sonavadekar (edited November 14, 2000).]
John Wetherbie
Rancher

Joined: Apr 05, 2000
Posts: 1449
Well, I'm back. My last screed really tired me out... :-)
Glad you didn't think it was too much of a soapbox rant. I know I can get carried away.
Regarding the training from ObjectMentor: I've known Bob (Martin) for a few years now and try to steer business his way, though he certainly doesn't need help from me! We had a gentleman by the name of Michael Feathers come lead our training. Mike is very sharp and really wanted to help. We took a slightly different approach to the sandard onsite training. We tried to minimize the lectures and just tried to dive in and start doing it. From what Mike said this is apparently the direction they are going with the immersion trainings they have every few months.
Kent, Martin, Bob, and other folks usually participate in the immersion sessions. There is one coming up in a few weeks in Santa Cruz. Wish I could have waited to go to that but we needed to get rolling. If you can convince your company to send you and another person to XP immersion training I would highly recommend it.
Regarding the mobile robotics company thing: Well, my Master's thesis involved a mobile robot that went through a part of a building and identified whether it was in a corridor, a dead end, etc. It was a lot of fun. I'm currently working at a company that builds websites and internet/intranet backend systems. I've always liked learning and research so I have this romantic vision of working for a robotics company doing research-type stuff.
I'll try and do a better job of checking back on this forum on a regular basis. Maybe I can start a new thread - pair programming: fact or fiction?
John
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: IS xp lightweight process ?