![]() Successful EDM Implementation:Requirements Analysisby Rainer Hoff, Ph.D., P.Eng. September 1998 © 1998, Gateway Consulting Group, Inc. Introduction This is part 5 in a series about successful EDM implementation. Part 1 and the methodology diagram are given in the Jan/Feb 1998 edition of Document Management. An information systems project ("the Project), either in the realm of electronic document management ("EDM") or product data management ("PDM"), is usually intended to satisfy many, diverse needs. In order to ensure the success of the system, these needs have to written down. This is the essence of the Requirements Analysis phase.
Do We Need a Requirements Analysis? Yes. Many studies show lack of or inadequate requirements are a major cause of system failure, where "failure" is defined as not meeting predefined expectations, often those of the person sponsoring or using the proposed system. This was stated quantitatively by Boehm, as the result of analyzing about 100 software development projects in major corporations. Boehm showed that if the cost of fixing an error is 1 unit at the Requirements phase, it rises to 10 units during coding and 40 to 1,000 units during operation. This is very similar to the "cost of quality" statistics, popularized during the international quality movement, over the last decade.
Whats In This Paper? Writing an article about requirements analysis is a daunting task. For a larger EDM/PDM project, there can easily be over 100 subtasks during the Requirements Analysis phase, so its tough to present these, plus explanatory discussion, in a reasonable length article. Thats why a comprehensive treatment of this subject is better suited to textbooks, such as those listed at the end of the paper. However, I would like to:
What Are Requirements? Requirements are statements of WHAT a proposed system is supposed to do. This is separate from HOW the function is to be accomplished: the HOW being a design issue, not a requirements issue. For example: "The system shall allow Work-In-Process files to be accessible to all users", is a requirement. On the other hand, "Work-In-Process files will be stored on N:\DATA\WIP\", is a statement of HOW something might be accomplished, and is therefore not normally a requirement. I had the pleasure of working with an engineer who had years of experience writing system requirements for government electronics projects. His rule of thumb is that if the sentence starts, "The system shall ", then its probably a requirement. If a sentence starts in any other way, then its not a requirementits descriptive information. One of the greatest challenges is to avoid designing the system during the Requirements phase. For every requirement that is identified ("The user needs to A, B, C"), a technically inclined person is tempted to offer a solution ("Well, we should X, Y and Z"). Dont do that! Wait until the totality of requirements is known, before designing.
Requirements Analysis Procedure The high level technical activities during the Requirements Analysis phase are:
Elicitation Armed with the high level project scope, determined during the Initial Study, and the financial information, determined previously or concurrently during the Business Case, you should have a reasonable idea of what the system is supposed to do. Its now necessary to obtain more detailed information from prospective users and other stakeholders. Normally, this takes place in during meetings and interviews. Should you interview "everybody", who might be a prospective user or stakeholder? Should you interview a "statistical sample" of users? I would start with the sample (its cheaper to interview fewer souls), and then "augment" the initial sample with additional people who contribute some unique functional, technical or political perspective to the project.
System Modeling During the Requirements Analysis phase it is necessary to document the various data elements and business process elements that comprise the mission of the proposed system. An effective way to communicate our understanding of the data and process elements is through models and diagrams. As Teorey notes: "The overriding emphasis in modeling is on simplicity and readability. The goal of conceptual design, is to capture real-world data requirements in a simple and meaningful way that is understandable by both the designer and the end user." You might need several, complementary approaches:
Each of these diagrams models the proposed system in a different wayyet they all contribute to its understanding and communication. A timesaver to is to automate the creation of these diagrams using a CASE tool. Many use VISIO for simple diagramming; others use EasyCase (www.easycase.com) for diagramming, modeling and some database generation. For larger projects, Oracle-CASE is more common. As well the system architecture should be modeled, which can start at the block diagram level and work up to the sophisticated diagramming techniques described in the previous, I.T. Strategy, article
Analysis The system modeling deals with issues that tend to be quite data-centric. Many additional concerns and activities need to be analyzed, including:
Documentation The requirements must be documented. The requirements document must be written clearly and concisely. Words must be used consistently. This is especially true for acronyms. If EDM means "Electronic Document Management" in one section, it should not mean "Engineering Document Management" elsewhere. If you use both the terms EDM and PDM, be sure to provide your own definitions, since the marketplace has sent conflicting messages about what these terms mean. The level of detail in the requirements document is a compromise. An overly brief requirements document (say 10 pages) doesnt convey sufficient information about the proposed system. Too many questions are unanswered, there is too much ambiguity about what is wanted, and evaluating vendors offerings is impossible without sufficiently detailed requirements. An overly detailed requirements document (say 1,000 pages for typical EDM/PDM implementations) is expensive and time-consuming to produce. Furthermore an overly detailed requirements document might be partially a system design document, which is not desired at this point. Obviously theres a happy medium between these two extremes.
Validation Once the requirements document is prepared, the requirements must be validated with the various stakeholders. Note that the purpose of reviewing the document is to ensure that the requirements are valid, and not to assess the style and writing ability of the author. A helpful way to validate the requirements document is to devise test cases, and check to ensure that the necessary requirements are included. Such test cases might be:
Other Issues System Size It is extremely important to obtain and document volumetric information during the requirements elicitation process. Some vendor product offerings cannot demonstrate that they can successfully handle large volumes of users, documents, database tables, etc. You must set the volume targets early, since EDM/PDM systems are only scalable within limited ranges.
COTS Commercial-Off-The-Shelf software is generally procured for EDM/PDM implementations. Such software seems "complete" and some wonder why requirements are even needed since the COTS application "does it all". Requirements are vitally important in the COTS world for two reasons:
RAD/JAD/Prototyping You may have heard that system development can be accelerated through the use of techniques like Rapid Application Development, Joint Application Development and/or prototyping. These techniques are very useful, especially during the System Design phase, and especially for developing the user interface. These techniques are not a replacement for developing system requirements.
Additional References For further information on this very involved subject, please refer to the following references: books by Simsion, Firesmith, Booch, Sommerville, Gause & Weinberg, and Boehm. Acknowledgements I would like to acknowledge the substantial contribution of my colleague Glen Alleman, for providing the material for this and other papers. This has been a brief treatment of a very vital subject. Feel free to e-mail me at rhoff@gatewaygrp.com if youd like more information or elaboration. |