Team Project Marking: Sprint 5

During Sprint 5, you will be polishing the existing functionalities and working on user documentation. After this sprint, all requirements of the MVP must be complete. This system must be usable; it must deliver all “must-have” functionalities, and, ideally, it should also deliver some “nice-to-have” features.

Additionally, you will deliver the "Final Documentation" package including:

  • Deployment instructions

    • The deployment instructions should make it possible for your client to install and run your system on their own servers.
  • A User manual

    • The form and format of the user manual should satisfy the needs of the client and user community. Generally, it should be organized by user tasks described step-by-step (not by screen elements, for example).

    Remember, that you are developing the user manual for the end users of your system, so think about their socio-cultural profile and level of experience.

  • A Job description (in case your client wants to hire a developer to support the system you created)

    • After this project is over, your client might need to get someone on board to:
      1. Install and configure your system;
      2. Maintain and update your system, fix accidental bugs;
      3. Develop new features.

    As a part of the final documentation, you should provide a ready to publish job description. Include all the necessary skills that someone would need to work on your project.

Late release submission policy

Applies to all sprints.

If a sprint release is late for less than 24 hours: penalty of 5 marks.

If late for more than 24 hours: penalty at the instuctor's discretion, min. 10 marks.

Rubric

Deliverable Marks
Revisions 5
Deployment environment and documentation 20
Codebase 30
Testing 20
Teamwork 10
CMPUT 401 Portal 5
Addressing TA feedback 10
Total 100

Revisions, Teamwork, and Addressing TA feedback deliverables are similar to the ones in the previous sprints.

Deployment environment and documentation

  • Deployment documentation is clear and complete; it fully covers backend and frontend
  • List of required libraries with installation details is included
  • Final prototype is deployed and functional
  • Security defaults have been changed, debug and testing credentials are removed
  • End-user documentation is available as a manual and as contextual help
  • API is comprehensively documented
  • Job description provides all the necessary information for the client if they need to hire a developer to maintain the system

Codebase

  • All "Must" and some Nice-to-have functionalities have been developed
  • Github repo is well organized, using the best practices
  • Code is well structured and organized
  • Code is well written and efficient
  • In-line code documentation (comments) is consistent is useful"

Testing

  • All functionalities are sufficiently tested; tests cover whatever is important for the project (back-end logic, user interface, ...) and documented
  • There is a "Requirements Traceability Matrix" tracking the testing of all functionalities
  • At least one static code analysis testing tool (example: SonarQube) has been tried and its reports have been analyzed with an explanation of what the tool does and what has been analyzed in your code
  • Manual acceptance tests (if applicable, i.e., functionality cannot be tested automatically) cover the implemented requirements
  • CI/CD covers some of the functionalities

CMPUT 401 Portal

  • Project name
  • Tagline
  • Summary
  • Source code link (if your client agreed to make the repository public)
  • Logo (confirm with the client that it’s okay to use their logo!)
  • One selected screenshot
  • Relevant tags