Skip to content

Project P1: Requirements and Design

Learning Objectives

Students will be able to...

  • Do effective user discovery interviews to learn about the problems your users have, how they are willing to have you solve them, and what value they ascribe your solution.
  • Use an LLM to create sound user stories that accurately reflect your planning goals.
  • Use an LLM to create storyboards that capture how users engage with the system to benefit from its core business value.
  • Guide an LLM to generate architecture diagrams and other technical artifacts.

Instructions

Requirements for All Parts

  • Pair Programming Requirement. For all parts of this assignment, the full team must work together, following a pair-programming approach. The group work may be done in person or remotely in an on-line meeting. Drivers must rotate regularly (e.g., every 20–30 minutes). Driving duties must be shared equally by all team members, and each team member must drive at least once.
  • AI Chat Transcript Requirement. Many parts of this assignment will involve interacting with AI chatbots. Transcripts of all such interactions must be saved and submitted. This may be accomplished by using the sharing features of the AI tool (e.g., submitting a URL that links to the transcript).
  • GitHub/Markdown Requirement. All documents produced by the team must be written as Markdown. (AI tools are generally very good at writing Markdown.) The team must create a GitHub repository in the course GitHub organization for this assignment. All documents must be pushed to that repository prior to submission.

Part 1: User Discovery

User-Discovery Interviews. As a team, perform the general steps of the User Discovery Activity for your project. The team must interview at least 3 AI personas from the list below. Each team member must drive for at least one interview.

Interview at least 2 personas from this list (your choice):

Interview at least 1 persona from this list (your choice):

Writeup. In a Markdown document, user-discovery.md, write the following based on the results of your user interviews. Again, the full team must work together using the pair-programming approach to do the writing.

  • Startup Concept: Describe the big idea of your team's startup (1–2 paragraphs). Be sure to address the following questions:
    What problem is your product solving?
    What is its solution?
    What makes the solution special and distinguishes it from the competition?
  • Semi-Structured Interview Questions: A list of the 10 questions you settled on for your semi-structured interviews with the personas.
  • Personas/Interviewers: List which personas were interviewed and which team member served as driver each interview.

Additionally, create the following with the assistance of an AI chatbot (LLM of your choice; not one of the above personas):

  • Product Name: A (hopefully) catchy name for your product.
  • Value Proposition: A value proposition for your product (1–2 sentences). Feel free to ask the LLM to teach you about value propositions and share some examples of good ones.

AI Chat Transcripts: Be sure to cross-reference (in the Markdown document), and attach or link to all AI transcripts resulting from the above tasks.

Part 2: User Stories

User-Story Creation. As a team, perform the general steps of the User Story Activity for your project, with the following modifications:

  • Feature Complete: Work with the AI to get a set of stories that seems reasonably feature complete — that is, no essential or necessary features are absent.
  • Epics: Have the AI organize the stories under so-called epics.
  • Refine Based on INVEST: Be sure to refine and improve your user stories based on the INVEST criteria such that the stories are high quality.
  • Markdown Document: Write the epics and stories in a Markdown document, user-stories.md.

AI Chat Transcripts: Be sure to cross-reference (in the Markdown document), and attach or link to all AI transcripts resulting from the above task.

Part 3: UX Storyboard

As a team, perform the following steps:

  1. Select Most Valuable Feature. Choose the story, stories, and/or epic that best represent the business value of your project. If there is one user story that does this, then great. If there is one epic that does this, then great. If it's really a small set of individual user stories that does this, then that's great, too—whatever works!
  2. Generate Storyboard. Use an LLM to create a UX storyboard for the selected stories/epic in Markdown. Save the storyboard to a Markdown file, storyboard.md. Have the LLM draw any figures as ASCII art.

AI Chat Transcripts: Be sure to cross-reference (in the Markdown document), and attach or link to all AI transcripts resulting from the above task.

Part 4: Software Architecture

As a team, use an LLM to create a architectural design for your project. The design must be written in Markdown to a file, architecture.md. All diagrams must be written in the Mermaid diagramming language and included in the Markdown file in fenced code blocks. Be sure to install the Markdown Preview Mermaid Support extension in VS Code. Note that GitHub includes Mermaid support.

The design must include only the following things:

  • Architecture Diagram: Draw an architecture diagram that specifies where components run (e.g., client, server, cloud) and which information flows between components.
  • APIs: Specify the APIs to be used by the system (e.g., backend API).

Warning! Make sure that the design artifacts are consistent with respect to their content (e.g., there should not be an API for a component that does not exist in the diagram).

AI Chat Transcripts: Be sure to cross-reference (in the Markdown document), and attach or link to all AI transcripts resulting from the above task.

Part 5: Team Reflection

As a team, write a reflection for each of the above parts (1–4) such that each of the following questions are addressed:

  • What worked well? (1 paragraph)
  • What key problems did you encounter and how did you overcome them? (1 paragraph)

How to Submit

Push all of the above artifacts to your team's GitHub repository, and in Canvas, submit the URL of the repository.

