Dec 15, 2014

Did you answer the question I asked?

The last cartoon told the story of a meeting that was trying to deal with a broken schedule but the real story is about broken communication. People hear what they expect to hear. If I ask you a question and you give me an answer that sounds reasonable, I am likely to believe that 1) you understood the question I asked and, 2) you answered the question I asked. That is rarely the case, it is never the case when people are scared. The complete story goes more like this:

I was hired at a company to help them develop a new product line that required a high speed long distance data network. I had been working doing network services research for what was then known as SBC, now known as AT&T, for the last five years and was very much the right guy for the job. (Not to mention that working for the phone company made me so depressed that I had gone to a shrink for help. It was either drugs or leave SBC. I left after I found out that most of the people I worked with were on anti-depressant drugs. Working for a soul sucking evil company is bad for your health.)

After I had been working there for only three or four days I was asked to sit in on a meeting about a project that was running about three months late and that didn't look like it was going to finish any time soon. The project as planned was to take one year. They were now 15 months into the project and were starting to panic.

This was a typical "come to Jesus" meeting where the company president was asking everyone to pledge their lives to the completion of the project. They were told that the future of the company depended on the prompt completion of the project.  (In other words they were told that they either had to complete the project soon or find another job.)

After the attempt to scare his employees to death the president went around the room and asked each person to give him a completion date for their part of the project. He spent a lot of time doing this. He made them swear to the dates. Then he turned on one poor engineer who had been working for more than a year trying to solve a critical technical problem. The problem had to be solved to get the performance they were planning for. Failling to solve the problem would make the system run 50% slower. Worse than that, failing to solve the problem might mean that the process could never be made faster. That was not acceptable. They had to make it faster.

The mistake of making one highly competent person responsible for the most critical part of a project is more serious than it sounds. It puts tremendous pressure on that person. If they fail, the whole project fails. The stress can ruin a great engineer. Everyone needs to have the support of a team and feel that they can always ask for help and get help if they need it. Even the most hard core lone wolf (like me when I was younger) needs to know they can go to management and ask for help without getting put down or beat down. The worse thing that management can do is to say something like "YOU! need help? Gee, I guess you aren't as good as we thought you were." You might as well just carve their heart out and leave them dead on the side of the road. Of course, it does give the manager a perfect scape goat when the project fails.

At the end of the meeting the president turned to me and explained "I know you are not part of this project, but I want your opinion of the new schedule". "Oh shit", I thought. This is the time to either lie or lose any chance I had of making friends here. I decided to tell the truth because I wanted to work there a long time. Better to be truthful with management than to make friends. (I wound up leaving after only nine months, just ahead of the lay off that got everyone over 40.) 

The situation in the meeting was particularly touchy because I was in my late 40s and most of the people in the room were in their late 20s and early 30s. They all had graduate degrees. They had been out of school for only a few years. Most of them had degrees from schools I couldn't even dream of going to. Almost all of them were from rich families, I was not. I was 15 years older than the president of the company. The age and social class structure of the group was out of whack. That all matters more than you might think.

The project was months over due and the engineers had just committed to finishing it in four months. I was being asked to tell them if this would happen or not. I said, "no one asked any questions about how long it was going to take to test the system and integrate it into the production environment". The president looked at me oddly and so did everyone else. I went on to the president "You were asking when the system would be in production and generating revenue. But, the engineers were talking about when development would be complete". You see folks, the question they heard was "When will you be done?" but the president was asking "When will is start making money?".  The engineers all agreed with me. They were telling the president when development would be complete, not when the system would go into production. 

I went on, "Also, there is no plan for what to do if the performance problem is not solved. You need to have a plan in place in case the problem is not solved. How do you know when to punt and go with the lower performance?" The engineer responsible for solving the problem looked damned angry at that point. Tight lips, white edges around the mouth and eyes. I said to her "I am not saying you can not solve the problem. I am saying that it might not get solved in time for this system." That calmed her down a bit.The real problem was that management had never considered any of the risks involved in the project. They planned for the best possible case and never even considered what to do it something went wrong.

I went on to tell the group that I expected at least a month, mostly likely two months, of testing and performance tuning, and at least a month for integration into the production system. I went on to say that I thought it was likely to take three months after the end of development to get the system into production. All the engineers slowly nodded "yes" the president looked like he was about to blow a vein.

It took three months to get the system into production after the end of development.

I talked to the president privately. He thought they had all been lying to him. I tried to explain that they had been perfectly truthful, but they were not hearing the question he was asking. They were hearing the question they thought he was asking. And, they answered that question with perfect honesty. The president could not accept that idea. He lost trust in his development staff.

How come I could spot the problems in the meeting? I spent four years working at the help desk at my university as an undergraduate where I got a lot of experience figuring out what people were actually saying. After school various corporations put me through listening training, requirements gathering training, and interviewing training. I have been a manager and an engineers and seen the same problem in meetings I've been in before. I have seen the problem from both sides and saw the terrible results. You can sum it up as "been trained, been there, done that, have the scars to prove it".


3 comments:

  1. I really like your stories. Hope you'll write more of them :)

    ReplyDelete
  2. The best managers I have had over the past 30 years in software development are those who got their start in software development, even they were never developers, i.e., their early managerial career was in the area.

    It seems like the president had never dealt with software development before, only just product development. And even then I have doubts, because any product needs to be quality-tested, and he seems unfamiliar with the concept.

    ReplyDelete
  3. This blog is further than my expectations. Nice work guys!!!
    website design service companies

    ReplyDelete