Recent site activity

Requirements Checklist

Here a potential checklist of requirements gathering and risk management.

Functionality

 Requirement QuestionsImpact
Auditing
  • Functionality
  • Supportability
  • Design requirements
  • Is audit capability required?
  • What level of auditing is needed?
  • Are there any constraints on the mechanism used to provide audit capability?
The greater the sophistication of the audit mechanism, the longer the time to market, and the greater the long-term maintenance cost.
 Authentication
  • Functionality
  • Design requirements
  • Is there any requirement for authentication?
  • Are there any constraints on the mechanism used to provide authentication capability?
The greater the sophistication of the authentication mechanism, the longer the time to market, and the greater the long-term maintenance cost.
Communication
  • Functionality
  • Design requirements
  • Will inter-process communication be required?
  • Are there any constraints on the mechanism used to provide communication capability?
The greater the sophistication of the communication mechanism, the longer the time to market, and the greater the long-term maintenance cost.
 Error Management
  • Design requirements
  • Are there any constraints on the mechanism used to provide error management capability?
The greater the sophistication of the error management mechanism, the longer the time to market, and the greater the long-term maintenance cost.
 Event Management
  • Design requirements
  • Are there any constraints on the mechanism used to provide event management capability?
The greater the sophistication of the event management mechanism, the longer the time to market, and the greater the long-term maintenance cost.
 Licensing
  • Functionality
  • Design requirements
  • Will the system, or parts of the system, be licensed?
  • Are there any constraints on the mechanism used to provide licensing capability?
The greater the sophistication of the licensing mechanism, the longer the time to market, and the greater the long-term maintenance cost.
 Localization
  • Functionality
  • Supportability
  • Design requirements
  • Does the system need to support multiple human languages?
  • Which human languages need to be supported?
  • Are there any constraints on the mechanism used to provide localization capability?
The greater the sophistication of the localization mechanism, the longer the time to market, and the greater the long-term maintenance cost.
 Online help
  • Functionality
  • Design requirements
  • Will online help be required?
  • Are there any constraints on the mechanism used to provide online help?
The greater the sophistication of the online help mechanism, the longer the time to market, and the greater the long-term maintenance cost.
 Persistence
  • Functionality
  • Will data manipulated by the system be written to disk?
  • Are both shared persistent data and user-specific persistent data required?
  • Will shared persistent data need to be made available to a "traveling" user who is working offline?
  • Are there any constraints on the mechanism used to provide persistence?
The greater the sophistication of the persistence mechanism, the longer the time to market, and the greater the long-term maintenance cost.
 Printing
  • Functionality
  • Design requirements
  • Is printing capability required?
  • Are there any constraints on the mechanism used to provide printing capability?
The greater the sophistication of the printing mechanism, the longer the time to market, and the greater the long-term maintenance cost.
 Reporting
  • Functionality
  • Design requirements
  • Is reporting capability required?
  • Are there any constraints on the mechanism used to provide reporting capability?
The greater the sophistication of the reporting mechanism, the longer the time to market, and the greater the long-term maintenance cost.
 Scheduling
  • Functionality
  • Design requirements
  • Will certain system actions need to be scheduled?
  • Are there any constraints on the mechanism used to provide scheduling capability?
The greater the sophistication of the scheduling mechanism, the longer the time to market, and the greater the long-term maintenance cost.
 Security
  • Functionality
  • Design requirements
  • Will elements of the system need to be secure?
  • Are there any constraints on the mechanism used to provide security capability?
The greater the sophistication of the security mechanism, the longer the time to market, and the greater the long-term maintenance cost.

 Transaction management
  • Functionality
  • Design requirements
  • Will transactional capability be required?
  • Are there any constraints on the mechanism used to provide transactional capability?
The greater the sophistication of the transaction management mechanism, the longer the time to market, and the greater the long-term maintenance cost.
Workflow
  • Functionality
  • Design requirements

  • Will movement of organizational units of work be required?
  • Are there any constraints on the mechanism used to provide workflow capability?
The greater the sophistication of the workflow mechanism, the longer the time to market, and the greater the long-term maintenance cost.

Usability

 RequirementQuestions
 Impact
 Accessibility
  • Are there any special requirements that relate to the ease with which the system can be exercised (including by novice users)?
The greater the accessibility, the longer the time to market, and the greater the long-term maintenance cost.
 Aesthetics
  • Are there any special requirements regarding the "look and feel" of the system?
The greater the aesthetic appeal, the longer the time to market.
 Consistency
  • Are there any special requirements regarding the consistency of the user interface, both within the system and with other systems?
The greater the level of consistency, the longer the time to market.

Reliability


 RequirementQuestions
 Impact
 Accuracy
  • Are there particular constraints on the accuracy of any calculations to be performed by the system?
The greater the level of accuracy, the longer the time to market.
 Availability
  • Are there any requirements regarding system "up time"? This may be specified in terms of Mean Time Between Failures.
