Information Technology Dark Side

Struggles of a Self-Taught Coder

Information Technology Dark Side header image 2

IT Utopia!

May 13th, 2007 · 5 Comments

Once upon a time, in a land not far away, there was a problem. It was an important problem, and not solving it would have a dramatic impact on the multi-billion dollar empire of it’s corporate ruler. A benevolent leader, eager to solve the problem, went searching for a leader, someone who could be counted on to tackle the problem with single-minded dedication. She offered him all the resources at her disposal in solving the problem. Need a brilliant architect? Done – his schedule was suddenly cleared and he appeared, ready to work. Need a highly skilled performance tester? No problem. The benevolent leader had the power to re-prioritize work with a wave of her scepter and experts, regardless of their current work responsibilities, were made available. A dream team of expert problem solvers was quickly assembled and given one objective: solve the problem.

In a similar way, physical accommodations were quickly made to ensure the success of the effort. Office space was created for the team to work in, and food and beverages were brought in around the clock to make sure everyone had the energy to focus on the problems. Solving the problem was more important than the inconvenience of making arrangements for the team.

Meetings, like the logistics, were organized around the concept that solving the problem was more important than anything else. Instead of making demands or proscribing processes to follow, concerned managers attended with the aim of removing any roadblocks preventing the team from making progress. They asked what they could do to help the team, not the other way around. Ideas were bantered about and debated openly, without regard for sensitive egos or the relative rank of the originator of the idea. No one complained that the direct communications was insensitive, disrespectful, or otherwise inappropriate for a setting involving senior management. The only thing that mattered was solving the problem.


Day to day management of the team was just as utopian. The only “progress” measured was the distance from solving the problem. Theories were created, tested, and discarded. Every time a theory was proven wrong, no one called it a mistake, not even managers. When there were disappointing moments, nobody got blamed. Instead, the discussion focused on the new understanding of the problem generated by testing the theory.

There was no standard set of deliverables the team was expected to produce. Instead, the team was asked to just do what was needed, and was given strict instruction to resist doing anything that didn’t bring them closer to solving the problem, no matter what it was.

Under such excellent conditions, you wouldn’t expect it to take long for a team to solve any problem, and this case was no different. Within a few days, the problem was solved, the team was dissolved, and the fairy tale came to an end as everyone returned to the work they had put aside.

What was this problem, you ask? It certainly wasn’t a typical project. It was a beautiful moment of cooperation, facilitation, and unification that resulted in a positive outcome. But there was nothing glamorous about the problem itself. In fact, it was a simple production support issue, with broad impact on business processes of a Fortune 500 company.

I believe behavior like this is typical when an important production system goes down. I know of a company where a single, simple service (like checking the balance of an account) is used so frequently by customers and sustains such high volume that the company measures it’s outages in thousands of dollars per minute of downtime. In a peak hour, an outage of this one simple service can result in driving over $100,000 worth of additional phone calls to their customer service center. No wonder even large organizations quickly become agile when these types of capabilities are temporarily lost!


When I think about this story, I wonder why this type of effort can’t be sustained for longer periods, or why it can’t happen in every IT project. Wouldn’t we be more successful if it could? Why do managers (including myself) so easily get distracted from the goal of facilitating progress and removing roadblocks? Why can’t we always work this way? How does “do what it takes” become “follow the process” when we switch from problem resolution to project execution?

For those involved, this event was described as a brief expedition into IT Utopia. For those of us not involved, it is a good reminder of what makes projects good.

If you enjoyed this post, make sure you subscribe to my RSS feed! Stumble it!

Tags: Project Management

5 responses so far ↓

  • 1 Drew Kime // May 14, 2007 at 11:14 am

    There are a couple of reasons this style isn’t typical of IT projects. First is that production support is completely different from most project work in one very important way: the problem is well defined. Something worked on Monday, it doesn’t work on Tuesday. Make it work just like Monday again.

    The second reason is the staffing. For something with six-figure impact per hour you don’t want an architect with an impressive resume, dozens of certifications, and decades of experience with your primary programming language. You want Bob, the guy who wrote the system from scratch, and demands $1k per hour with a four-hour minimum.

    There are two reasons expert teams get away with less formal process than is typical, but I can only prove one of them. The official answer that business sponsors tell themselves is that the experts have worked “the methodology” for so long that they can follow the same procedures without exhaustively documenting all the steps. And there is some truth to that.

    But I suspect the larger reason is that experts get the work done so much faster there just isn’t enough time for documentation to build up.

    The best athletes make things look easy that most people could not even do. The best IT people do the same thing. The management challenge is to recognize the difference between a project that went smoothly because it *was* easy, and one that went smoothly because the team made it *look* easy.

  • 2 Wayne M. // May 14, 2007 at 2:34 pm

    This reminds me of many of the software development procedures I’ve seen. The common thread? They all had a clause that exempted us from paperwork for “emergency” issues. In other words, we had to follow the processes except when the issue was really, really important. Too bad the rest of our work was not considered important.

    P.S. Grammar Nazi Note: I believe you meant “prescribe” not “proscribe.”

  • 3 Allen // May 17, 2007 at 2:26 pm

    “Weeks of coding can save you hours of planning”
    - Seen in a managers office at LM

    Shhhhh… critical meeting in progress

    of course then there is the other side…

    “Any problem can be made unsolvable
    if enough meetings are held to discuss it.”
    – Don Guinn

  • 4 educational blog // May 26, 2010 at 8:42 am

    Very happy to read about IT Utopia!

  • 5 sozdanie saytov // Aug 6, 2010 at 10:14 am

    Nice post “It Utopia” !!! Tnks.

Leave a Comment