Hi TB2944,
Can I ask you to clarify something?
...I'd be interested in how your companies approach requirements change management. That is, proper control of iterative changes during development, eg, in response to test failures...
In most cases I am familiar with, failing the test does not change the requirement. It just means you did not meet it. Fix your product and test it again.
Whether you change the product to pass the test, or the goal of the test changes, then I do see how keeping track of the configuration as it evolves is important.
In my organization, we maintain careful control over previous revisions of our products so that we "can turn the clock back" at any time that a comparison is needed between the current design and a previous one.
Control over revisions extends to both the drawings and test procedures that validate the design, because even the test procedure may change, even if the ultimate goal remains the same.
A database to maintain control over the revision status and approval status of all of these documents is all we currently use.
When it comes to keeping track of requirements that change mid-project, this is much more complex. Often there is a chance that some people on the team don't "get the memo" and keep working in the wrong direction.
Usually, though, what hampers most projects that I have done (and there have been many) is that the requirements are not clear from the beginning, and what is designed/built does not completely match the specification or scope of work that was intended. So it is less of a matter of dealing with any requirements that change, but simply managing the process of building what the customer wants.
I have found that groups that share information openly among the members are the best at meeting the requirements with less formal management of the design process. This relies upon all members being generalists, who are invested in the design and having the background to understand how to fulfill these requirements. In that scenario it is more difficult to mix in trainees, specialists, or people hired mid-project. A more typical organization has members with specialties who all contribute to the project as a whole, especially as the project become more complex, and in this case a formal means of planning the project to meet all of the requirements is necessary. This includes developing a matrix or table of these requirements, how to meet them, what documents will be produced to show that they are met, who approves them, and so on. Each requirement should be broken down into small steps and then built back up into the resources needed to get to the end (materials, labour, risks, milestones, etc.). The informal method, on the other hand, does not scale up and is only appropriate for small projects.
I work in the aircraft modification world, so most frequently, requirements I have to meet are specified in the FAR's and the accompanying AC's that we use for guidance. There is no legal way for us to avoid building a "certification program" document that will be examined by Transport Canada (or the FAA/EASA or whoever is your governing regulator). If the customer has other specifications (they always do!) then we get it in writing on a scope of work and sometimes even that evolves into more formal and detailed documents so that we know what performance, capacity, dimensions, limitations are expected. All of these documents will evolve over the life of the project (especially the complex ones). I also expect these documents to have some "cross-talk" where the customer requirements explicitly acknowledge the limitations of airworthiness requirements, for safety, and the certification plan will describe the customer requirements to the regulatory engineers (they are people too!) what the project's goals are.
IMHO, this document should be given to all members of the team that work on the project, however, competition between companies, and outright secrecy, don't always allow that. I frequently discover that the man in the shop building intricate components that I have designed has no idea what they are for, and his superiors won't tell him.
STF