From the course: Software Design: From Requirements to Release

Define problem and vision statements

- [Instructor] Starting any project requires understanding key business requirements, articulating a vision and defining the project scope. The picture here shows a linear waterfall like flow from requirements to scope, but that is not what it means. The key message in this simple diagram is two folds. One, that business requirement drives the product vision which then defines the project scope. It should never be the other way around. We should make sure that we are trying to solve a clearly defined business problem. We should never be in a situation where we have a solution in a product that is looking for the business problem to solve. And two, as our product gets built up and evolves over time, we should keep checking that it aligns with the business requirements. Yes, the business requirements will change and so will the product, but they should never go out of sync. Keeping these two ideas in mind will help us build the right product. So fist, meet up with your stakeholders and understand what they're looking for and why. These meetings can be formal or informal, depending on the culture and norms of your and your customers organization. It is also critical to understand the industry your stakeholders are in. Working with a bank is very different from, say, working with a restaurant chain or a media and entertainment company. The more you understand their domain, the better you understand their needs, and higher are the chances of your success. So, as you meet with the stakeholders, get your best domain experts in these meetings to ask the right questions. Also, this is a good time to start mapping your stakeholders into groups. Each group brings a different perspective and categorizing them helps organize their requirements. One simple technique is to draw a stakeholder map. You may draw it in the form of a detailed table or just a simple Venn diagram as shown here. In our case study, we have members for whom the application is being developed, there are coaches who use the data entered by these members and we have the current IT team that is going to support and manage the product once it is built up and launched. All these groups are part of H+ Sport. We need to identify representatives from these groups to be part of the project team. The project team consists of the development team from Red30 and representatives from all the other key stakeholder groups. Finally, there are external users who are potential members that H+ Sport wants to attract by offering them some simple, but useful features on its website. Let us see some examples of how two of these groups express their needs from their perspectives. Coaches say that diet logs in their current form are often incomplete, prone to errors and difficult to analyze. Members say that these diet logs are hard to maintain and do not offer much value. Both refer to diet logs from different perspectives. Combining all these perspectives helps us identify the core business requirements which then help us arrive at a problem statement. Here is how I have articulated the problem statement in this case study. I have used the Open UP template which is just a matter of choice. Such templates help us ensure that we are not missing any critical aspect of the problem. The statement captures the problem, that is basically the paper based diet logs, it identifies who it affects, that is coaches and members. What is its impact, which is coaches not able to analyze the data and members not getting the value they expect. So, what should a successful solution look like? Well, it should make it easier for members to log their data and for coaches to analyze their data. This is our problem statement. From here, we can now arrive at the product vision. Once again, I have used the Open UP template. Here, I identify the target user of the product, that is members and coaches, who want a diet tracking application that gives them intuitive and insightful ways to analyze nutrition in their diets. Notice that I have given a name to our product, Red30, that we are going to build. Also, in this statement, it is good to identify how your product will be different from whatever is available in the market. In this example, H+ Sport doesn't want to use any other product in the market because it wants total control over its customer data.

Contents