March 5, 2005
An oldie but a goodie, courtesy of Jeroen van den Bos:
A man is flying in a hot air balloon and realizes he is lost. He reduces height and spots a man down below. He lowers the balloon further and shouts: "Excuse me, can you tell me where I am?"
The man below says: "Yes you're in a hot air balloon, hovering 30 feet above this field."
"You must be a software developer," says the balloonist.
"I am," replies the man. "How did you know?"
"Well," says the balloonist, "everything you have told me is technically correct, but it's of no use to anyone."
The man below says, "You must work in business as a manager." "I do," replies the balloonist, "but how did you know?"
"Well," says the man, "you don't know where you are or where you are going, but you expect me to be able to help. You're in the same position you were before we met but now it's my fault."
Which brings to mind this cartoon Alex Gorbatchev posted a few days ago:
The correct answer, of course, is that there is no correct answer. Software engineering is frequently used to solve so-called wicked problems where it's impossible to visualize all the problems you'll run into without.. actually building the software. In other words, paradoxically, writing code doesn't kill projects: too much planning does!
Failure to recognize wicked projects has given Software Development a bad name. A 1994 Standish Group Report found, for example, that about a third of software development projects get canceled and half do not meet their original cost projections. Some have taken this to indicate that the state of software development is in disarray. However, it can also be read as strong evidence that there are a large number of wicked software development projects out there, trying to address wicked problems with the wrong approach.
A typical management reaction to a failed software development project is to conclude that the organization is immature and to aim for more maturity. This usually means imposing more requirements documentation, more analysis, more planning and tracking against the plan. Managers feel that more use of the classic project management processes will avert future disasters. If the failed project was addressing a tame problem, this approach will probably be beneficial.
However, classic project management practices simply do not work for wicked projects. In fact, referring again to Rittel and Webber, attempting to baseline requirements and then use an analytical approach to reach a solution is a recipe for disaster with wicked problems. These problems are resolved through discussion, consensus, iterations, and accepting change as a normal part of the process.
That article goes on to recommend the iterative development process Scrum. Any iterative process is clearly a step in the right direction. The customer really needed a tire swing but couldn't articulate that. Since we're software developers, not mind readers, the only answer is to quickly put a solution in front of the customer and keep evolving that solution based on real usage.
Posted by Jeff Atwood
Fantastic cartoon! Still trying unsuccessfully to sit upright again :-)
Kick butt!! So vewy, vewy twue...
I buy the argument that too much planning kills Projects. But most of the time, the projects die as there are no planning or not enough time spent on planning rather than spening more time on coding. Dont you agree?
I am so ancient, I remember when I coded patterns on cave walls, for the knitting ladies, before the Great Flood came!
That cartoon was there, in our college classrooms, having been left by some guys who invented the wheel.
But, yes, it is wryly funny!
Actually, saw it again, years later, in Air Force Engineering circles, in the late 1960's!
Hah! Very good, very apt! I like it. Now if I could only get my customers to pay the way yours do...
ouch! someone just got owned! is it you?
has anyone seen the cartoon showing a developer misunderstanding a customers requirement for a vehicle and produces a bicycle?
I recently came across your post and have been reading along. I thought I would leave my first comment. I wonder how this pertains to Business Loans? I don't know what to say except that it caught my interest and you've provided informative points. I will visit this blog often.
This is so true! Mostly the things that the customer requests do not come out the way it should be simply because they do not know how to express what they want.
I know a company called http://www.terraframe.com and they do ontologically-engineered software. I think that this will be helpful for clients who have a lot of things in mind. The software is primarily designed to cater to different solutions for small and big companies. I urge you to visit http://www.terraframe.com and see their specific solutions that addressed to thousands of problems.
Nice post Ray! I visited the Terraframe site and I really does marvelous things for companies. Since I work for a small accounting firm here in Washington, we cater to less than a hundred clients but I hate to admit that some of them get disappointed because of wrong inputs. I believe that Terraframe will do wonders for us. Thanks for the tip!
I have been trying and using PM tools for a long time now…and have seen people try all sorts of things while they are building new PM tools…But I found one recent tool that seems to applied real thought and research…their innovative concept has a web-based tool and a desktop tool which integrate very well…and the best part is that it differentiates between work packages and tasks…so PMs and other stakeholders can create workpackages and a stable time schedule in the desktop version (and this WBS can be loaded to the web based tool) and the tasks created in the web based tool by the team leader. Their website is http://2-plan.com and you know what…it’s free.
The cartoon reminds me of the 4 blind men who were each feeling a different part of an elephant and each thought they were touching something different. Everyone's experience of the same thing may lead to different conclusions, just as copper repipe may be for cleaner water or simply better water pressure.