A dialog between two CowOrkers:
A: Is that the new IDE?
B: This is it!
A: Man I grew up with the DaddyWarbucks MegaEditor, ever since Version 4. Is this the one with support for Agile programming?
B: Yeah. Let me see. Okay, I have to click here to register the tests, right?
A: I want to write a three line test and hit Go. Will it figure that out?
B: I need to "deploy" the tests first. What's our deployment server's address?
A: Why does it need to know that?
B: I need to register a work ticket with our ChangeRequestControlSystem first. Then I get the structure of the test, based on our repository. This is so the program can fork the codebase each time we get a RedBar.
A: Oookay.
B: Our boss said we're bringing in a team of specialists to set up the build servers, so each one can run a different sub-team's fork. We are targeting the CapabilityMaturityModelIntegration Level 3 with this roll-out, and the boss let us know it's kind of important we don't screw anything up until they get here.
A: I feel more Agile by the minute. What do we do until they get here?
B: We still know how to use the debugger.
I HaveThisPattern. Went into my most recent consult armed with my trusty 3x5 cards and PlanningGame dots. "So, you see, the way we do this agile thing is -"
"Oh, yes agile! We've been using that for months. Not really working too well for us though. Too heavy."
"Um, heavy?"
"Yes, though I'm sure all that discipline is good for Quality. You see the CI console over here and the FIT runner over there? Well, those drive this defect ticketing system over here. The tickets are hooked up to that PM management reporting interface over there, which tells us exactly how to vary our Gantt chart over on that wall up there."
"Um, Gantt Chart?"
"Oh, it's not an ordinary Gantt Chart. It's an Agile Gantt Chart."
"What makes it Agile?"
"Haven't you been listening?"
"Oh."
"So, now you see how it works, we'd just like to ask you, based on your agile experience, what we should do when we get a new requirement we don't expect. We're not quite certain how to do that part yet, you see."
"Well, you break up the requirement into UserStorys which you write on these little 3x5 cards and -"
"Are they the same as tickets?"
"Not really. You see they're easy to scribble on and to tear up."
"What if someone can't read the scribble? And you can't tear up a ticket - you have to version it along with the source."
"You do? Why?"
"Accountability! We need to know who did what, when, and why. That's what the ticket is for."
"Ah, well, there's another difference. The UserStory card isn't for that."
"It's not? Well then we can't use it. So now if I understand you we take the requirement and break it down into tickets. Well then, how do we insert the tickets into the Gantt boxes?"
"Um, you play this little game -"
"Game? Dear chap we have channel partners, service providers, data providers, and SLAs to maintain with them all! This is no game. We need to know how to meet the SLAs if we're going to stay in business."
"SLAs?"
"I thought only machines used those?"
"You thought wrong! So, no games. We have to do this much work in this much time and we use Agile to ensure it has this much quality. We take the quality metrics and plug them into the TOGAF SLAs so that -"
"TOGAF?"
"The Open Group Architecture Framework! Surely you've heard of that?"
"Um, if I could just show you what we do with the 3x5 cards -"
"Oh look we've spent quite a lot of money putting these Agile systems in place. We're not going to just hire someone who's read some XP book as if we were just amateurs. These are real business systems and we're going to do this right ..."
From a real post on the interthing:
"Hi. I am working with a team of Agile Developers on a corporate site. I need to set up a new folder structure for storing their documents."
(& note the remedy there could be BugbaseDrivenDevelopment)