Ignorance Driven Development

"I don't know what I want, but I'll know it when I see it."

A rather extended discussion about ElicitingRequirements has been active for quite a while, however IgnoranceDrivenDevelopment is a rather special case. It is frequently indicative though of deeper OrganizationalIssues?. In other words, it is sometimes difficult to elicit requirements if the sponsor is lacking clear motivation.

Actual example:

Steve Jobs rejected the layout of the Apple Macintosh's Calculator application so many times, that the developer, exasperated, created a different product instead: the Steve Jobs Calculator Construction Set. The application exposed controls to adjust every single user interface attribute, position, and constraint. When Jobs was done twiddling with it, it shipped-- for the next fifteen years.

http://www.folklore.org/StoryView.py?story=Calculator_Construction_Set.txt


If you give too many anal toys to the anal retentive, you just encourage their destructive, resource-wasting behavior. The reality of bankruptcy and shipping dates is the only thing that kept Jobs from twiddling his dick-pen forever. He never purchased furniture for his house because he obsessed on every thread. Even his washing machine selection turned into a multi-year drama. When Bill Clinton came to visit him, they had to rent furniture for a few weeks because he was too picky to buy any. He was a design genius, but it came with being borderline insane.

I had a boss once that kept re-editing a how-to guide. I would just let her do it by herself until she was happy with it (probably never), but she made technically incorrect statements (not coming from a tech background) such that I had to rework it upon every change. After 6 re-do's, I shipped it anyhow and lived with getting chewed out. Spank me for being practical. ChoosingSatisfactionOverMoney.

To be fair, I sometimes engage in less-than-ideal-use-of-time tinkering with some program or document because "I feel like it". However, I'm not in management such that such obsessions are kept small and local (and loco).

What about the anal retentives that only see things as tables and refuse to use any tool that is OOP because it would be better done in a tables, even though there are no tools that allow us to easily do GUI with just tables. What happens with this sort of anal retentive is that they end up costing the company huge amounts of time and money because they can't just use proven products like delphi or visual c++ to do the job; instead the table anal retentive demands that they somehow incorporate "tables" into the design and reject all OOP. In this case the anal retentive demanded they only use one type of anal toy (tables) and that retentive is so retentive about it that he will not try new toys.

I've rarely tried to do production GUI's in tables such that you are not talking about me. However, if I had Steve's money and power I just may fund such a project. He didn't move forward by accepting the status-quo. His impatience over sucky tools was part of his motivation to do it better. -t


See: TypesOfProjects

CategoryAntiPattern


EditText of this page (last edited February 10, 2012) or FindPage with title or text search