“Wait a minute,” you say, “you got that backwards.” Do I? What was the last major purchase you made as a result of a marketing person or perhaps a salesperson touting how great the features of that item were and how it would transform your life. Did it? If it did, congratulations, but most of the time we feel a sense of disappointment after buying something expensive that does not live up to the hype we were told. Perhaps it was that sports car that was going to attract all the girls, but instead attracted higher insurance premiums. Perhaps it was that computer with the new dozen core processor promising to cut our work time to a fraction until we found out that our software only takes advantage of a single core no matter what. Maybe it was the new cell phone that would allow you to eliminate the need for a home computer because it could do anything and everything a PC could do. Then you found out that half of the memory was taken by the OS and pre-installed software and the rest of the memory was not only not expandable, but that only certain things could be relocated to the micro-SIM card.
I maintain that everyday people are out to sell us something by over-promising the features, the savings, or the efficiency of their product. In the meantime, the manufacturing portion of the company appears to under-deliver the final result. I suspect that it is not always the manufacturing department’s fault. They may have built a very good product based on the specs and requirements given to them at the time the product was first designed. However, in order to sell that product and meet their sales quotas, the marketing staff has to stretch the capabilities of the product just a little to make it sound like a better choice than a similar product from that other company down the street.
Did you ever notice how some movie trailers give away too much in the desperate desire to convince you to come to the movie theater so they can sell you a bucket of popcorn that could feed a small town in Africa and a soda that costs as much as a half dozen 2-liter bottles? Some theaters even allow you to get free refills on that bucket of popcorn loaded with melted salted butter. Why? So you are thirsty enough to buy a second round of sodas of course. Put aside that popcorn bucket with its ton of butter and riddle me this, do movie trailers sometimes give away so much of the most interesting action scenes, even some of the plot twists, that they effectively have overpromised the enjoyment you will get out of seeing the entire movie which then appears to under-deliver the entertainment value?
I just went with my work team on a team-building event to see the latest Star Trek movie. (Yes it is a valid team builder because everything you need to know about working together as a a team you can learn from Star Trek.) We made a point of not listening to the reviews before going and we tried to avoid the advertisements and trailers although we were less successful at that. I’m not going to spoil the plot for you, but let me just say that the trailers in this case did not spoil the twists in the story line. In fact, in some ways, we were totally misled as to what was going to happen by the trailer. Whether that was accidental or on purpose, I do not know. Go see the movie and then let me know here.
However, this movie and indeed, most of the entire Star Trek franchise revolves around the concept of under-promising and over-delivering. No matter how badly the ship is damaged, Scotty somehow manages to pull it through. Ok, he did admit back in one of the movies that the way he was able to maintain his title as a miracle worker was by doubling his estimates. Also, no matter how high the odds are stacked against Captain Kirk, he somehow always manages to save the day. In fact, the heroes in most movies have that same characteristic, the ability to over-deliver when it really matters.
How does this apply to your IT job? The last time someone asked you to estimate the cost (time and materials) for a project, did you sit down with a few of the developers to design the system on paper to arrive at a realistic estimate of how long it would take to complete? Did you take into account that the average developer may not actually be productive for a full 8 hours in every single day they are at work? Did you factor in vacation time, sick time, holidays, the inevitable time lost due to meetings, and the need for real testing, documentation and training of end users, not just the time needed to develop the initial system? How about adding a contingency on top of that for the changes to the project’s scope?
Sure it’s not a perfect science. It is difficult to predict major impacts to a project such as key staff members leaving the company or the ‘special project’ that supersedes all other projects that the president of the company wants done yesterday. Estimating is really an art that a manager only learns by experience, by knowing what their team is capable of, and by being able to look at the bigger picture, not just the lines of code needed for specific functions.
For that reason, you may want to under promise the features that the new software will support or the amount of time needed to build and deploy the software by carefully examining the needs and the wants. Trying to do everything wanted may cause the project scope to expand turning it into Mission Impossible which for most companies is equivalent to the over-promise/under-deliver trap I mentioned earlier. Rather postponing some of the wants until a version 2 might be a smart way to get a system out in front of the user to get a better idea based on their user experience which wants should have a higher priority in the next iteration of the software. By delivering something that is useable and meets all the essential needs early rather than delaying the development to implement all the wants can buy your team user acceptance and credibility much like Scotty on the Enterprise. And if you have time, add back some of those wants that you did not promise in the initial system. In other words, over-deliver.