Tuesday, July 25, 2006

...in which Peter Coffee replies and we start an interesting conversation.

Peter C was gracious to reply to my slightly flammable email, starting with:

> Oh, and please give the word "Agile" back to the English language

It wasn't me who appropriated it...

- Peter

...which I answered with:

Yeah, perhaps I should re-direct that to Scott Ambler. The last time I saw him his advice to Business Analysts was "Learn how to code...".

My other question about Agile is technology selection: when do you determine that the new system will be developed with the technology at hand, presumably the languages and such that the programmers are already using? At what point does Agile say "maybe we should buy a COTS solution"? How does Agile recognize that the solution may not be new software but use of generalized infrastructure options like Workflow/BPM tools, or Business Rule Engines?

I have seen other writers' descriptions of Agile as falling into the characterization of "If all you have is a hammer, everything looks a nail". Thoughts on that?

..which he replied to with:

> At what point does Agile say "maybe we should buy a COTS solution"?

One of the principles of agile development is that "Simplicity--the art of maximizing the amount of work not done--is essential." I would certainly interpret this as implying that a team should consider available off-the-shelf packages, or externally hosted services, as preferable alternatives to writing new code.

> How does Agile recognize that the solution may not be new software but use of generalized infrastructure options

The Agile label's full expansion is "Agile Software Development," not "Agile Systems Construction." I see no reason why a systems development process that includes a development team following "Agile" practices could not also include a dynamic, collaborative uber-team that's looking at other options besides writing new code, but we should be fair to those who use the "Agile" label: they're trying to solve the genuine problem that writing new code is a task that needs to be done better, not the equally genuine but much more general problem that defining problems and developing solutions needs to be done better.

...which I liked very much, as it may clear up some confusion on the topic. I am going to reply with a follow-up, will post it later...

3 comments:

Anonymous said...

Here are some links that I believe will be interested

Anonymous said...

Nice idea with this site its better than most of the rubbish I come across.
»

Anonymous said...

I tried that reccomended software but it is way too expensive and complicated. Please try http://www.gatherspace.com

About Me

Ontario, Canada
I have been an IT Business Analyst for 25 years, so I must have learned something. Also been on a lot of projects, which I have distilled into the book "Cascade": follow the link to the right to see more.