The higher the availability, the longer the time to market.
 Recoverability
  • Are there any special requirements regarding recovery from a system failure?
The greater the level of recoverability, the longer the time to market.

Performance


 RequirementQuestions
 Impact
 Recovery time
  • Are there any requirements on the time the system takes to recover from a system failure?
The shorter the recovery time, the more sophisticated the recovery mechanism and the longer the time to market.
 Response time
  • Are there any constraints on the time the system takes to respond to particular events, such as user interaction?
The shorter the response time, the longer the time to market.
 Shutdown time
  • Are there any requirements on the time the system takes to shut down?
The shorter the shutdown time, the more sophisticated the shutdown mechanism and the longer the time to market.
 Start-up time
  • Are there any requirements on the time it takes the system to start up?
The shorter the start-up time, the more sophisticated the start-up mechanism and the longer the time to market.
 Throughput
  • Are there any special requirements regarding throughput of data supported by the system?
The greater the throughput of data, the longer the time to market.

Supportability


 RequirementQuestions
 Impact
Adaptability
  • Are there any special requirements regarding adaptation of the software (including upgrading)?
The greater the system's adaptability, the longer the time to market, and the greater the long-term maintenance cost.
Compatibility
  • Are there any requirements regarding this system and its compatibility with previous versions of this system or legacy systems providing the same capability?
The greater the compatibility, the longer the time to market.
 Configurability
  • Will the product be configured after it has been deployed? In what way will the system be configured?
The greater the configurability of the system, the longer the time to market, and the greater the long-term maintenance cost.
 Installability
  • Are there any special requirements regarding system installation?
The greater the instability of the system, the longer the time to market.
 Maintainability
  • Are there any special requirements regarding system maintenance?
he greater the maintainability of the system, the longer the time to market. The trade-off is between time to market of the first release of the system, and any subsequent releases.
 Scalability
  • What volumes of users and data will the system support? This may be expressed as a profile over time.
The greater the scalability of the system, the longer the time to market.
 Testability
  • Are there any special requirements regarding the testability of the system, such as testing "hooks" that allow integration with a testing tool?
The greater the testability of the system, the longer the time to market.

Implementation Requirements


 RequirementQuestions
 Impact
Third-party components
  • Are there any constraints (including cost) on the use of third-party components in the system?
  • How important is it for the system to be vendor independent, in terms of the third-party components it uses?
  • Are there any approved relevant alliances with third- party vendors?
The more third-party components used, the shorter the time to market. Also, the system is likely to be more maintainable because these components are effectively subcontracted.

Existing alliances typically remove the need for contractual negotiations, thereby improving time to market.
Implementation languages
  • Are there any constraints on the programming languages used to develop the system?
Specification of particular programming languages must be reconciled with tool support and available skills. Time to market is increased if either tools or skills are unavailable.
 Platform support
  • What platforms must the system support?
  • Which operating system versions must be supported?
  • Is Web access required? If so, then which Web browsers and versions must be supported?
  • Will the system be ported to new platforms in the future (over and above those explicitly stated for the system)?
Development for a single platform shortens the time to market. It also allows closer integration with platform features.

Development for multiple platforms lengthens the time to market. Close integration with platform features is lessened, increasing system maintenance. However, deployment on new platforms is quicker.
 Resource limits
  • Are there any limits on the use of system resources, such as memory or hard disk space?
The more constrained the available resources, the more efficient resource use is required. This increases time to market and lessens maintainability.
 Standards compliance
  • Are there any standards to which the system must conform? This may include coding standards or a user interface style guide.
Use of available standards can decrease time to market and improve consistency in a number of system areas.

Interface Requirements


 RequirementQuestions
 Impact
 External systems
  • Are there any external systems with which this system must interface? Consider both provided and required interfaces.
The greater the sophistication of the interface to external systems, the longer the time to market, and the greater the long-term maintenance cost.
 Interface formats
  • Are there any constraints on the nature of the interface between this system and any external system, such as the format of data passed between these systems, and any particular protocol used?
The greater the sophistication of the format of interfaces, the longer the time to market, and the greater the long-term maintenance cost.

Physical Requirements

 RequirementQuestions
 Impact
 Shape
  • Are there any constraints on the shape of the hardware used to house the resulting system?
Constraints on the shape of the hardware may impose a specification of physical devices required by the system, such as storage devices or printers. The more constrained the hardware, the longer the time to market.
 Size
  • Are there any constraints on the size of the hardware used to house the resulting system?
Constraints on the size of the hardware may impose a specification of physical devices required by the system, such as storage devices or printers. The more constrained the hardware, the longer the time to market.
 Weight
  • Are there any constraints on the weight of the hardware used to house the resulting system?
Constraints on the weight of the hardware may impose a specification of physical devices required by the system, such as storage devices or printers. The more constrained the hardware, the longer the time to market.

Comments