Note: I originally came up with the list of features with a focus on features that a Requirement Management Tool (RMT) should have to better manage an organization’s requirements throughout the product development lifecycle. During the discussion of these features at an INCOSE IW 2016 RWG session, it became clear that the list was more a list of features the organization’s Systems Engineering (SE) tool set needs to have in order for the organization to have the capabilities they need to better manage their systems engineering projects. Many of these features need a “tool” to realize that capability. The original list has been expanded to include suggestions made at the INCOSE IW 2016 RWG session.
Why are we (Requirements Experts) doing this? Because today’s systems are increasingly complex and a SE tool set, including requirement management tools (RMT), and modeling tools can help manage the complexities associated with engineering a system including defining and managing stakeholder needs and expectations and the resulting technical requirements, their attributes and their genealogy. Going beyond requirements, SE tools support the entire system lifestyle including design, building/coding, system verification and system validation, and sustaining engineering activities. These tools are used to collect, link, visualize, analyze, manage, and communicate data across the system lifecycle. The SE tool set allows us to produce various views of our system and create documents, reports, diagrams, drawings, models, etc. needed to more effectively manage our system development efforts as shown in Figure 1. What capabilities you need depends on your product line, its complexity, issues you are having and want to address, and your workforce knowledge and experience. You need to understand what data best meets your needs.
SE tools are like any other software application…one size does not fit all. The SE tool set that is best for your organization is the tool set that meets your requirements management, systems engineering, and modeling needs. Consider the outcomes you need as a result of using SE tools and the Return on Investment (ROI) resulting from these outcomes.
If you need a very detailed model that is defined via a complex modeling language that will allow you to run simulations, then you will need the proper tool to allow you to do this. However, you may not need this fidelity. Maybe you just want to better manage requirements throughout the product development lifecycle. Maybe you want to use functional flow diagrams and context diagrams to better understand your interfaces and to better understand the functionality of a complex system and the interactions of the parts that make up that system. Then you may want to develop requirements from these diagrams and link your requirements to these diagrams.
Specifically, the SE tool set that is right for your organization depends on your domain, organizational processes, and your specific project. That said, before you embark on your own SE tool set evaluation and selection initiative, work with your Project Management Office (PMO), your project teams, and key stakeholders to determine what your organization needs to help you better manage the development of the systems in your domain. What features and functionality do you need in a SE tool set so that you can effectively and efficiently manage your requirements, design, and other SE activities throughout your product life cycle?
It is important to understand, that for an organization to provide a capability it has to address three things: people, products/tools (that have the needed features and functionality), and policy/processes/procedures. You have to have all three to provide the capability. To realize the overall capability and to effectively implement a successful systems development project using this SE tool set, the organization needs to clearly define organizational policies, processes, and work instructions for managing a SE project using the tool set AND provide training for their people in not only in the use of the SE tool set, but the associated organizational policies, processes, and work instructions. This training is critical so that the people not only have the knowledge but they understand the culture associated with implementing the organization’s SE processes.)
Features and Functions your SE tools set should include
What you will find below are the features and functions we would like to be addressed by the SE tool set selected so your organization will have the capabilities they need to effectively implement their SE processes.
Note the order of the list does not in any way imply priority. Priority of these features and functions and the “importance-weighing factor” for each is left up to the evaluating organization based on its unique product development and management needs.
Requirements Experts does not expect any one SE tool to include everything in this list as many vendors tailor their tool to a specific client base. Rather, we suggest that an organization that is looking to procure or develop an SE tool set use this list as the basis for their own list of features they need tailored to their specific domain and processes.
It is also important to realize is that this journey can be done in a series of small steps. You don’t have to jump into SYSML complex modeling at the beginning. Start small with a requirement management capability. Then add to that the capability to manage the requirements over the lifecycle of the project, linking requirements to design, and linking requirements to verification planning artifacts. Then add the capability to use diagrams like functional flow diagrams or context diagrams and link your requirements to those diagrams. From there you can add the capability for simple modeling and overtime, progress to more complex simulation grade models (only if there is some benefit to be gained from doing so.) To me there are different levels of “maturity” of an organization concerning the use of SE tools and modeling.
Functionality/Performance/Features (What capabilities do you need from your SE tool set?)
- Requirement Best Practices: Does the tool include the capability to support requirement best practices as defined in the INCOSE Guide to Writing Requirements or our Checklist for Writing Good Requirements? This includes the ability of the tool to support requirement engineering and analysis that helps requirement authors to write properly formed requirements (spelling, grammar, ambiguous terms, requirement statement structure, etc.). (Note: Send me an email at email@example.com and I will send you a copy of our checklist.)
- Allocation and Traceability: Does the SE tool support the key concepts of allocation and traceability? This includes linking requirements to their parent and source as well as allocating (flowing down) requirements at one level to parts of the architecture at the next level.
- Dependencies between Requirements: Does the SE tool allow you to link dependent requirements to each other? (Cases where a change in one requirement could necessitate a change in another requirement.)
- Embedded Objects: Does the SE tool allow the user to embed pictures of various formats as well as documents (drawings, diagrams, RTF files, word processing documents, spreadsheet documents, test procedures, etc.) as objects that can be linked to?
- Impact Assessment: Does the SE tool allow the user to do change impact assessment across all levels of requirements helping the user to understand the impact of a change to a requirement on project delivery schedule, cost, quality, and other dependent requirements?
- Interface Requirements: Does the SE tool support the documentation of interface definitions and the corresponding interface requirements that are linked to those definitions? (This topic deals with the interfaces between the system under development and external systems it is required to interact with.). (To learn more about interfaces, , send me an email at firstname.lastname@example.org and I will send you my paper “Everything you wanted to know about interfaces, but were afraid to ask.”)
- Attributes: Does the SE tool allow the user to easily define attributes needed to help manage their requirements? (A list of 44 attributes included in the INCOSE Guide to Writing Requirements. If you don’t’ have access to the Guide, send me an email at email@example.com and I will send you a paper on attributes.)
- Life-cycle Support: Does the SE tool support the entire lifecycle of the product development: scope definition, requirement definition and management, reviews, design, system verification, system validation, and sustaining engineering?
- System Verification & Validation: Does the SE tool allow you to link your requirements to their system verification and system validation requirements, procedures, results of the procedures, and close out documentation of the system verification and validation activities?
- Workflow: Does the SE tool provide the ability to define and support the customer’s SE process workflow within the tool (draft, review, approve, baseline requirements; document design and link requirements to the design; document system verification and system validation activities and link them to requirements; etc.)?
- Configuration Management: Does the SE tool provide robust configuration management of the customer’s requirements and requirement sets that includes change, version, and baseline document control? Configuration management of your design artifacts? Is configuration management at both the container level (document, set, etc.) and individual item level (individual requirements)?
- Collaboration: Does the SE tool support collaboration among the users within the tool across all lifecycle phases?
- Storage Location: Does the SE tool require the requirements to be stored in the “cloud” provided by the SE tool vendor or stored in-house on a client’s server?
- Security: Does the SE tool provide security of the information in terms of data access (at multiple levels, within levels, and different user classes), protection of the data (from loss), and integrity of the data?
- Scalability/Extendibility: What number of requirements and requirement sets does the SE tool set support? Design artifacts? System verification and system validation artifacts?
- Performance: What is the maximum wait time between user actions? How does the SE tool minimize performance impacts as the number of requirements and requirement sets; design artifacts, and system verification and system validation artifacts increase as well as the number of concurrent users increase?
- Concurrent Access: How many concurrent users does the SE tool allow to work within the same area? What happens when more than one user wants to edit the same requirement or other information?
- Text based vs Model based vs graphical: Does the SE tool support text based requirement development, model based (UML or SYSML), graphical representation of requirements, some or all of these approaches? Does the SE tool allow the development and documentation of use cases, functional flow block diagrams, states and modes diagrams, timing diagrams, etc., within the tool? Will the tool allow you to develop high fidelity models that support simulations – if that capability is needed by the organization?
- Reusability: What features does the SE tool have to allow re-use of individual requirements or requirement sets; design artifacts, and system verification and system validation artifacts for similar projects or projects involved in updating an existing product?
- Archive/Backup/Long Term Availability: Does the SE tool provide the capability to archive and backup all the data in formats that provide long term availability as storage and retrieval technologies evolve or a specific tool changes or the user changes their tool set? (You want to avoid a backup/archive format that uses a proprietary format.)
Interfaces: (How do you and other systems interact with the SE Tools)
- Configuration/Customization: Does the SE tool include the ability to configure and/or customize the tool to the customer’s domain, culture, and organizational processes? Does the SE tool allow individual users to configure their interface based on their unique role and use of the SE tool? (With minimum help from the vendor.) Note: Configure refers to the ability to configure the tool to meet user needs without changing the code. Customize involves changes to the tool code to provide new or tailored features needed by the customer. Having a tool that can be configured to meet your needs is cheaper than paying for the tool to be customized to meet your needs.
- Reports: Does the SE tool include a robust, well documented report feature that allows users to create unique reports as well as customize standard reports provided with the tool? Does the SE tool allow reports to be exported in multiple formats (MS Word, Pages, RTF, graphical, etc.)? At the beginning of your quest of the SE tool set, one of the first things you need to do is develop your overall process you want the tool to support. Include in this process description the specific reports you will need. That will drive the schema of the data, meta-data, and attributes included in your database.
- Metrics/dashboards: Closely related to a report feature, does the SE tool provide the capability to do “data mining” and analytics so you can display historical and trend data? It is often not enough to just know what percent of your requirements your system has been verified to have met. Often it would be useful to see if the trend to completion of system verification activities is on the right pace, is slowing down, or speeding up. If slowing down, you may not have completed all your system verification activities in time for the customer acceptance review.
- Learning Curve: Does the SE tool have a user interface that is intuitive, user friendly, and easy to use with a small learning curve? How much training is necessary and available? Is online documentation and help functionality included?
- Interoperability: Does the SE tool allow the sharing of data with other SE tools (ReqIF compliant) as well as with other word processing and spreadsheet application supported formats? How easy is it for information to be transferred into and out of the SE tool to support the organization’s processes and people? Does the SE tool provide a standardized interface for importing or exporting data from/to other applications (e.g. Model Based SE tools), rather than requiring specialized scripting, etc. in order to achieve a transfer/interaction?
- Accessibility: Does the SE tool allow users to access data via desktops, laptops, portable devices (tablets, smart phones)?
- Online vs Offline Modes: Does the SE tool require the user to be connected to the server continuously (online) to use the tool or does the tool allow offline work to be accomplished with synchronization after going back online?
- Navigability: Does the SE tool provide methods allowing the user to easily and quickly navigate between requirements, documents, configuration management, reports, design artifacts, models, various visualizations of the data, etc.?
- Notifications: Can the SE tool send notifications via email or texting concerning changes to individual requirements or requirement sets; design artifacts, system V&V artifacts? Can the SE tool send notifications from one user to another user (or group of users) concerning actions, comments, and questions?
- Price: Is the SE tool affordable in relation to the size of the project and number of requirements and requirement sets, design and verification and validation artifacts, number of concurrent users? Concerning affordability, is there a single upfront application fee, individual license fee (if a license fee, one-time or yearly)? Are the licenses fixed or floating? Does the price include initial setup, installation, configuration or customization or is that extra? Is ongoing technical support included or extra? Is training included or extra?
- Vendor/product maturity: How long has the SE tool been on the market? How long has the vendor been in business?
- User feedback and satisfaction: In today’s social media driven world, you have access to actual user comments concerning the tool, the tool vendor, ease of use, reliability, tech support, etc. Don’t get overwhelmed by the hype and sales pitch from the vendor. See what the actual users have to say about the tool.
If we have left out an important item from the list, please let us know.
As always comments on this blog are welcome.Tags: requirement management, Requirement Mangement Tool, Requirements Management Tool, RMT