Waterfall Made Easy--The RUP Way
Per Kroll
Face it, iterative development is for people who don't know what they want, who don't believe in themselves enough to trust their own specifications. They don't know their requirements, they don't know where their projects are going to end. No wonder they're afraid of the waterfall method--that takes a little confidence. Here's an analogy. You go out deer hunting. You take your bow and arrow, but do you need a map and a compass? Hardly, not if you are a real man! You take direction from the sun, go east for 3 days, and then shoot your bear. Sure, you meant to shoot a deer, but nobody can call you a coward for shooting a bear, right? And notice I said bow and ARROW, no "s." That's right. Real men bring only one arrow. They know how to aim (and they remember to take plenty of time when aiming), and they put all the wood behind that one arrow. Only sissies bring extra arrows for--what?--in case they "miss?" Real men don't know the meaning of the word. This is the way our fathers did it, and our fathers before them, and if it was good enough for them, it should be good enough for us.
But eventually, it happens to all of us managers: In spite of our superior leadership skills and knowledge, we find ourselves leading a renegade team that's trying to do iterative development. How do you bring them back?
During this presentation, we will discuss some situations you may encounter, and key tools to use to get the project back on track! For example:
- Your team claims that RUP is an iterative process, and lots of people are using it. Don't panic. Calmly explain that iterative development is just a thin veil of marketing sprinkled over RUP to attract confused believers in iterative and agile development. Just look at the phase names as an example! Some think that the Elaboration phase is about elaborating on key risks by doing design, implementation and testing. Humbug! The intent is to elaborate on the requirements until there is consensus that you have achieved analysis-paralysis, at which point you can safely go to the next phase.
- You may have some young kids on your project hinting that the classic approach to software engineering, the one taught "way back when you were in college," is out of date, and that they have learned "newer and better stuff." Take a deep breath, try talking like a friend, but make sure they understand your superior intelligence. Say something like, "Dude, our entire school system has TOTALLY deteriorated into a morass of cultural relativism and uncertainty principles underpinned by a growing acceptance of the deconstructed interplay of western values." That blank expression on their faces? Just a sign that you've got 'em where you want 'em. If you need further proof, just point out that they even teach agile as a "software engineering discipline," just as they teach intelligent design as a "science."
- If you still have a team insisting on iterative development, teach them a lesson! Deploy a version of RUP targeted for very large projects with hundreds of people distributed over different locations to your 5-person collocated team. Tell them you LOVE RUP, too, and you just can't wait to see all those updated artifacts in the repository every Thursday. Within 2-3 iterations they'll come staggering back toward the waterfall. It's the only way to go!
So, join us for this refreshing lecture on waterfall made easy, and remember--real men do not do agile!