Analyze requirement and how to Q “A with customers effectively

Tram Ho

In the software development process, the first crucial stage to do is to analyze the specification document. This is also the stage where we will ask a lot of questions to customers to ensure the understanding of the specification document. So how to analyze the requirement effectively? ask how short, but customers can still understand and save time to respond to customers? In this article, I will share with you some of my own experiences on how to effectively analyze requirements and Q&A with customers.

1. What is software requirement?

1.1 Definition

First we need to understand what software requirement is? Simply understanding software requirement is a document that describes the customer’s requirements for software products, the behavior of the object in that product, which are functional or non-functional requirements that the product The software needs to meet.

1.2 Some types of software requirement

  • SRS (Software requirement specification) Document is a document that specifies the requirements of the software, including functional and non-functional requirements. For example, the project specification document can be found here. ok
  • UI / UXL are the user interface and user experience designs. To better understand the concept UI / UX you can find out more here .
  • Use case diagram As a diagram showing the user actions and interactions for each function on the software system. For a better understanding of Use case diagrams, learn more here .
  • Business rule diagram / Data flow diagramIs a diagram showing business logic, data flows of software systems.
  • Data dictionary and Glossary When developing software related to new areas, there are many specialized languages ​​that are difficult to understand. Therefore, the specification document often comes with Data dictionary and Glossary – documents that list specialized words used in specification documents to help project members better understand.
  • User stories Customers’ requests are sometimes not a document but can be written on project management tools such as Jira, Redmine, etc. Often written in Gherkin language is easy to understand.

2. Why is careful analysis important?

2.1 Example

To answer this question, let’s also first analyze an example below for a sketchy requirement analysis:

From the above image, it can be seen that the preliminary requirement analysis leads to the final product does not meet customer requirements, the amount paid for project development is huge. Therefore, when analyzing requirement it is necessary to analyze carefully, clearly and in detail.

2.2 Benefits of careful analysis of requirements

  • Detect and avoid errors in specification documents.
  • Give suggestions to improve product quality.
  • The analysis requirement thoroughly helps QA to give the test case set with the best coverage, avoid the lack of test points.
  • Help programmers understand requirements and cover business flows in code.
  • Prevent errors from early stages.
  • Save time and money in software development.

Maybe you are interested

What is a good Requirement?

Fibonacci sequence algorithm △

3. Analyze how requirement for efficiency?

3.1 Understanding the project

When starting a project, first of all need to have an overview of the project as to who the customer is? What software products do you work on? context? general business.

3.2 Understanding the business, the main skills

The project members need to understand and analyze the functional requirements of the software:

  • First, each person should take the time to study the previous material on his / her own, focusing on studying business logic.
  • After that, there should be a brief summary of the requirements to make sure the project team understands, properly and sufficiently the required documents.
  • Focus on analyzing screens, analyzing the flow of software products, charts (if any) …
  • Study use cases, data streams, …

3.3 Understanding other requirements

In addition to functional requirements, project members also need to learn about requirements regarding interfaces, databases, non-functional requirements …

4. What is Q&A file? How should I ask?

In the process of studying customer requirements, there will certainly be many questions that need to be answered. You can’t run back and forth to ask customers, and managing those questions and answers is a matter of concern. That’s why we need to have Q&A documents for the project.

4.1 Q&A file

Q&A is an abbreviation for Question and Answer (often asked and answered), usually written in excel file format. This file includes all the questions in the project, especially questions about customer request documents about software products.

When studying the requirements of software products, if there are any questions, it should be written in Q&A file. This file is also considered an important journal.

4.2 Q&A sample file

Each organization and company has its own Q&A file format. However, all of them have the following components:

  • Reference: Link to the project specification document
  • ScreenID: Screen design code if available
  • Title: Short title of the question
  • Question: Question content
  • Answer: The answer to the question
  • Priority: The priority level answers questions
  • Create date: The date the question was created
  • Create by: Question creator
  • Assign to: The person assigned to answer the question
  • Status: The status of the question

4.3 Suggest English questions to use to ask customers

Due to the current project characteristics often use English language, some of you are quite confused when using this language to ask questions with customers. Therefore, I suggest some English questions below.

To ask questions in an easy-to-understand, concise and time-saving way for customers to answer, we should ask questions in the form of multiple choice questions and questionable questions (Yes / No question). It is enough for customers to answer Yes / No.

One thing to note when asking customers is not to get rid of what customers want, should not ask customers to explain the meaning presented in the requirement. Instead, we should give our understanding and ask the customer to confirm that idea.

  1. Yes / No question
  • Should we …? Should we …
  • I có một câu hỏi ở sau một tham số function, … Could you please xác định? I have a question regarding function A, ( … explain my understanding here …), Please confirm help me?
  • From my point of view, …. Do you agree? In my opinion, ( … explaining the point here …) , Do you agree?
  • I think you think … I think that (… raising thoughts here …), Can you share with me your thoughts?
  1. Multiple choice questionI có dưới đây với tùy chọn 2 behavior: …. I have the case below with 2 expected results as follows: (… explain the case here. …):Expected result 1: … / Expected result 1

    Expected result 2: … / Expected result 2

    Đã có thể bạn share bạn mong đợi Result. Nếu bạn có tùy chọn better, hãy Let me biết.

    Which results do you choose? If you have a better choice, please let me know.

5. Manage changed requests

5.1 Why are changes required?

In the process of making a project, if there is any inconsistency in the requested document, QA and other members of the project team can also discuss with the customer to change the request accordingly. Requests for changes may come from the project team or customers. These changes may include changes in the interface, business changes or data structures.

5.2 The process of requesting changes and managing changes

  1. Making a change request First, the client or project team (Programmers, testers, team leaders …) make changes requests.
  2. Analysis of change requirementsThe project team needs to analyze those change requirements, the business part … what changes can this function affect? estimate how much effort it takes to change, will it affect the release time of the product?
  3. Whether or not to make a decision Based on the above analysis, customers will be the ones who decide whether to change or not.
  4. Making changes After the customer decides to change, the project team will embark on that change (coding, testing …)

Above, I have shared with you some of my own experiences on how to analyze requirements, how to Q&A with customers effectively and the process of implementing change requests. Hope this article will be helpful to you.

Share the news now

Source : Viblo