An unholy wedding of ExtremeProgramming
, the RationalUnifiedProcess
, and the MicrosoftSolutionsFramework
begun at a division of GMAC called the Asset Resolution Division (ARD) in the spirit of http://www.chinapage.org/gnl.html#61
, and continuing at two subsequent employers.
XUP is XP plus whatever parts of RUP and MSF seem necessary for the SimplestBusinessThatCouldPossiblyWork
. XUP can be full-on RUP if you're doing enterprise-scale things or if you're forced by your PowersThatBe
, but so far as possible it works to lead the business towards the XP end of the scale. MSF is a little tacked-on, but the PowersThatBe
tend to prefer things with MS stickers on them. Maybe a tighter integration is possible.
Here are two docs describing this at present. The first is for developers:
The second smaller doc is for managers and stakeholders:
Peter, the links to the docs above are broken. Working links added, thanks to the InternetArchive.
Ron and Kent have seen versions of this and said nothing too unkind, but it remains to be seen whether what we're attempting pans out. I'm posting it for critical comment and as another XP data point.
Please be scathing. -- PeterMerel
If you need the Microsoft sticker, see if you can get a video of CraigWittenberg?
's talk at OOPSLA98. It is called "Components in the Key of C." Craig works at MicrosoftResearch
. He mentions that their internal development process was influenced quite a bit by ExtremeProgramming
. They even have a double billed hat that they flip around when going in and out of refactoring mode.
Their process resembles XP in some ways, but it is also very different. More like XP through a formalist's eyes. I don't think they have the best parts yet, but things could have changed since then. In any case, you could get mileage out of the reference.
Fascinating. MSF and XP have enough in common that I think they're complementary; at least I don't know where they conflict. The same can't be said of MSF and RUP; if you look at the Rational treatment of MSF it's pretty circumspect. I think this reference will help a lot, and will dig it out. Thanks Mike!
Now this is exactly
what I needed! Reading through the ARD docs, the process looks (at first glance) like about 80% ExtremeProgramming
and 20% DontScareTheBoss?
, which is a nice balance, especially when your boss is all BuzzwordCompliant
about Rational and UML like mine.
I've been picking and choosing bits of XP when I see an opportunity to start using them, but it's really helpful to see the end result of someone else doing the same sort of thing. Thanks Pete. -- RichardEmerson
Oops, I forgot to be scathing.
Wow! What a terrific approach! I want to make this the core of my next methodology proposal.
I cannot be exactly be scathing, as I don't find this to be wrongheaded (far from it). But:
I dont think that interoperability and platform compatibility is MS policy.
- I was a little surprised to see the advocacy of CRC cards as a way to drive out user stories. Perhaps it only feels wrong because I haven't tried it. I would be interested in how people have found that approach.
- I see no mention of NonFunctionalRequirements, such as usability, interoperability, and platform compatibility. These tend to be overlooked and can have major impacts on a project.
Thanks for a great job. -- RussellGold
I've just put up the slight revision of the first doc. On CRC, the best way is to try it. See if you can pick up TheCrcCardBook
- lots of excellent tips there.
As to NonFunctionalRequirements
, XP and XUP do these by matching them with the UserStories
. They're discussed in the XUP docs as the Quality(s) that get attached to each story by Stakeholders. -- PM
I was skimming through a conference announcement on the JavaSpaces
users mailing list and I noticed that there's a presentation on XUP by Dick Heijink of Sun Microsystems in the Netherlands. Looks like this 'unholy wedding' is getting around. -- JasonYip
I didn't see any mention of PeterMerel though and MSF isn't mentioned so maybe this is a independently created XUP? Was the term 'Extreme Unified Process' copyrighted?
Here I go throwing away fortunes again: nope, and I'd be happy for anyone to make free with it. Historically I think I have dibs, but I ought to drop Dick a line just so he isn't taken by surprise if someone brings up my little docs. -- PM
In fact, the pdf available at http://www.ideamachine.nl/x_speakers.html
does give credit to Peter Merel on the second page. Check it out.
The talk at The Idea Machine was very interesting and interactive. I think XP and RUP are very, very similar. They are both based on iterative development, they both assume an end-user is part of the team, they are both process frameworks, etc.
RUP is more mature and provides more guidance whereas XP is less formal and requires more learning IMHO.
I don't know yet where and when the slides will be made available. Of course, you can always ask me for a copy.
There's a description of XP as a minimal instance of RUP in the free articles
section at http://www.objectmentor.com
(A preliminary chapter of the third edition of Booch's Object Oriented Analysis and Design with Applications.
by Grady Booch, Robert C. Martin, and James W. Newkirk.)
Those of UncleBob
's words at his Xp2000 talk re: XP as RUP that communicated information rather than emotion suggested strongly that the next release of the RUP CD will discuss this in more detail, with at least some of the practices recommended for (non XP) RUP projects.
I read some of Peter's stuff on the web, and I think he's got some fascinating ideas. He's spot on with XUP, but I'd just wish he'd further it more. In my opinion I think we should start from XP and bring RUP in when needed, not trimming down RUP and infusing it with XP values && practices. I think it makes a big difference. I'm not so sure on the Rational articles below though as they seem to read as two threads. Whereas I think Merel catches a dialectical interplay. Is it worth bringing dx into the mix?
-- Aidy Rutter
I feel that XP and XUP fall down when it comes to the larger company organization and business management processes within that larger company. These processes are covered by MSF and provide businesses with a clear vision of the the structural organization of roles and processes within a company and department. If XUP could absorb that aspect of MSF it'd be great.
I would also prefer it if XUP were to separate some of the XP aspects (quite contradictory) and have the methodology based on contemporary ideas of AgileMethods
with additional suppliments to apply various XP-only practices. Certain practices are not typical in other uses of AgileMethods
. My motives are to have a single methodology that covers the wide range of AgileMethod?
topics (including XP topics) and covers the business organization aspect of MSF without requiring a management to buy into all of the XP-only practices.