Track 3 session 6 panel abstract



Can Requirements Specifications Be Replaced By Databases?

Abstract:

With the increasing maturity of Requirements Management Tools, and the impact of "Faster, Cheaper, Better" sometimes interpreted as "Get through the Requirements Phase as quickly as you can", it is tempting to do away with formal Requirements Specifications altogether, and manage your requirements set directly via a shared, Configuration-managed database. Is this adequate? What do we lose in the evaluation and review process? Is the database or the paper specification more likely to be read and used?

Are there differences in practice (& efficiency) between internally-generated requirements sets (eg for Commercial product development) and different 'layers' of explicit customer-supplier procurement (e.g. contracting for a User capability; prime System requirement; detailed sub-system subcontract)? What effect does this have on depth of detail and flexibility throughout the development lifecycle - e.g. number of levels of decomposition, rigour of traceability?

The panellists will present their own views, from experience gained in all types of industry and customer / supplier relationship. A moderated debate will ensure the audience can participate and voice their own concerns. The purpose of the panel is to learn from the panellists, and each other, that reliance on a requirements database tool, with fully traceable multi-level decomposition and verification matrices, is no more the answer to our prayers than 1000-page requirements specifications. There are 'best-practice' lessons to be learned from using a little of both worlds!

In particular, the panel will discuss, and invite challenges from the floor, on the following topics:

  • Paper versus database as the master version of the requirements
  • Use in the review and evaluation process
  • Comparative readability and usability
  • Treatment of internal and externally-generated requirements
  • Decomposition and traceability (whole system vs e.g. software component), and how to treat them in DB and paper environments.

Five 'position papers' are appended below on these topics; the panel itself will present all the topics, but with only four allowed to speak, to give as much time as possible to public debate!

Moderator:

Paul Davies, Thales Sensors, UK - Impartial observer, and Co-Chair for International activities of the INCOSE Requirements Working Group

Mr Alan Arnold, Director Systems Engineering in the Australian Defence Acquisition Organisation - voice of the customer, and representative of the Symposium host nation.

Context
This submission discusses requirements engineering challenges and solutions addressed by a customer of the International Defence Industry. The Australian Defence Material Organisation, together with the Australian Defence Headquarters, manages the definition and acquisition of capital equipment with about AS$2.5Bn expended each year.

Introduction
A number of reports and studies into the management of major capital projects have highlighted problems in the definition and management of requirements and specifications in Australian Defence Projects. Recent initiatives has sought to improve this situation and provide and improved requirements engineering capability for the Australian Defence Organisation.

What is the desired outcome from requirements and specifications?
Efficient and effective communication of requirements to all stakeholders, acquirers and suppliers to underpin the development and delivery of capital equipment on time, within budget and that satisfy the user's real needs.

Who are the stakeholders?
Within Defence, the stakeholders are a diverse community of system users, operators, technical regulatory authorities, training providers, support staff, and managers. Many do not have a technical professional qualification of working background.

Some practical problems

  • Non technical professional stakeholders are severely challenged in comprehending detailed engineering specifications.
  • Engineering and other technical staff often lack appropriate operational experience to understand the user and operator requirements for a system.
  • The nature of the commercial relationship between customer and supplier is a significant risk issue and the specification and management of risk should be appropriate to that relationship.
  • Government and organisational policies are significant drivers in requirements engineering.

Some solutions

  • A sound Operational Concept Document provides an effective communication vehicle for the diverse stakeholder, acquirer and supplier community.
  • The Defence Materiel Organisation has recently trialed and obtained good results from recording and managing requirements document in an integrated database managed by a modern requirements management tools.
  • Rapid Application Development techniques involve modelling, development of prototypes, and integrated product and project teams working with defined limits to produce new systems or components within short periods of time. Formal specifications are not used. These techniques have proved effective in the evolutionary acquisition of a combat support system.

Panel Member #2: Mr Richard Moore, Litton TASC, USA - an experienced RWG member with a background in the Contractor side of military requirements.

Introduction
Recent experience on two different projects has shown that both paper specifications (in Word document) and databases (e.g., RDBMS or RM tool) are required to fulfil the systems engineering activities such as requirements definition and test planning (e.g., generate test plans and procedures). In addition, contracting officers require paper specifications for their contract files to meet current directives and regulations (depending on how the contract is written).

Discussion
The use of paper specifications in the review and evaluation process has merit early in a system development with the generation of the operational requirements document and concept of operations document and the initial system specification. However, requirements traceability must be established early in a program to ensure the proper flow down of requirements as requirements are allocated to subsystems to include external and internal interface requirements.

