Planning Phase

1. Product Ideas

In this first step of the phase, the team will gather together to brainstorm ideas.

Tips:

  1. Be imaginative. Offer any idea you have, no matter how ridiculous you think it may sound! A goal in this exercise is to understand what kind of ideas exist, challenging your own concept of what a product is. Also, be receptive of everyone’s ideas - you may be surprised what can actually become a viable product.

  2. Focus on unique ideas. While your team could certainly create something that already exists to play it safe and have something to measure against, when creating a product in the real world it’s much more difficult to compete against established products in markets. That being said, using existing products as inspiration and improving them has been a proven path to success for many product developers.

At the end of the brainstorming sessions, the team should pick at least three ideas to plan in the rest of this phase. The team may choose to pick more than three ideas if they want more practice planning products and to have more options to choose from when picking a final product to develop.

2. User Stories

After gathering product ideas, the team will work together to create user stories for each product. User stories are an informal, natural language description of one or more features of a software system. User stories are typically written from the perspective of an end user or the developer. Writing these stories helps make the abstract idea more concrete and determine what components need to be made to create the full product.

Write user stories for each product idea chosen to be planned during this step. User stories should be in the form of “As a [user/developer/?], I want ____________”

3. Conditions of Satisfaction

After writing user stories, the team will create Conditions of Satisfaction for each user story.

For each user story, there will typically be multiple conditions of satisfactions which are conditions that must be met for the user story to be completed. (Sometimes this step will be skipped because the conditions of satisfaction are similar to the tasks.) An example set of Conditions of Satisfaction (CoS) follows.

  • Product: Puzzle game

  • User Story: As a user, I want to save my progress on a long puzzle

  • CoS: Puzzle progress can be saved in a file

  • CoS: Saved file can be retrieved by the client to load a saved game

  • CoS: User can pick from a list of saved progress (or be presented with option to continue from one last save)

These Conditions of Satisfaction help further break down the required implementation need to complete product development.

4. Tasks

These are the assignments that are given to developers to be done. These are created by taking the conditions of satisfaction and writing them as tasks that will be completed by devs to accomplish the corresponding user stories.

5. Task Efforts

After writing tasks, their efforts should be estimated by the team collectively.

For this program, we will be using story points (in Trello). The task effort point system we will be using is how many work hours a certain task will need to be completed. The point options we will have are 1, 2, 8, 16, 32, 40, and 80, each corresponding to a number of work hours. Note: Our program has 8 hour work days.

6. Product Development Choice

After going through these steps, the final step of the planning phase is to review all the product ideas and see which ones can be completed during the program time. We want to pick a project that we can complete within the time frame of the program. The chance of realistically completing the product can be estimated by taking the sum of the task efforts and comparing it to the number of hours that a 5-person development team can work in 5 2-week sprints.