Course Artifacts

Besides the main project results, we expect you to produce a number of artifacts in the course of the Software Engineering Project. These artifacts allow us, to assess your progress and to guide you. At the end, they are used to grade your team’s performance.

Specification Document

Purpose

After your first meeting with the customer, your team will prepare a specification document (1-2 pages) outlining the project vision and any legal constraints, such as licenses. This document acts as a “contract” between your team and the customer, clearly establishing expectations for the project.

Process

During the first iteration (following the initial meeting with the customer), the team should complete this specification document based on discussions with the customer. The document should be ready to share with the customer and mentors for feedback ahead of the second customer meeting. The document must be approved by the customer.

Deadline

  • Final Approval by Customer: Fr. 29.11.2024
  • To meet this deadline, an earlier version should be completed and submitted for feedback well in advance.

Project Report

During the semester you will write a project report covering the following areas:

  1. Project Overview (1-2 pages)
    • Project Vision: Summary of the project’s purpose, target audience, and main problem it aims to solve
    • Project Goals: Key objectives, including functionality, performance standards, and initial constraints
  2. Functional and Non-Functional Requirements (1-2 pages)
    • Functional Requirements: Describe the core functionalities the project must provide, including specific features and use cases.
    • Non-Functional Requirements: Outline the quality attributes and constraints, such as performance, security, usability, and scalability.
  3. Team Communication and Agile Process (1-2 pages)
    • Internal communication within the group, including team organization, role distribution, and coordination
    • External communication with the client, including main contact points, frequency, and methods of communication
    • Description of your agile development process (e.g., Scrum, Kanban) and any adaptations made for the project
  4. Technical Setup and Development (1-2 pages)
    • Description of tools and technologies used
    • Architecture
    • Key development decisions
  5. Deliverables (1-2 pages)
    • List of main deliverables, their completion dates, and any produced documentation
  6. Risk Management and Quality Assurance (1-2 pages)
    • Risk Identification and Mitigation: Key project risks, their potential impact, and mitigation strategies. Indicate which of the identified risks occurred during the project and describe how they were handled.
    • Testing and QA: Overview of testing approaches and QA measures, such as code reviews, automated tests, and any additional quality checks used to ensure project standards.
  7. Legal Considerations (0.5-2 pages)
    • Description of the licenses under which the project will be released
    • Any additional legal aspects affecting the developed software, such as data protection, intellectual property, or third-party software usage
  8. Reflection and Key Learnings (1-2 pages)
    • Project retrospective
    • Key insights
    • Areas for improvement