Grading Rubric

Homework assignments are graded as High-Pass/Low-Pass/Fail.

  • High-Pass: Pass score on all parts with High-Pass on half or more.
  • Low-Pass: Pass score on all parts.
  • Fail: Fails to meet requirements for Low-Pass.

Part 1 Rubric: User Discovery

  • High-Pass: Pass score on all subparts with High-Pass on half or more.
  • Low-Pass: Pass score on all subparts.
  • Fail: Fails to meet requirements for Low-Pass.

Subpart 1-1 Startup Concept:

  • High-Pass: Addresses all required questions; appropriate length (1–2 paragraphs); clear and well conceived; well written.
  • Low-Pass: Mostly satisfies requirements but somewhat lacking in clarity, presentation, or length, or fails to fully address one of the three questions.
  • Fail: Fails to meet the requirements for Low-Pass.

Subpart 1-2 Semi-Structured Interview Questions:

  • High-Pass: Includes the required number of questions; questions are clear and well conceived; questions are well written.
  • Low-Pass: Mostly satisfies requirements but somewhat lacking in clarity, presentation, or length, or fails to fully address one of the three questions.
  • Fail: Fails to meet the requirements for Low-Pass.

Subpart 1-3 Personas/Interviewers:

  • High-Pass: At least 3 personas are listed (min 2 from first list and min 1 from second list), and each team member led at least one interview.
  • Low-Pass: At least 3 personas are listed.
  • Fail: Fails to meet the requirements for Low-Pass.

Subpart 1-4 Product Name:

  • High-Pass: An appropriate name is given.
  • Low-Pass: A name is given, but it is somehow not entirely appropriate.
  • Fail: Fails to meet the requirements for Low-Pass.

Subpart 1-5 Value Proposition:

  • High-Pass: Value proposition given is well conceived and well written and is appropriate length (1–2 sentences).
  • Low-Pass: Value proposition given mostly satisfies High-Pass requirements but somewhat lacking in clarity, presentation, or length, or fails to fully address the goal.
  • Fail: Fails to meet the requirements for Low-Pass.

Subpart 1-6 AI Chat Transcripts:

  • High-Pass: All relevant AI chat transcripts are attached or linked.
  • Low-Pass: Some (but clearly not all) relevant transcripts are attached or linked.
  • Fail: Fails to meet the requirements for Low-Pass.

Part 2 Rubric: User Stories

  • High-Pass: 90% of stories satisfy all the quality criteria, and the set of stories is deemed sufficiently complete (no critical omissions). All stories are organized under epics. All relevant chat transcripts are attached or linked.
  • Low-Pass: 70% of stories satisfy all the quality criteria, and/or there are minor completeness deficiency (up to 4 key stories omitted). Some (but clearly not all) relevant chat transcripts are attached or linked.
  • Fail: Fails to meet the requirements for Low-Pass.

Quality Criteria:

  • Correct: Valid and not redundant.
  • Readable: Clear and understandable.
  • Template Compliant: Follows the required templates:
    Title template - VERB NOUN.
    Description template - As a WHO, I want WHAT, so that WHY.
  • Functional Only: Specifies only functional requirements (not non-functional requirements).
  • INVEST Compliant: Satisfies the INVEST criteria.

Quantity Criteria:

Your team's set of user stories must cover all the features needed for a minimum viable product.

Part 3 Rubric: UX Storyboard

  • High-Pass: A well-formed storyboard for what is arguably the app's most valuable feature is given. The storyboard is well conceived, clear, and complete (including ASCII art figures).
  • Low-Pass: The storyboard has a few glaring quality issues but is otherwise suitable for its purpose.
  • Fail: Fails to meet the requirements for Low-Pass.

Part 4 Rubric: Software Architecture

  • High-Pass: Pass score on both subparts and High-Pass on at least one.
  • Low-Pass: Pass score on both subparts.
  • Fail: Fails to meet requirements for Low-Pass.

Subpart 4-1 Architecture Diagram:

  • High-Pass: Diagram captures the desired architectural aspects (components, where they run, and data flows), is readable and understandable, is sufficiently detailed and complete, and is written in Mermaid.
  • Low-Pass: Diagram has a few glaring quality issues but is otherwise suitable for its purpose.
  • Fail: Fails to meet the requirements for Low-Pass.

Subpart 4-2 APIs:

  • High-Pass: API specifications are clear, correct, and complete.
  • Low-Pass: API specifications have a few glaring issues but are otherwise suitable for their purpose.
  • Fail: Fails to meet the requirements for Low-Pass.

Part 5 Rubric: Team Reflection

  • High-Pass: For each of the above subparts, answers to both reflection questions are given. The responses relate to the team's experiences working on the project, are well conceived, are sufficiently detailed and clear, and meet the length requirements.
  • Low-Pass: Responses have a few glaring issues but are otherwise successful at showing that the team has gained substantial knowledge from their experiences.
  • Fail: Fails to meet the requirements for Low-Pass.