Requirements Analysis – Jama Software
Mục lục bài viết
Unified Modeling Language (UML)
Unified Modeling Language creates diagrams used for modeling specification, development, visualization, and documenting in the requirements analysis process. UML diagrams can be two types of models: a behavioral model, which informs on what the software application will do, and a structural model, which provides insight on the parts that make up the system.
PRO
- There are a variety of UML diagrams to choose from, like use case, sequence, interaction, class, and more.
- Can be directly inputted to a requirements tool.
CON
- UML diagrams must be synchronized with software code, which requires additional work and ongoing maintenance.
- Complex processes result in overcomplicated and confusing diagrams.
Business process modeling and notation (BPMN)
BPMN is based on a flowchart technique like activity diagrams from Unified Modeling Language (UML). It uses a unique standard of notation to create graphs including flow objects, connecting objects, swim lanes, and artifacts. These help simplify understanding of the business process answering questions regarding who performs the activities and the data elements required to do so.
PRO
- Designed to be understood by all business stakeholders yet represent complex process semantics.
- Supported by most modeling tools.
CON
- Only supports concepts of modeling applicable to business processes; non-process purposes are out of scope.
Gantt Charts
In requirements analysis, Gantt charts help with coordinating, planning, and tracking project tasks. Tasks to be performed are listed along the vertical axis. The horizontal axis lists the time allotted for the given task and the person or team performing the functions. Gantt charts give a visual representation of the project’s schedule and resources needed.
PRO
- A single chart can track many activities, even those happening in parallel.
- It provides a realistic view of how long the project will take and what resources are needed at various points in development.
CON
- A single view of all the tasks is not available.
- Time allotted for a task is not representative of the amount of work involved in its completion.
- Complex software projects require an extremely high number of tasks, making a Gantt chart exorbitantly time-consuming to create and nearly impossible to update in a timely, consistent fashion.
Integrated definition for function modeling (IDEF) diagrams
IDEF is a family of modeling languages that cover a wide range of uses, from functional modeling to data, simulation, object-oriented analysis/design, and knowledge acquisition.[i] The goal is to gain an understanding of an organization’s systems by exploring process function relationships to child/parent systems.
PRO
- IDEF can be used in almost any context, industry, and technology area.
- Diagrams are easy to digest for both technical and nontechnical team members.
CON
- It can be difficult to integrate different IDEF techniques.
- Designed as a business analysis tool, it is not a very good software application development methodology.
Gap analysis
Also known as need analysis, need assessment, or need-gap analysis, this technique helps analyze software application performance gaps to verify if business requirements are successfully met. Gap analysis conveys the difference between the current state and the target state, identifying where the project stands and what is yet to be done.
PRO
- Ensures the business requirements or data requirements have been met as desired.
- Helps uncover which areas need focus or additional resources.
CON
- Success depends on the skills of those performing the analysis, and while gaps may be revealed, their true causes may remain undiscovered.
Focus of the various diagraming and modeling techniques
Some requirements diagraming and modeling techniques are better for analyzing business needs and requirements while others are better suited for discovering user needs and requirements.
BPMN is strictly a technique for uncovering business needs and requirements which must be addressed within the set of product requirements, with excellent results. Gap analysis is also great method for understanding business requirements. As noted, it can help determine the difference between where a business is and where it wants to be. The result may initiate a series of user requirements to help the business close that gap.
While not covered above, a customer journey map is also beneficial for discovering business requirements. A customer journey map is a “voice-of-the-customer” VOC story that shows the customer’s relationship with the business over time. It helps identify sources of frustration on the part of the customer, which can inform user requirements to improve those pain points. Note: limiting this analysis to just a single class of stakeholders can result in missing needs and requirements. A more inclusive approach is “voice-of-the-stakeholders” VOX that shows relationship of all relevant stakeholders with the business over time. It helps identify sources of frustration on the part of all stakeholders, not just the customer, which can inform the definition product requirements to improve those pain points.
The discovery of user needs and requirements benefit from techniques like the data flow diagram. As mentioned, they can be created early and give a high-level view of the data flow within a particular process. Use cases and user stories are also great tools for soliciting software requirements from a user perspective, as they maintain focus on what the user needs, not what the product does to meet those needs and wants.