?

Log in

No account? Create an account
entries friends calendar profile my webpage Previous Previous Next Next
Spider webs and software development - Tina Marie's Ramblings
Red hair and black leather, my favorite colour scheme...
skywhisperer
skywhisperer
Spider webs and software development
This summer, spiders built a giant web around Lake Tawakoni. If you missed the coverage, it's all linked from here. In a nutshell, heavy rains this summer filled the lake and encouraged the breeding of mosquitoes and other water bugs. 12 different families of spiders cooperated to build a giant web, covering several mature trees, and thick enough in places to block the sun. From the Dallas Morning News coverage:
"Normally they are cannibalistic and their webs are separated," said Allen Dean, a Texas A&M University entomologist who examined 250 specimens collected at the site along a trail at Lake Tawakoni State Park. "They live in harmony because there's so much food available."
This isn't really a revolutionary concept - it's been known for years that the primary cause of war is a shortage of resources, real or imagined.

But I think it's also why software projects fail. The process usually goes something like this:
  • Someone comes up with a cool idea.
  • They start working on it.
  • Management hears of it, and agrees that it's a great idea.
  • They tell the developers that it's vital that the new product be the first to market, and present them with an aggressive schedule.
  • Eventually, the product ships, months late, over-budget, and under-quality, and no one is happy.
This cycle repeats indefinitely.

Management can make resources scarce in two primary ways - excessively aggressive schedules, and excessive external reporting. The worst case is when they do both simultaneously: "It's really important that this not slip, so we need to update the schedule twice a week until it ships!". The less resources available, the less each person can spend to help their co-workers, or keep documentation up-to-date, or refactor that troublesome piece of code. The less resources available, the more it becomes important to be sure that your part of the team has enough, and the bickering and infighting escalate, taking away more resources and making it worse.

It's a spiral dive, and I'm not sure it's possible to recover once the pattern is established.

The solution is obvious - don't start the pattern. I suspect that for most projects, a month or two difference in time-to-market really doesn't matter. And if you make the schedule too aggressive to begin with, it's just going to slip anyway. If you have to control time tightly, make the other resources flexible - minimize the features, or reduce the amount of status-reporting overhead.

There's a name for that: Agile Development.

It seems like such a simple concept - why does everyone continue to do it so wrong?

Tags:
Current Mood: cranky cranky

1 comment or Leave a comment
Comments
scarybaldguy From: scarybaldguy Date: October 19th, 2007 02:19 am (UTC) (Link)
They do it the wrong way because they've always done it the wrong way.
1 comment or Leave a comment