Requirement Extraction and Analysis

This lab focuses on understanding the Quackstagram project in greater detail. You will analyze the project specification, source code, and stakeholder conversations to extract and categorize functional and non-functional requirements. This process is important for shaping the project’s development trajectory and ensuring that the final product aligns with stakeholder expectations.

Lab Duration: Approximately 2 hours

Learning Objectives:

Preparation:

  1. Review the Quackstagram project specification [^1].
  2. Familiarize yourself with the existing Quackstagram source code [^2].

Lab Tasks:

  1. Understanding Project Specification and Source Code:
    • Carefully read the project specification to understand the envisioned system and its functionalities.
    • Explore the Quackstagram source code provided to get a feel for the existing implementation and identify areas that might need modification or enhancement.
  2. Stakeholder Conversations:
    • Review the transcripts of conversations with four stakeholders. Identify and note their specific needs, concerns, and expectations. You can find the transcript on Canvas or alternatively by clicking [here](https://bcs1430.ashish.nl/assignment/cheapoTranscript.html).
    • Understand the different perspectives and requirements each stakeholder brings to the project.
  3. Extracting Requirements:
    • From the project specification, source code review, and stakeholder conversations, create a comprehensive list of functional and non-functional requirements.
    • Functional requirements should detail what the system should do.
    • Non-functional requirements should focus on system properties.
  4. Requirement Prioritization:
    • Discuss and decide on the importance of each requirement with your team. Consider factors like stakeholder importance, implementation complexity, and project timeline.
    • Categorize requirements into ‘Must Have’, ‘Should Have’, ‘Could Have’, and ‘Won’t Have’ (MoSCoW method) or any other prioritization technique you prefer.

Post-Lab Reflection:

End of Lab:

Preparation for Next Week:

[^1]: You can find the project specification on Canvas or on https://bcs1110.ashish.nl/assignment/

[^2]: You can find the project source code on Canvas or https://gitlab.maastrichtuniversity.nl/bcs1430/quackstagram