Once you have your list of user stories converted to your product requirements, it is time to begin the release management process. At this point, the stakeholders have agreed on the priorities of features and now assignments can be made to each member of your team. Each member estimates the effort of the user stories in your backlog. This in turn allows the product manager to prioritize the backlog and determine release dates based on your team’s velocity.
Using QAComplete, you can setup releases based on how your backlog has been groomed. In the Release Management tab, you can add new releases, sprints and builds and indicate the time each release will take and what will be accomplished with each release. For instance, we are building a mobile content feeder application and the requirements are based on our user stories.
Let’s say our first release is scheduled for release in four weeks. This release will focus on the GUI and the code needed to grab all the correct content from the Web.
“The application should be easy to use and have simple design for quick results.” - College Student
“I need an app that can pull all of my favorite content sources online to one place and categorize the content based on what I want to read at that time.” - Market Researcher
We will create an iteration that focuses on the development of the GUI. That sprint will be linked to the requirement based on the user story above and this sprint will consist of builds. An automated script can also be used to do the build versioning.
The release should include all sprints that need to be finished in order to release product to a customer. The above example is a simplified Release. Based on your team’s velocity, you could have more sprints per release, and likewise, more builds per each sprint.
Your requirements should be linked to a release or sprint, your release or sprint to your test cases and your test cases to your defects. This will ensure the smoothest possible workflow for each member of your team because of the transparency this allows. However, you and your team can link these as you see fit with QAComplete. Technically, you could link a defect directly to a requirement.
Based on how your team has worked on certain tasks in the past, you can estimate time needed for each task in any given iteration or release. If you have new team members or are at the early stages of Agile adoption, don’t worry if your estimations don’t match your velocity after the first couple of sprints. Eventually, you will have a sense of your velocity and will estimate more accurately.
Once you have your release schedule in place, your developers can begin working. This will be the ideal time to start testing any code the developers produce. Stay tuned for the next part on how to work with the test management and bug tracking functions of QAComplete.