Requirements traceability can be done "manually on paper" for small projects (small set of requirements). Large projects require an automated way to capture the relationships between requirements to reduce the amount of errors in mapping these relationships. Databases provide the ability to quickly map these relationships to ensure the proper flow down of requirements. Databases also allow the systems engineer to sort the requirements in different ways to aid in requirements analysis and to better visualize if there are any missing requirements in lower level specifications. Included within databases are simulation models (e.g., Excel spreadsheet or STATEMATE tool) that allow systems engineers to model the expected behaviour of the requirements set and evaluate the proper flow down of requirements based on this expected behaviour.

The distinction between internally- and externally-generated requirements requires a way of tracking how each of these requirements are controlled and flowed down within the system. Good requirements traceability is required here. Externally generated requirements are originating requirements from the customer, user, and operators in the field. Usually these requirements have established thresholds that must be met or the system will not be accepted in the field. Therefore, complete traceability from concept development to test planning is necessary. Internally generated requirements may be controlled at the system or at lower levels within the program. In addition, these requirements may be derived from externally generated requirements; therefore, a relationship is established that must be traced. Again, this may be done manually through tables in paper specifications but this is very prone to error most of the time.

Requirements Databases allow the systems engineer to validate the "parent-child" relationships consistently throughout systems development, in particular as more and more derived requirements are developed that must be traced to higher-level requirements.

Some practical problems

  • Current requirements management tools do not repeatably generate "paper" specifications in the proper format.
  • Contracting Officers normally require having system specification in paper for contracting files.
  • Government program representatives and configuration control boards are use to dealing with "paper" specifications. They will not easily convert to the "gold copy" in a database without a demonstrated, repeatable process for generating paper products for the review process.

Some solutions

  • Current effort on AP233 needs to include "desktop publishing" tools for generating "paper" specifications in the proper format.
  • Tools vendors need to look "outside the box" on what the tool development requirements are besides just requirements traceability. They've done good development on the requirements capture process and traceability although there's still work to be done here. However, they need to look at the back end of the requirements process that captures the results of the requirements capture in a form acceptable to the customer.

Panel Member #3: Mr Mark Sampson, SDRC, USA - author / vendor of the SLATE systems engineering tool, and Chair of the INCOSE Modelling and Tools Technical Committee.

Summary Position: Documents don't work, models are too cumbersome; a design database used to generate documents is a good compromise.

Liver and Onions...
At a recent family reunion, we had an opportunity to sit around the dinner table and reminisce about growing up in a large family. Someone asked, "Mum, why did we always have liver and onions on Thursday nights?"."Your Dad really likes liver and onions", Mum replied."I hate liver and onions, I thought you liked it; that was the only reason I ate it", Dad said. "I don't like liver and onions either, maybe it was Ellen who liked it". Ellen was already shaking her head no, "maybe it was your grandmother who liked liver and onions so much?"...it turns out that no one liked liver and onions, yet we had been eating it under the mistaken impression that someone else in the family loved liver and onions...

So who is it that loves lengthy requirements specifications? Or incomprehensible models? Are we all just itching for a change, and if so, what do we want? What is going to give us all the best value for our efforts?

  • Study at Texas Instruments into the causes of runaway projects puts the blame on failed systems engineering, failure to stay ahead of development, failure to integrate requirement information into development process
  • Reengineering/Hammer suggests putting time/money where the value is-what does the customer value and where do we spend our time on creating that value.
  • Systems Engineers spend ~50% of their time generating documents, 25% re-entering the same information in different places, 15% of their time "futzing", and 30% communicating that information (it adds up to greater than 100% because of overtime)
  • Do customer's values line up with the time we are spending on developing the document? No.
  • What else is wrong with documents?
    • Disconnected document baselines
    • Obsolete by the time they are printed o Document generation outside the development process
    • Don't communicate intent, rationale, etc.
    • Documents are boring, nobody reads them
    • Hide a designs quality
  • What does the customer value? The compliant product.
  • So in case you've forgotten, documents are not the product of systems engineering, the content of the document is the product of systems engineering.

Models and Methodologies don't stick…

  • The modelling people are right when they say "we want the behaviour" and executable specification of the product
  • The problem is…
    • How much fidelity is needed to model reality; how much can you afford? (something like 10% of the value to a project effort can consume 50%+ of the resources)
    • Effort in maintaining the model…experience changes your perceptions of reality
    • Obtuse methodologies that make users "tired"
    • Few people speak the language
    • Create their own processes/bureaucracies…creates tool high priests, by-passes design database, side tracks the best and brightest as tool/model maintainers
    • Create psychological barriers around the design…supports group think, ignoring reality, etc.

