DS4: Developing User Stories Design Studio
10 points
September 30, 2016


This design studio helps you get started with writing user stories. You will use Scrum to (1) write user stories using a user story template, (2) describe acceptance criteria, (3) provide a definition of done, and (4) size user stories. We will use a small part of P4 for this design studio.

1. Preparatory tasks

  1. Read the slides on user stories.

  2. Read the article by Bill Wake.

  3. View the CA Agile video on how to write a good user story.

  4. Review the Backlog Refinement Meeting Scrum video (tags 30-40) on story point estimation.

  5. Read the description of P4. In particular, focus on the specifications in Section 2.1.2, also listed below for quick reference.

    Currently anything that is typed on the client side is sent to the server, which echoes them back to all the clients. Now, clients need to recognize commands, and treat these user inputs differently than chat messages. Assume that every command is a word beginning with #, with zero or more command line arguments. In all of these cases, appropriate error messages should be printed when something goes wrong with a command.

    1. #quit: client closes connection to the server and terminates gracefully.
    2. #logoff: Client closes connection to the server but does not terminate.
    3. #sethost <host>: This is allowed only when the client is logged off. The server host is set for the client.
    4. #gethost: Displays the current host name.
    5. The client should optionally be able to take a port number from the Java command line arguments. If the argument is not provided, then the default port is used.
    6. #setport <port>: This is allowed only if the client is logged off. The server port is set for the client.
    7. #getport: Displays the current port number.
    8. #login: This is allowed only if the client is logged off. The client now connects to the server.

  6. Think about how you will develop user stories from the requirements specification, how you will estimate story points according to the S/M/L/XL scale, and what acceptance criteria make sense for the suer story. You will need to create several user stories for the above requirement. However, there should not be one user story for every command. Write your user stories using the ideas from the INVEST acrynym.

2. In-class tasks

You will work on the tasks as a team. You will write your answers on an answer sheet that we will provide to each team. There will be one submission per team. Make sure you write the names of participants on the sheet before submission. You must submit the sheet at the end of class.

List the user stories that you develop along with the acceptance criteria and story points estimation for each. Finally describe a definition of "done", for which you are encouraged to think of systems tests.