October 19, 1998
Manage Your Project's Requirements
Tools let users keep track of what's needed most from a software project
By Andy Feibus
f you do a post-mortem evaluation on unsuccessful software projects, you'll find that most of them failed because the person responsible didn't properly manage the project's requirements and expectations. A great rule to live by when managing a project: Write down the customer's requirements and get the customer to agree with what you wrote. The corollary to this rule is that once this information is written down, make sure all changes to these requirements are also written down. Raising the level of awareness for the project's requirements--and their changes--doesn't ensure perfect success for a project, but not publishing and tracking this information is a sure way to fail.
Caliber-RM 1.1 from Technology Builders Inc. and Doors 4.0.3 from Quality Systems & Software Inc. are two requirements-management tools aimed at large projects and project teams. Both products support simultaneous access by multiple users on multiple platforms. Unfortunately, neither of these products provides all of the features that I need to manage my project requirements, although Doors comes very close to my ideal requirements for a management tool.
Technology Builders' Caliber-RM 1.1 is based on an object-oriented database from Versant Corp. and hierarchically organizes requirements, with those requirements organized into projects that make up one or more sets or types of requirements (such as business requirements or software requirements). Requirements can be numbered serially (1, 2, 3,...) or hierarchically (1.0, 1.1, 1.1.1, 1.2,...). You can view requirements hierarchically in a tree-like structure or in a flat grid; the grid view provides a number of useful features, including sorting and filtering for certain attribute values.
Caliber-RM requirements have attributes--name, owner, description, priority, complexity, etc., as well as user-defined ones--that are specified in easy-to-use forms within the Caliber-RM client. Caliber-RM supports multiple versions of the same project, so you can move requirements to later releases of a project. In addition to attributes, document references can be assigned to each requirement to provide additional documentation about the expectations for each requirement. Requirement change history is also maintained for auditing purposes.
References can be either whole documents or paragraphs within a document; clicking on the reference from within the Caliber-RM environment automatically opens the document to the specified location.
Requirements traceability--the ability to define a relationship between requirements outside the normal hierarchical relationship--is also available within Caliber-RM. Setting up these relationships is accomplished easily enough through a separate dialog box, but I would have preferred a drag-and-drop interface within the main Caliber-RM attribute pages. Once defined, you can check these relationships from a traceability matrix report provided with Caliber-RM.
Caliber-RM also supports security, allowing the Caliber-RM administrator to create users and assign them to groups. Responsibility for new requirements can then be assigned to these users and groups from the Caliber-RM client. I wish, however, that Caliber-RM supported importing these users from the system's security to save a step rekeying information that is normally common between the two security systems. Caliber-RM can also be configured to automatically send E-mail to responsible users when a requirement changes or a new subrequirement is added. This feature works with Simple Mail Transfer Protocol, MAPI, and Extended MAPI E-mail systems.
Caliber-RM provides a discussion feature for creating hierarchical comments about each requirement. This is similar to having a newsgroup for each requirement. Unfortunately, you aren't provided with an easy way to find which requirements have additional messages since the last time you viewed the discussion thread.
Once the requirements are defined, you can export the information into a Microsoft Word document using the Caliber-RM Document Factory, a wizard that supports mapping Word fields to Caliber-RM database fields. Using this feature, you can easily create requirements documentation from your Caliber-RM project-requirements data. You can also create standardized reports within Caliber-RM that can then be exported to a particular file format, printed, or viewed on the screen. Overall, reporting within Caliber-RM will be good enough for most users.
A Web interface is also available for the Caliber-RM client that supports viewing a few of the attributes for each requirement and interacting with the discussion threads. The interface is based on Sun Microsystems' Java Runtime Environment, which is included in the Caliber-RM package but needs to be downloaded to the client browser; the browser must be running either on a 32-bit Windows-based system or a system running Sun Solaris. Overall, the Web interface provided enough features to replace the standard Caliber-RM client.
Caliber-RM also left me wanting more links to the rest of the world. The product needs to provide direct links to popular project-management tools for creating project schedules from a project's requirements. I also would have preferred that Caliber-RM use a more standard enterprise database engine with better connectivity to other database tools, so that I could generate customized reports directly from Caliber-RM data. You can export Caliber-RM data to a Microsoft Access database and use that for reporting, but that requires an extra step. I also would have liked to be able to easily import requirements from other sources, such as existing requirements documents or other databases, and export them into tools in addition to Microsoft Word or Access. For a first-version tool, Caliber-RM 1.1 is pretty good, and I expect future versions to add connectivity and features.
QSS's Doors 4.0.3 has many more features than Caliber-RM 1.1, including a lot more customizability, version control features, better import and export links, and more flexible reporting features. It also provides support not only for 32-bit Windows-based operating systems, but also for several commonly used Unix operating systems. The Web interface, DoorsNet, is an add-on product priced at an additional $10,000 for 10 concurrent users. With DoorsNet, users can view a project and suggest changes, but not directly change the requirements for a project.
In Doors, requirements are called objects, which are grouped into modules, which are part of a project. Objects have attributes, which you can tailor to the needs of a specific module. Projects also have their own set of users who can log on and access the objects within the project; users can't be organized into groups, however, nor can they be copied between projects or imported from the operating system's security. Module and requirement change history are maintained for auditing purposes, and you can create baseline versions of entire modules for tracking module revisions.
Doors allows users to define customized views to display and print the objects within a module. You can create views either by modifying an existing view or by using the View Wizard, which walks you through the process of creating a view from scratch. These views are all basically a gridlike display of the attributes of the hierarchical objects within the module; you can also display a graphical view of the object hierarchy with Doors. The graphical view looks like a directed graph, with the ability to collapse and expand the hierarchy for each path of the graph. Overall, the view features with Doors are excellent.
Initially, creating and organizing a module might seem intimidating. To help you over the initial pain of defining the basic set of objects and attributes for organizing a module, Doors provides a set of standardized templates. For example, if you want to create a module describing a software development process, just create a blank module and incorporate the Software Lifecycle template. Doors also includes a Project Wizard, which allows you to select the types of modules for a new project and suggests attributes for the objects within those modules. Both the templates and the Project Wizard will significantly improve the efficiency for users new to managing requirements.
Many projects are organized into a team responsible for the requirements and other folks who will review the requirements and comment on them. The Doors Change Proposal System allows these reviewers to submit proposed changes to a particular requirement and then receive feedback via E-mail from the requirements team when the request is evaluated. Each module can be individually configured to handle these change requests, which allows you the flexibility to determine which modules will handle comments in this manner. The DoorsNet interface provides a Web-based client for allowing users to submit these comments.
Doors allows you to define links between objects using either a drag-and-drop user interface or a menu-based interface. Links are stored in a links module that is stored as part of the project; cross-project linking is not supported. Within the link module, you can examine and modify two graphical views of the links between the objects in your project. One of the graphical views is a directed graph of links, similar to the directed graph view provided for each module; the other graphical view is a matrix of links between each of the objects in each module. Doors also includes traceability analysis as well as impact analysis for analyzing these links.
Once the objects have been defined, you can export them to a number of other tools, including Microsoft Project, a Sybase SQL database, and the tools in Microsoft Office 97. Export formats also include HTML, SGML, Rich Text Format, and plain text. For those users starting with requirements documents, Doors can import the information in these documents to create the objects in a module. Import formats include plain text, Rich Text Format, Word 95 and 97, and Microsoft Project. Overall, the connectivity of Doors is close to what I consider ideal and far superior to the other requirements-management tools I've evaluated.
Also nice is the inclusion of a spell checker, so you don't need to export your document to another tool in order to find out that you misspelled the information in an object. Doors provides multiuser support, although not using the best technology. The Doors server is actually three servers: license, application, and database. Each server program can reside on its own system or share a system with the other two server programs. The database server was developed by QSS and has some irritating problems. The biggest is that although the database server will start automatically when you boot your system, it requires that you manually shut it down before powering off the system. Failure to provide this manual intervention--in other words, if your server is shut down by a power failure--locks the database and it won't start the next time the server boots. A true database server would have been better.
Doors also includes an underlying programming language, DXL, which you can use to add features to the product. For example, if you want to create a link to another package for which an import/export interface is not available, you would use DXL to create this link. DXL is patterned after C/C++ and comes with a thick programming reference manual for helping you create programs. DXL is so useful, many of the Doors functions--templates, import/export, and some administration features--were written as DXL routines, so you can modify them if you don't like the way, for example, your objects are exported to a Word 97 document. For some users, this language provides significant additional value that's not available with the other requirements-management tools.
Andy Feibus is president of CustomBytes, an application development consulting firm in Atlanta. He can be reached at firstname.lastname@example.org.
Back to Labs
Send Us Your Feedback
Top of the Page
- Information Streams - Going Beyond the Activity Stream - E2 Conference Boston
- How to Choose a SaaS Vendor - E2 Conference Boston
- The E2 Social Business Leaders - E2 Conference Boston - E2 Conference Boston
- Mobile Connect - E2 Conference Boston - E2 Conference Boston
- Evaluating Emerging Technologies for the Enterprise - E2 Conference Boston
- Building a Hybrid Cloud in Government: It's not that Complicated
- Mobile DevOps: Achieving continuous delivery with multiple front ends and complex backends in Banking, Financial Services, and Insurance
- Maximize the benefits of virtualization for greater ROI
- Cloud Security: It’s Not Just for IT Anymore
- How Cloud Facilitates an Agile Contact Center
This Week's Issue
Free Print SubscriptionSubscribe
Current Government Issue
In this issue:Subscribe Now
- The Government CIO 25: These influential and accomplished government IT leaders are finding ways to be cost efficient and still innovate.
- Rethink Video Surveillance: It's not just about networked cameras anymore. New technology provides analytics, automation, facial recognition, real-time alerts and situational-awareness capabilities.
- Read the Current Issue