A better way to produce documents-connected documents. Capture design while capturing interrelationships

  • Documentation as a by-product of the design capture process
  • Capture design, integrated with requirements…as the design changes, so do the documents that go with it.
  • Various models go with the design (also enables cross-discipline system models)
  • Other benefits…
    • Known document quality (also means you don't have a stack of paper to hide behind anymore)
    • Focused on customer needs rather than documentation about those needs (complete with CM and other overhead functions that go along with document baselines)
    • Brings requirements to where they can have an impact-disconnected Traceability/Requirements outside of the design process are impotent.
    • Integrates meaning with the design
    • Requirements to have impact on the design must be integrated with design decisions (a carrot in front of every design decision results in built-in compliance).
    • Shorter time to delivery (sail boat race example) o Integrated impact analysis

Summary…
Documentation is a poor approximation of the design through once-removed text describing the design. Models that accurately reflect reality are difficult/costly to build and maintain. Something in between-capturing design while enabling models and generating documents as a by-product - is needed.

Panel Member #4: Dr Michael Winokur, Tel Aviv University & Israel Aircraft Industries - a view from academia and from the non-US/UK/Aus axis.

Introduction
From my experience in applying data base tools to requirements engineering in projects of many sizes, and quite a few of them in the "faster, cheaper, dirtier" environment, I can certainly say that you need both:

  • Database tools (with viewing and automatic document generation capabilities) and
  • Written specifications, which hopefully come out from the tool automatically as a by product - I managed the development of such a system that actually worked using Statemate - the engineers hated it, but it did the job.

What are the main issues that need attentions?
The optical illusion: without tools and discipline the development process is only "more expensive, slower, messier" . It is only an illusion of a faster or cheaper development cycle if the Requirements Analysis and Specifications activities are not given their proper attention. A recent NASA report about failed missions clearly shows this. The ratio of wasted money versus effort invested in requirements analysis is inversely proportional.

The approach to requirements in "internal" vs. "user contracted" type systems development is an interesting issue, but it is not a central one. Both development types will suffer greatly in quality and cost if requirements are not dealt with properly There really is little difference in the process needs. The problem to tackle here is more related to large customer acquisition bodies, like military or space agencies that require vast amount of paper as part of their project progress tracking procedure. Repeatability of automatic specification from data base tools, obtuse tool operation for document generation and poor quality or readability of automatically generated documents are the problems in this case.

The most interesting issue arises when dealing with methodology-oriented tools (Statemate Magnum, Slate, CORE) vs. the more administration type tools like RTM or Doors. These latter are practical, but to say that they (in themselves) aid the process of requirements engineering is misleading. What is fundamentally the issue is the requirements process itself rather than the paper-based or tool-based support to the process.

Then, what is at the heart of it?
Models and Methodologies for Requirements Analysis and Specification are still at the heart of system development. Yes this is the main issue. The whole activity of "creating content" in systems engineering is about models. The whole issue of engineering as a matter of fact is about modelling.

Would anybody trust a control system developed by engineers who do not know how to model feedback loops and how to analyse their response and stability properties? What is the difference with requirements? Requirement specification, either in a data base or in a document (or in a document generated from a data base) is only the clerical task of storing or documenting the results of the system requirements analysis activities that created the content. In summary:

  • Obtuse methodologies: use simpler ones, but use them
  • Few people speak the language: create simple models (and use simple language that many people are conversant with, like flowcharts), but take the time and effort required to create them.
  • Maintaining the model demands effort: so what?. Developing a system twice (at least) to get it right because we were lazy in maintaining the requirements and design models demands less effort?
  • Engineers do not know how to use requirement analysis and modelling methods: train, train, train or you'll loose the train!

Panel Member #5: Mr Peter Lister, Siemens Transportation Systems, UK - representing Commercial product development, and an experienced tool-user.

Introduction
This submission discusses the issues of readability and usability of requirements and the differences between internally and externally generated requirements. There are pros and cons for both a paper based representation of a requirement set and a well structured database of requirement 'objects. Both representations have their place, and indeed most suppliers of Requirement Management tools attempt to satisfy both options by providing documentation features. But are documents, for all their convenience, necessarily the best way to make use of requirements in the development of a system?

Narrative Versus Objects and Relationships
The traditional docu-centric view, where requirements are synonymous with a specification document, still predominates. The requirements document is easily assimilated, disseminated, configured and used by everyone involved in a project. No special training or tools are needed to read and understand the content. But is this really true?

Requirement specifications can often mislead because we assume that a well-presented document does not contain any anomalies. Manually created requirements documents almost invariably contain anomalies, significant omissions and even outright contradictions. These can readily be spotted by carrying out the type of formal requirements analysis that should be applied when developing requirements within a database. Of course the sharp-eyed can spot these problems within the document, but in large documents this is difficult and error prone.

You will note the use of the word 'should' in the previous sentence. There have been too many examples where database requirements management has been poorly executed resulting in requirement obfuscation instead of the desired clarification. The requirements database demands that appropriate techniques are applied to review and analyse requirements as individual objects rather than a narrative. Requirements Management Tools offer unparalleled opportunities for generating large volumes of rubbish if a disciplined approach is not adopted.

So why is a good requirements database superior to a good requirement specification? The answer lies in the ability to create and link to multiple structures within a database. Documents can rarely be more than two (or really one) dimensional. The traditional trace table is at best a selective view of the truth - it relates only two sets of objects but ignores any other sets involved. Much is made of the benefits of downward traceability from the stakeholder requirements to the design requirements, and this is indeed important. But just as important is to link requirements to functional and physical structures of the proposed system.

It is highly instructive to propose an architecture and then try and assign (or allocate if you prefer) requirements to that architecture. How many of the requirements do not have an obvious home? How many parts of the architecture have no requirements? When there are relatively small groups of requirements assigned to each architectural element, how many duplicates can you spot now? How many new requirements seem to be needed to accurately specify the components of the architecture? How many requirements are specifying processes, development tasks, or what the customer has to do rather than actually specifying the system? Of course there may be a logical response for any of these questions, but if there is it out to be recorded (as another link in the database) because otherwise it may represent a hidden assumption.

Having created a requirements database, fully linked to collateral information, then any number of documents can be created from that database containing different views of the system. What all these documents will have in common is that they have been created from a multidimensional view of the system, and therefore are mutually and individually consistent.

Readability & Usability
Most would have to concede that a well-presented document is easier to read than objects in a database. It is possible to 'read' a database if it has good facilities for organising requirements in both defined hierarchies (i.e. as for a document structure) and using reader selected filters and grouping. However, unless you have an easy to use requirements database and a certain level of computer literacy, it is easy to lose one's way or miss a critical item.

The benefit of the database is that should a problem be spotted it is possible to explore the collateral information linked to that requirement, which may explain what is going on. If not, there may be a facility for entering a comment into the database, which is then linked to that requirement. Whilst there may be a price to pay for attaining the skills necessary to exploit the database content, there are also rewards for the diligent user.

There are potential pitfalls in circulating documents generated from the database for review. For a start, the document is frozen on the day that it is printed. The database content is both current, and dynamic - if someone has raised a comment then it is available for others to see. It is common for near identical comments to be received from several sources (each instance having to be recorded and linked to the others), or conversely contradictory comments on the same requirement. Also, when reviewers do not know why an apparently odd requirement is there, it is not unknown for the same comment to be received on the same requirement in different versions of the document. Correlating all these types of comments is hard enough if the document is manually produced - if it has been generated from a database it may be necessary to correct several parts of the database. This can make the customer a little impatient when changing two words in a document takes a week to accomplish. However, having made the change then everyone who uses the database from then on can see what was changed on how it now hangs together.

Internally and Externally Generated Requirements
A requirements database is a living and working entity. Starting from the original customer requirements one works down the system level to the subsystem level and beyond. As this requirement flow-down proceeds, more and more cognisance has to be taken of the emerging system design. It is important to distinguish between requirements that have been elaborated from the customer (or at least the definition of his needs) and those that have been derived from design decisions made by the system developer. As part of the 'Problem Space', the former should be considered if not mandatory then at least worthy of careful consideration and consultation. As part of the 'Solution Space'. the latter may be changed more readily, but the rationale for their existence still needs to be recorded.

There is considerable richness of information to record against both internally and externally generated requirements. It is virtually impossible to record this level of information within a requirement specification, and if the specification is not backed up with the necessary information it can be changed without consideration of the reasoning that brought it into being. A requirements database can retain all this information and present it in context when required.

Conclusion
So the requirements database has greater utility, but potentially less readability. It can record a 'rich picture' that documents cannot match and clearly identify the differences between requirements from different sources. Unfortunately, accessing this 'rich picture' requires both training and tools. It is unrealistic to expect all requirement users to work 'on-line', so the document is a vital by-product of the database.

It seems likely that the document will live with us for the foreseeable future. My position is that it needs to be relegated to a secondary position - an artefact of the database rather than the master information set - to be used and replaced frequently. Anybody carrying out significant design activities should always treat the database - with its up to date information - as the prime source of all information. Requirement change should never be considered the simple modification of a few words in a document - all the related information needs to be considered and changed to suit.

 
WebMaster Martin Pittard
Symposium Hosted by