Frankly Speaking: Agile programming is no hooey

Agile programming may sound warm and fuzzy, but Frank Hayes contends that it's a pragmatic approach to writing code

If you read Tom Hoffman's article "A Telco Giant Gets Agile" about how BT is using agile programming for a major software project, you may have stumbled a bit when you got to the description of the "Manifesto for Agile Software Development." Chances are good that, after a quick read, your reaction was "That's all agile is?"

Or maybe your response was "What a load of hooey!"

Agile programmers value individuals and interactions over processes and tools? Working software over comprehensive documentation? Customer collaboration over contract negotiation? Responding to change over following a plan? That's all very warm and fuzzy, but kumbaya circles don't deliver real applications.

Hard-nosed pragmatism is what you need to produce real software -- right?

Exactly. So let's get hard-nosed and pragmatic for a moment about software development.

What do we know from a half-century of software projects? Most of them fail. They run over budget, run late, run off the rails. They cost more, take longer and deliver less functionality than they should.

The bigger a software project is, the more likely it is to fail. And the bigger the project is, the more likely it is to have all the trappings of traditional software development: the extensive plans, complex negotiations, detailed documentation and painstakingly defined processes.

The hard-nosed, pragmatic conclusion?

Relying on plans doesn't work.

Relying on contract negotiations doesn't work.

Relying on comprehensive documentation doesn't work.

Most of all, relying on processes and tools doesn't work.

At worst, these things are merely bureaucratic crutches.

At best, they're still only the machinery of programming projects. You can't rely on them to deliver the goods.

From a hard-nosed, pragmatic perspective, machinery doesn't deliver software.

Programmers do.

And the software that they deliver to corporate users has to meet the needs of human employees, changing business requirements and shifting market conditions. Oh, and that software is useless until it's actually in the hands of the people who can do business with it.

Join the newsletter!

Error: Please check your email address.

More about Agile SoftwareBT AustralasiaLogicalReal Software

Show Comments

Market Place