2 minute read

Requirement Analysis, also known as Requirement Engineering, is the process of defining user expectations for a new software being built or modified.

Requirements analysis encompasses tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.

What is a requirement

A software requirement is a capability needed by the user to solve a problem or to achieve an objective.

In other words, requirement is a software capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed documentation.

Ultimately, what we want to achieve is to develop quality software that meets customers’ real needs on time and within budget.

Perhaps the greatest challenge being faced by software developers is to share the vision of the final product with the customer.

All stakeholders in a project - developers, end users, software managers, customer managers - must achieve a common understanding of what the product will be and do, or someone will be surprised when it is delivered.

Surprises in software are almost never good news.

Therefore, we need ways to accurately capture, interpret, and represent the voice of customers when specifying the requirements for a software product.

Requirement Analysis

Requirements analysis is critical to the success or failure of a systems or software project.

The requirements should be documented, actionable, measurable, testable, traceable, related to identified business needs or opportunities, and defined to a level of detail sufficient for system design.

Conceptually, requirements analysis includes four different areas :

  • Eliciting requirements: the task of communicating with customers and users to determine what their requirements are. This is sometimes also called requirements gathering.
  • Analyzing requirements: determining whether the stated requirements are unclear, incomplete, ambiguous, or contradictory, and then resolving these issues.
  • Requirements modeling: Requirements might be documented in various forms, such as natural-language documents, use cases, user stories, or process specifications.
  • Review and retrospective: Team members reflect on what happened in the iteration and identifies actions for improvement going forward.

Requirements analysis is a team effort that demands a combination of hardware, software and human factors engineering expertise as well as skills in dealing with people.

Customer Journey Mapping

A Customer Journey Map is a powerful technique for understanding what motivates your customers - what their needs are, their hesitations, and concerns.

Although most organizations are reasonably good at gathering data about their customers, data alone fails to communicate the frustrations and experiences the customer experienced. A story can do that, and one of the best storytelling tools in business is the customer journey map.

Customer journey map uses storytelling and visuals to illustrate the relationship a customer has with a business over a period of time. The story is being told from the perspective of customer, which provides insight into the total experience of the customer.

It helps your team better understand and address customer needs and pain points as they experience your product or service.

In other words, mapping out the customer journey offers your business the chance to see how your brand first engages a potential customer, and then moves through the touchpoints of the entire sales process.

Finally, the team can propose the improvement or actions to be taken against each of the touchpoints. These proposed actions can be potential source of software requirements.