Fog Creek Software
Discussion Board




Management Gleefully Proud of Project Complexity

One of my assignments at my job is to work onsite for a client helping them get their web application working. We're nearing the end of a phase of development after which the company's current programmer will be leaving the state to move closer to school. Part of our wrap up process is to document the existing system.

After a day spent on side of just asking the programmer questions about the system and trying to chart it out and write notes so he and I can start the documentation process I've discovered a few things.

* There was never a spec for the project
* Every part of the web application evolved to it's current state through a series of one-off management requests to "add this" or "how come it doesn't do this? we promised it to a customer!" emergencies.
* There are many areas of optimization and clean up potential. It's really a rather simple model when you look at it from a larger perspective with only a few objects in it.

After a day of meetings, the programmer's boss showed up and asked, "So is Phil all up to speed on our system now?" He smiled really broadly as if to say "see how hard it is?". He seemed really proud of it. He proceeded to suggest to the programmer that they give me a "little quiz" on their app. He seemed pleased that his application is confusing and complex. It is, but not by design - by lack thereof.

Just an interesting experence and observation: People seem to be pleased with applications that are hard to work with. They seem to think that complexity equals good.

Anyone else encounter this? Joel, what's the principal at work here?

Phillip Harrington
Thursday, February 21, 2002

Here is an entertaining read on the subject I recently found.  I found it Very insightful.

http://www.kuro5hin.org/comments/2002/1/5/205049/1425/34#34

I have seen this phenomenon before too.  The really funny (scary) part is that you can trace the mishmash of Methodologies the programmers used throughout the code.  You can tell in March, someone bought Design Patterns because all the comments simply said things like, "Observer Pattern."  In May, someone obviously did some reading on algorithms, because of a cache gratuitously made out of linked lists.

Sammy
Thursday, February 21, 2002

A great deal of traditional business application development is done in this manner.  I have seem it also.  I am currently in a project like that myself.  But where you had a knowledge transition, I have had to learn by listening to emergancy meetings and asking my own questions.  Giving me two days of learning impacted the project schedule greatly but the three weeks lost due to lack of business knowledge is OK.  The bottom line is that most small and medium sized companies I have seen are not prepared to do the things that will make them great like planning, design and documentation.  They view reactionary tactics as some type of new business idea and think that spontaneous meetings to resolve issues is the "California" way to do things (this is true... my current boss told me that line).  Most technical managers have two things working against them.  First is that they should not be managers.  Second is that they do not have the power or the knowledge to manage the expectations of upper management.  In general they are "yes" men.

I am not saying that their are not good tech managers in the world.  I think they are as rare as a top notched software developer.  The world needs more tech managers than make their people great and devliver great products.

Chris Woodruff
Friday, February 22, 2002

This sounds like the "Dancing Bear" phenomenon described in Alan Cooper's book "The Inmates Are Running the Asylum".

"It's like the fellow who leads a huge bear on a chain into the town square and... will make the bear dance... The bear is really a terrible dancer, and <i>the wonder isn't that the bear dances well but that the bear dances at all</i>." (p.26)

Which is to say he's an apologist for the software:

"[Dancing bearware] polarizes people into two groups.  It either makes them fell frustrated and stupid for failing, or giddy with power at overcoming the extreme difficulty." (p.29)

After so many bad projects like what you described I've become *facinated* by the psychological motivations of people in the development process.  This book explains a lot of that (especially chapter 7).  Excellent book.  Highly recommended read.

Brandon Knowle
Friday, February 22, 2002

Refactor mercilessly.
Programmers are linear, procedural thinkers. The rest of the world is not. Every project I have ever seen has a random and unplanned element. Enlightened management or not, that is how it goes.
Refactor and survive, or add to the conglomeration and quit when it gets too hideous. The choice is up to you.

Doug Withau
Friday, February 22, 2002

"[Dancing bearware] polarizes people into two groups. It either makes them fell frustrated and stupid for failing, or giddy with power at overcoming the extreme difficulty." (p.29)

Boy, this really explains Linux ... =-)

Alyosha`
Saturday, February 23, 2002

The phenomena of people zealously defending something that's difficult to learn is the same mechanism that keeps hazing alive in frat houses, and causes gangs to have random violence be a pre-req to joining.

In breif there are two things at work here.

1. The stubborn belief that something gained through hard work is worth more than something that is gained easily.

2. The shared experience that brings you together with an elite group of people you can now trust because they've all been through the same thing as you. This experience has to be something you brought about yourself and isn't otherwise justifiable except to yourself. In other words, if you killed a rival gang member, you could justify it in terms of the gang. If you kill a random person on the street you can only believe you did it for your own reasons.

Actually, let me add to that list Linux early adopters and other sadomasochists. One of my co-workers was hugely turned off to CityDesk when I bought a copy for myself. I swear the reason is that he spent 3 months configuring Coranto and perceived it as a threat.

The Inmates are Running the Asylum is on my "to read" list. Your insights may have moved it up a few notches. Thanks.

Mark W
Thursday, February 28, 2002

*  Recent Topics

*  Fog Creek Home