We have a separate requirements analysis team on our project. Their mission is to interface with customers. They capture business requirements from them. They also perform analysis, and create system requirements. Developers such as myself are supposed to design and implement code changes based on the system requirements. You can imagine that I am a very interested party in understanding the system requirements then. You could say I depend on them.
I was reading a new requirement for next year. It was a bit vague. I say a couple ways it could go. So I picked up the phone and called the author of the system requirement. I got clarification, and I ran with it. I documented the details in my design document. And it has since been implemented by another developer.
The requirements team asked for some help from development. A new customer was going to be using our system. So they wanted to talk with somebody who really understands the current system. That somebody was me. I went down to the customer site with one requirements analyst. The customer wanted to know how our system would look next year based on the new business requirements they provided to our requirements analysis team. I detailed the changes. The one change I had previously inquired about caused some commotion. Apparently it was not implemented the way the client wanted it to be. I told the requirements analysis person what the client said, and asked that they deal with this further change.
I was a bit taken aback when I saw the requirements analyst contact our internal test team. Requirements directed the test team to fail our software because we hard coded the implementation, and made some wrong assumptions. I called up this analyst and said we needed to stop this train. I explained how I received clarification for their vague system requirement. Apparently their team had forgotten about that. Now they say that they had other ideas on what the requirement should be. I said that was fine. However I would not make any changes based on some back door method like the test team directing how the requirement should be implemented. I was very firm on this.
The next day I was in touch with the management that the requirements team reports to. I carefully explained what had happened. And I said their team needed to contact the customer to find out what they want. We needed to stop the nonsense that was going on. It turns out that the manager I talked to handled the situation personally. I was required to provide additional information. However the way I implemented the code was going to be the way it is required. Sometimes you need to stand up and call some weak actions for what they are – BS.
Backtrack Linux - Backtrack is a Linux distribution based off Ubuntu. It is used for penetration testing and forensics. The distro was a combination of WHAX and Auditor. It...