[SATLUG] thoughts on languages
kell at spoonix.com
Tue Dec 5 18:42:15 CST 2006
On Tue, Dec 05, 2006 at 05:28:00PM -0600, Travis H. wrote:
> On Tue, Dec 05, 2006 at 02:38:22PM -0600, Justizin wrote:
> > Keep in mind that XP and its' big brother Agile came after test-driven
> > development.
> Did not know that. What is the Agile software dev method?
I consider it to be XP, but without the hype.
Again, wikipedia's entry for "agile development" has a great summary,
but the even shorter version is:
1) the development of the whole system is basically just a series of
"iterations" that last 2-4 weeks
2) customer sets the goal for what the software should do at the end of
the iteration... customer only get to pick one target, though
3) team spends all week working on that (and only that) functionality
4) customer signs off on the work or sends team back to redo it until
Next iteration: customer picks a new target, goto 1, repeat until
customer is satisfied with the product.
The idea here is that the customer can see and influence development of
the software and will be able to reprioritize development effort to add
in features he forgot to mention during the requirements gathering phase
or drop the features that don't really make a whole lot of sense once he
sees them in action. It also puts the customer in control of when
something is ready to ship and avoids the snarky "You geeks would never
come out of beta if we didn't force you to" attitude that the PowerPoint
and Excel crowd seem to have.
You still need to do upfront requirements gathering and some
design/architecting... but the "agile" part means that those
requirements aren't set in stone and that the team is organized to
handle surprises better (because of the shorter timeline).
Weak points are:
1) it's a little harder to schedule (offset by the fact that it's easier to
gauge progress, though)
2) the customer has to remain involved... if they get bored with the
meetings at the end of the iteration, you're screwed and might as well
go back to CMMI
3) developers have to have some self-discipline not to explore
interesting side avenues during development... you only do enough coding
to implement the feature that was requested for that iteration
It's harder to pull off than it sounds, though. :)
K. Spoon <kell at spoonix.com>
More information about the SATLUG