Implementation Plan Assignment

Table of Contents


1 About This Sprint

This sprint introduces UML use cases and UML use case diagrams as a means of putting requirements into a context and understanding the interactions between users and the system.

In this sprint you create an implementation plan based on your overview of the system, and decide what is feasible for you to focus on in a first iteration of the system (this also narrows the scope for subsequent assignments so that you are able to create a design within the time frame of the course).

2 User Stories covered in this Sprint

  • As a software designer I want to document what the customer is telling me so that I can discuss my understanding of their requirements with them.
  • As a software designer I want to document what the customer is telling me so that I can easily continue designing based on a joint understanding.
  • As a software designer I want to be able to reuse common procedures between my use cases so that I only have to maintain them in one place.
  • As a project manager I need to decide what to focus on building right now so that I best satisfy all customers’ expectations.
  • As a product manager I want to make sure that we are building software of high quality.
  • As a student I want to have a clear overview of what I am supposed to work on so that I am able to focus on what is important.

3 Learning Material

Please review the sprints concerning

4 Experiential Learning

4.1 Assignment: Implementation Plan

In this part of the assignment you will prioritise your use cases and plan your first sprints.

Tasks:

  1. Order your UML use cases (created above) according to their importance.

    PA1415 Software Design Make sure this order corresponds to the prioritised list of user stories that you have created earlier. You do not have to strictly adhere to the priorities of the user stories, but you need to document and motivate any major deviations that you do.

  2. Motivate your ordering in terms of how this allows you to build a minimum viable product first.
  3. Assign story points to each use case.
  4. Decide and motivate how many story points you will have time for in this course (=your first iteration) and per iteration. Set a MAX, a MIN, and an AVERAGE value per iteration.
    • Please Note that in the Real World your velocity would be based on your team’s history; how many story points do you usually complete on average. In the context of this course, you obviously do not have any history to calculate averages from, so you will need to make an estimate based on not only the relative sizes of the use cases, but also of the absolute size of them (the good old-fashioned art of effort estimation based on person-hours required to implement the use cases).
    • Read more on Story Points and Velocity Here
  5. Assign your use cases to iterations such that you
    1. Create a minimum viable product in your first iteration (motivate why which this is the case).
    2. Have a reasonable amount of story points allocated per iteration, in relation to the MAX, MIN, and AVERAGE values defined.

Document Structure:

The title for this Assignment Document is: Implementation Plan for System <system name>

.

The assignment document shall contain the following items:

  1. Title Page, according to the Title Page Instructions (Link)
  2. System Description

    A brief description (2-3 paragraphs) of your interpretation of what the goal of the system is.

  1. Prioritised List of Use Cases
    1. Motivation for Priorities
    2. Use Cases

      Include use case name and size in story points. Present the list ordered according to priority (most important first).

  2. Estimated Velocity Per Iteration

    Here you list your MAX, MIN, and AVERAGE number of story points that you think you will have time for per iteration. Pay special attention to the first iteration since this is the one you will continue with in the rest of the course.

  3. Implementation Plan
    1. Motivation for Implementation Plan
    2. Iterations and Use Cases

Commit and push this document to your project repository.

Conditions of Satisfaction:

When marking this part of the assignment we are looking for the following:

  1. Does the title page contain a table with authors and author contribution
  2. Size of assignment: Does the first iteration contain 5-10 use cases?
  3. Size of (future) assignments: Does the suggested iteration velocity in relation to the size in story points per use case represent a reasonable development speed?
  4. Is the relative size in story points reasonable for each use case?
  5. Does the first iteration contain a workable and acceptable Minimum Viable Product?
  6. Is there a reasonable amount of work (in terms of story points) assigned to each iteration.
  7. (PA1415) Does the order of implementation of the use cases correspond to the priorities of the involved user stories?

4.2 Update Course Backlog

How do you design a system from your use cases? What should you look for when you are trying to understand the structure of your system? What about the behaviour of the system?

Are there any other questions that you want answered? Add them, along with a brief strategy for how to find an answer.

5 Sprint Acceptance Tests

You are done with this sprint when:

  • You have created an “Implementation Plan” document
  • You have committed/pushed these documents to your project repository

You may also have

  • Updated your Sprint Test Plan
  • Updated your Course Backlog

Author: Mikael Svahnberg

Email: Mikael.Svahnberg@bth.se

Created: 2018-03-02 Fri 08:14

Validate