A is for All.

There is a concept in project management known as the “project triangle”. Imagine that at each point of the triangle you have Good, Fast and Cheap. The notion is that you can have any 2 of the three but never all three.

Good & fast or fast & cheap or … you choose.

This idea has spread quite widely and is common to hear expressed in meetings when new ideas or initiatives are being discussed. I attended a training couse on ITIL Foundations (Information Technology best practices) and saw this idea surface there as well.

Why do we accept this as dogma or unassailable wisdom?

I believe it has to do with how easy it is, or not, to do any better.
Can we do better than choosing “either or”?

I have seen at least two clear cases where we didn’t have to choose.

Case study #1:

I was working as the CIO of a small start up. We wanted to build a customer data mine that would allow us to explore consumer befavior from those people purchasing our product. We figured if we understood the customers that bought a lot of our product, we might better understand the sort of customer to select for targeted marketing with the highest purchase potential.

The problem was, we had very little money, time or staff to throw at this project. We weren’t completely sure what questions we might want to explore from the data mine so our design had to accomodate a lot of flexibility. It also had to be fast. A year’s worth of business was about 1.6 million records to examine for each new search and at the time, computers were not so inexpensive and not nearly so powerful as today. It also had to be easy. We didn’t want to create a search facility that only a database guru or programmer could operate. It had to be used by our marketing VP with just average technical skills like using Microsoft Word or Excel.

We spent a fair amount of time on design and then began to program. Once we got to test, it became clear that we’d achieved none of our objectives. It was slow, complicated and not very flexible. It was so complicated, that we couldn’t even figure out how to test some of the internals to be sure the answers we got were right! It was clear we would never succeed with this design.

We had about 3 months left of a 9 month project budget. What to do?

We threw all the work in the trash can and started over from scratch. Now, we only had 3 months left to finish. This turned out to be a huge blessing in disguise! Why?

Only a truly simple approach could be designed, tested and placed into use in that short time. Our earlier design had used a traditional, “normalized” database design that ended up joining the contents of 5 tables of data. The need for simplicity forced us to take those tables and join then into a de-normalized flat file once per day. That flat file then allowed us to use the very simple query tool that is built right into Excel. We ran some proof of concept speed tests. The approach proved to be lightening fast!

We showed our marketing VP our new approach and he loved it!

By being forced into a really simple approach, we had done it. We had a design that met all of our objectives: fast, cheap, simple, accurate, easy to program, easy to test, easy to maintain and easy to use!

Why wasn’t this our first design?

I’ve come to believe that what is simple, is not so simple to think through. Human beings, in particular technical human beings, seem to delight in the charm of complicated solutions. The simple approach is rarely the first idea to come forth (and this simple approach was resisted by the technical team). Truly simple approaches only emerge if the team is dedicated (or forced by circumstances) to find simplicity.

Case study #2:

At an ITIL training, we discussed the “either or” nature of the classic compromises faced by teams. It occured to me that almost all of us use a facility that is fast, easy and cheap (completely free, in fact) nearly every day; Google searches.

Fast? …yes! Easy? …yes! Cheap? …completely free!

Now, you could argue the cost is hidden from users because advertisers end up footing the bill. What’s wrong with that? In many cases, the un-intrusive Google text ads are actually helpful to users once they decide to find a source for whatever it is for which they have been searching.

Both the Google search service and the flat-file marketing datamine are examples of thinking “outside-the-box”. Neither, were so simple to think of first.

There are times when we can have it all. You might say, a win-win. Win-win thinkers have to be dedicated to acheiving that win-win state. The win-win is not so often the first solution that presents itself.

We don’t have to live in an “either-or” world. It only seems easier to accept that we might.