S h o r t S t o r i e s

// Tales from software development

Sometimes, being helpful is the worst thing you can be…

leave a comment »

Sometimes, being helpful is the worst thing you can be…

I still occasionally use the following story as an example of why it sometimes better not to help out when the things get tough on a project.

It was about 16 years ago and I was working for a company that developed system software for IBM mainframes. There was an internally developed issue tracking application called PolyGlut. It was better than nothing but only just. It had originally been written by a guy in one of the product support teams but the Internal Systems department, ISYS, had taken over responsibility for it. They were doing the best they could and although new features and functionality were being added all the time they were simply too under resourced to deliver the new and enhanced functionality that the support teams needed urgently.

The most significant of these functions was a facility to quickly search through all the logged problems so that, for example, when a customer reported a problem we could quickly determine if the problem had been previously reported by another customer. There was a search option but it was unusable as it often took up to 20 minutes to complete a search of a single product’s logged problems. There were times when out of desperation we might use the feature but it was soul destroying to leave it running for 20 minutes only for the result to be ‘No hits found.’

As it happened, at the time I’d been researching free text indexing in my own time and had put together a couple of utilities for indexing and searching text. PolyGlut stored information in text files so it was easy to run the indexer against these and then use the search utility to quickly find problem reports that contained the specified key words. The performance of the searching tool was very impressive with response times that were always under one second to search all the problem logs for all the products. I called the search utility PGIndex.

Suddenly, we had a tool that revolutionised the way we used the problem logs. In a matter of a few minutes we could run searches against all the pertinent keywords and identify any and all problem reports that might be relevant to a newly reported problem.

For the first few days I just used it myself but then Mark saw me using it and wanted it. A few days later all the guys in our team were using it. Then the team that we shared an office with wanted it. And soon I had other team leaders coming to my desk to ask if they could use it too.

Then I got a phone call from Robert who had responsibility for, among other things, managing ISYS. He asked me to come to his office and it wasn’t hard to guess that the discussion was going to be about PGIndex.

Twenty minutes later, in his office, I was explaining how PGIndex worked and how fast it was. I was slightly puzzled by the fact that he didn’t seem as happy about it as I did. We had a short discussion about the ownership of the code I’d written and I made it clear that although it had all been written outside of work hours I wasn’t making any claim on it. So, it would be easy to make it freely available throughout the company, or, to hand it over to ISYS so that they could incorporate it into PolyGlut.

That wasn’t the way Robert saw it.

He said that couldn’t let everyone in the company use it. In fact, he asked me to go to all the team leaders whose teams were using it and tell them that they couldn’t use it. He didn’t really want anyone using it but conceded that he couldn’t stop me using it and that he would take a ‘lenient’ view on the members of my team using it. I thought he overstepped the mark here – why should he be telling the support teams what tools they could or couldn’t have ?

Then said that he couldn’t allow me to hand the code over to the ISYS department either.

I couldn’t make any sense of this. Why was he blocking any use of a utility that had transformed the way the support teams used PolyGlut ?

Finally he explained… ISYS was under resourced. If I handed my code over to ISYS this would obscure the fact that they were understaffed. The best way for him to make a case to the senior management for additional staff in ISYS was by not delivering features and functions that were needed in applications like PolyGlut.

This was a bitter pill to swallow at the time but over the past 16 years since I’ve seen similar scenarios and I know that he was right.

Advertisements

Written by Sea Monkey

February 18, 2010 at 9:00 pm

Posted in Development

Tagged with

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: