7 tools to gather better software requirements

Gathering software requirements can be as much fun as trying to count function points or code a webpage using a vi editor. The process usually involves the software team assuming that business customers will communicate everything that their hearts desire as succinctly as possible.

Business customers have a tendency to expect software teams to be mind-readers, and to deliver a solution based on unspoken, malformed or unknown requirements. All of these requirements need to be formally captured in a mammoth document that will be used for future sophomoric squabbles over a game of “he said, she said.”

Sound familiar?

Gathering requirements is complicated

The reality is that gathering requirements is a lot of work. Project teams can make bad assumptions, focus on the how instead of the what and incorrectly describe requirements. IT teams are often given a document template and told to “go gather requirements” with the expectation that the document will be implementation-ready in a week.

(I won’t even get on my soapbox about functional and nonfunctional requirements yet.)

If you ask your software teams about how they gather requirements, you’ll likely get varied responses: from doing some actual mind reading to participating in requirement management workshops using different templates and tools. The requirements-gathering process and all the associated tools, templates and techniques isn’t a one-size-fits-all model. PMOs and other project management professionals love to see teams use a common requirements tool. A better tactic is to use a toolbox approach.

Use the toolbox approach

With a toolbox approach, project teams can use a variety of tools and techniques to define business requirements. In any given organization, you’ll likely find multiple methodologies including Waterfall, Agile and some ERP variant for SAP and purchased package implementations. If our projects are different, methodologies are different and the people are different, why would we expect our requirement tools to be the same across projects?

Here are seven useful tools that I’ve built into my own requirements toolbox. I don’t use every tool on every project, but I’ve discovered that picking the right requirement tool for the job definitely helps. These tools are helpful in eliciting better requirements and provide clarity to translating business processes into software solutions.

1. Context diagram

A system context diagram defines the system’s boundary, its surrounding environment, and all the interacting entities. The system is plotted in the middle of the diagram and identifies customers, external or internal systems, the organization’s end users and any vendors or suppliers providing third-party services.

software requirements 1

By building a visual model of the software solution, you have a better understanding of the major interactions and players in your system. It also helps to define the context where the system sits so the end user can agree to what is in scope and what is out of scope in the project.

2. Functional decomposition

A functional decomposition diagram provides a top-down view of the business process and/or the system’s major functions. When I think about what the system should do, I’ll use the functional decomposition diagram to break it down into major chunks. This view also helps validate all the functions the system should provide. It’s similar to an organization chart and your end user should be able to easily relate to this model.

software requirements 2

3. Use case diagram

The use case diagram helps depict the interaction between the system and its users. Each user role is called an “actor” and different processes or functions are represented in the diagram. Each of these interactions can be further broken down into steps including the “happy path” and alternative paths.

software requirements 3

Here’s how it breaks down:

Use case: Submit Application

Actor: Customer

Description: Describes the Credit Card application submission process

Successful completion:

  1. The user enters application information including social security number.

  2. System validates input for data entry errors.

  3. The system submits the application.

Alternative: System rejects the submission, citing form entry errors for social security number.

Pre-condition: User has been routed to credit application from email campaign or website.

Post-condition: User receive success message.

Assumptions: None

4. Sequence diagram

A sequence diagram shows the interactions between objects over time. It provides a top-to-bottom view with messages being sent back and forth between the different objects. The objects can be actors, systems or sub-packages within a system.

software requirements 4

In the example above, the sequence diagram could be used to identify the different types of email notifications that need to be sent to the customer and the credit card company’s reviewer.

5. AS-IS and TO-BE process model

The swim lane diagram is a systems analysis model that is taught in every Systems Analysis and Design course. If you wanted a relevant book on business process management, take a look at Paul Harmon’s Business Process Change. It provides an in-depth approach to business process management that goes beyond the typical textbook. Here’s a look at the AS-IS and TO-BE process models:

AS-IS process model

The AS-IS process model describes the current business process flow. I’ve seen some teams struggle with developing an AS-IS model for the business process, as teams often want to jump to the future TO-BE process. However, it’s worth spending the time documenting the AS-IS for major processes or complex processes so the entire team can develop a common understanding of the business process.

(Plus it’s helpful to overlay the AS-IS with the TO-BE to understand the changes)

software requirements 5

TO BE Process Model

The TO-BE process model usually adds the system as a swim lane and shows how the business process is adjusted with the system in place. Teams can now validate if the business process still makes sense with the addition of the IT system and supporting workflow.

system requirements 6

6.User stories

I’ve covered user stories in previous articles and I include them here because they’re helpful tools to quickly identify the major functions of a system. Since they’re written on note cards (physical or virtual), the cards can be further split into smaller user stories as needed.

If a user story proves to be too complicated, it can be broken down into smaller stories and supported with one of the aforementioned diagrams. Agile doesn’t mean just using notes cards and sticky notes. Agile teams understand the importance of picking the right tool for the job.

