Maybe this is old news to some people, and it probably should be old news to me. I was listening in on a meeting today regarding the use of some tool we were going to use to store our requirements. I say listening in, because the word “attending” would indicate that I was actively participating in this meeting. I’m not sure why mind was adrift, but I think it was because I had decided that the presenter saw the tool as a silver bullet to our requirements problems. Oh, and he said that we’d be having yet another tool brought in-house to report defects. As if we didn’t already have three ways currently…
There are people out there who thinks tools solve process problems. I think that’s partially true, but it depends on the process. Tools don’t so much improve processes as they amplify processes. What’s the difference, you ask? If I have a good process and then I put it into a tool I get more “good” out of the process. Tools can increase efficiency when doing something well.
On the flip side, tools amplify bad things just as well as good things. If I take a bad process and put a tool on top of it, I simply create more “bad” stuff, more quickly and with a false sense of security because, “by golly, I’ve got a tool and tools solve problems!”
So let’s get back to why I was ignoring this presentation about the latest requirements tool (ReqPro, by the way, in case you were curious). We already know that we have a faulty requirements process. Requirements issues make up the bulk of defects that are reported. If we are writing vague requirements today, a tool does nothing to create better requirements. All it does is speed along the process of creating vague requirements. Wouldn’t it be better if we created fewer but better requirements than gobs of sloppy, vague requirements?
I don’t want you to think that I don’t like tools. I’ve heard other six sigma people say “technology does not solve problems” and I do not completely agree. It is the damage that technology can cause in the wrong hands that makes that statement true. Technology has an important place in software development processes.
Technology enforces and enables process. If it is enforcing a good process, then tools like workflow management and source control (especially the two linked together) make sure the right things happen at the right time in the right order. Technology increased the speed at which documents were getting reviewed at my old company. Technology assured that neat little packages of documents and code were kept together. Had I built a bad process, then technology would have assured we did a bad job consistently. Technology would have increased the rate that bad documents zipped around the office.
Before technology could be employed the right process needed to be in place. Technology doesn’t fix processes. Technology amplifies processes, good, bad or otherwise. So, if you’d like to see your bad process go awry in bold relief, get a tool. You’d be amazed at how quickly you can make a big pile of junk with a bad process and some technology!
Posted by ProcessRants
Posted by ProcessRants 

Posted by ProcessRants