Thursday, May 28, 2015

Of course I did my homework, but the dog ate it

This is a true story. The company name has been changed.

Background

The Acme Corporation had a well-established application that was used by large and medium-sized companies. After the most recent release of the product, several of the largest customers complained about poor response time. Company management decided that correcting the performance problem was a priority. It would be corrected and released to customers before any new features were developed for the product.

The analyst from Technical Services reviewed the problem reports, diagnosed the problem, and proposed a solution. The Vice President assigned a project manager to develop a plan for correction of the problem.

Based on the diagnosis and the proposed solution, the project manager developed a high-level project scope and plan. The project to correct the response time problem would take approximately a year to complete. It would require ten developers, plus testers, documentation, and preparation of a new release. The cost would be well over a million dollars.

The Vice President approved the project immediately. The project manager proceeded with the detailed planning of the project. A senior developer was assigned to determine the specific development requirements.

Where’s the report?

The developer began to review the relevant programs to determine the specific work needed. As she reviewed the programs, she began to wonder if the problem to be solved had been correctly determined. Based on how the software was designed, the diagnosis seemed rather odd.

The developer asked the Technical Services analyst for a copy of the report outlining the problem assessment. The analyst was vague, and said he was unsure where the document might have been filed. Follow-ups led the developer to believe that the technical analyst was trying to avoid having to produce the report.

The developer then asked the project manager to intervene and obtain a copy of the technical services report. The project manager made a request, but the report was not provided.

The determined lack of response led the developer to become suspicious that the technical analyst had taken a short cut and not done any proper analysis of the problem after all. The project manager was reluctant to press further, as he thought the developer was concerned about technical details outside her area of expertise.

Analysis of the problem

The developer was determined to figure out whether the diagnosis was correct or not. However, there was no time to do the technical analysis, as she was assigned full-time to do the detailed analysis based on the problem definition and the solution provided.

The developer decided to figure it out over the weekend. She worked both days, using a test environment to test her own theory on what needed to be fixed in the software. At the end of the two days, she had proved that her hypothesis of the problem was correct, and had two potential solutions.  In addition, she had proven that the solution proposed by the technical analyst would not solve the problem, and would very likely make the performance even slower.

The developer met with the project manager, who was skeptical. How could this be? The project had already been approved, and now the developer was telling him it was unnecessary? However, as he reviewed the analysis the developer had done, he realized the technical analyst may not have not done a proper diagnosis.

The project manager insisted on seeing the report from the technical analyst, who finally admitted that no real analysis had been done. The technical analyst had guessed at the problem and solution based on the customer reports alone.

Saving time, resources, money

One of the developer’s solutions was chosen to solve the response time problem. It required very little effort in addition to the work the developer had already done.

More than a million dollars and a dozen individuals were freed up to work on new features for the next software release. The customers would have their application fixed within a few weeks, instead of waiting for a year.

Conclusion

The technical analyst had not done any analysis, but didn’t want to admit it – the systems equivalent of “The dog ate my homework”.

The project manager should have insisted that the technical analyst produce a copy of the report when the developer asked for assistance. 

The project manager would not have to be qualified to understand the technical details in the report, but certainly would be able to recognize if the report was done or not.

Copyright 2015 Debbie Gallagher