7. Mind maps

Mind mapping is another awesome tool to capture ideas, requirements and help organize a conversation with many tangents. When you’re in a requirements gathering session, it is easy to run off-topic and leap to another business process needed. Mind mapping helps to organize the conversation by aligning comments, requirements and ideas with the major thought branches in a conversation.

software requirements 8

Benefits

You’ll notice I didn’t include the boring old requirements document as a tool. Eventually, you’ll likely use a spreadsheet, a word processing document or a software system to further document these requirements. Even if you use a software system like HP’s Quality Center or IBM’s Rational Requisitepro, these tools will still provide an option to generate the mammoth requirements document.

The reality is: No one wants to read a boring and expansive document on systems requirements.

People are more likely to look at a picture than read a 200-page tree killer.

I’ve found by using visual communication to define and describe the requirement, teams are more engaged and they understand each other better. Even though the user story example was drawn on an index card, I still use Agile software tools to build my product backlog visually.

If I can draw it, I can understand it, and so can my business customers.

Requirements modeling tools

The above examples were developed in Microsoft Visio and MindGenius—a mind mapping program. If you’re looking for additional software tools for your requirements toolbox, then consider:

  1. Star UML

    – A popular UML modeling tool

  2. OpenText Provision

    – An extensive business process architecture tool

  3. Visual Paradigm

    – A design and management tool for business IT development

What’s in your toolbox?

The key takeaway is to try some of these tools, develop your own requirements toolbox and pick the right tool for your next project. The process of defining requirements isn’t a cut-and-dry path. Project teams take different approaches to develop requirements, and as IT leaders we should bring the right tool for the job.

Related articles

A gap analysis can help your company determine what actions to take for improvement. Bring your practices from average to the next level of success.

Learn about these essentials skills for project teams. There’s a big focus on the skills that apply to individual project managers and contributors.

Explore More Content

Modern modular PPM solutions that scale with your business. Align your teams with the integrated platform that bridges the gap between strategy and execution.

Portfolio Manager integrates seamlessly with Jira to give you predictive scheduling, real-time scenario modeling, and advanced resource management – ensuring you stay on track, no matter what challenges arise.

Extend your Jira with prebuilt and highly configurable reports for straightforward time tracking.

Visualize all your Jira data & manage portfolios of projects in real-time.

Connect AI spend to the work it delivers. Attribute AI coding-tool costs to Jira epics and prove AI ROI, inside Jira with Tempo Workforce Intelligence.

Project financial management for Jira & Timesheets. Monitor project costs, expenses, revenue, billing & budgets. Track Capex/Opex

#1 Jira Resource Management App: Optimize team allocation, skillset utilization, capacity planning & project management

Monitor projects and portfolios to get simple, clear, and real-time views of your costs, budgets, and profits that can be shared throughout your entire organization.

Seamlessly connect ServiceNow with Power BI, transforming complex enterprise data into actionable insights and driving smarter, data-informed decisions across the organization

Integrate Jira with Google BigQuery to seamlessly export and sync data for advanced analytics and customized reporting

Colleagues interacting around a desk

Effortlessly bridge Jira with your preferred BI tool, unlocking unparalleled insights and enhancing decision-making

See how work is progressing and where blockers are with the most flexible reporting app in Jira.

Gain a more complete project management solution, simplifying project reporting, improving collaboration, and ensuring projects stay on time and within budget.

Build and scale a custom ITSM solution at your own pace with Tempo's modular suite of integrated tools. Enhance Jira's capabilities and take control of your entire IT portfolio.

#1 Jira Time Tracking & AI Apps: Log Tempo Timesheets for Planning, Project Management & Billing. Plugin Office365, Google & Slack

For planning leaders looking to add a big-picture roadmap view to their structured Jira data, this integration is essential. Improve visibility to leadership, reduce reporting admin, and keep your team aligned.

Seamlessly manage project timelines and resources while accurately tracking time spent on tasks. This integration enhances visibility, improves planning accuracy, and supports data-driven decision-making for better overall project outcomes.

Jira Project Portfolio Management (PPM): Visualize data and manage projects within spreadsheet-like tables — in less than a minute

Adapt to changing business needs, rapidly adjust plans, and reallocate investment.

A powerful team resource management tool designed to optimize capacity planning and project management in Jira

Capture human time and AI activity together in Jira so you can measure what your AI tools are truly contributing and costing.

Combining Tempo Timesheets and Structure PPM provides a unified view of time tracking and project progress, enabling more accurate reporting and effective portfolio management. Simplify workflows, enhance collaboration, and ensure projects stay on time and within budget.

Tempo’s intuitive automation and Jira-native design make it the most trusted time tracking tool for enterprise organization.

Powered by Structure’s custom hierarchies, visualize your roadmap, project plans, timeline & dependencies within Jira Gantt charts