When grading your project at the end of the semester, I will go through the following questions. You should keep these in mind.

Requirements

  • Are reasonable efforts being put into eliciting and analyzing the requirements?
  • Are the project requirements correct? valuable? easy to read? design free? attainable? complete? consistent? unambiguous? verifable? atomic?

Software Design and Architecture

  • Are good design principles being followed in the the design and architecture of the system? (e.g., low coupling? high cohesion?)
    • If a component is swapped out, what needs to be changed?
    • If a user requirement is changed, what needs to be updated?
  • Is the design decision and choices being clearly articulated and rigorously justified?
  • Are security issues adequately considered and factored into the requirement and design?

Software Project Management and Team Work

  • Is reasonable practice being used to plan for every iteration?
  • Are the tasks reasonably prioritized?
  • Does the team communicate well internally and with external parties (e.g., minutes, code comments, docs, git commit messages, README.md, installation/setup/compile instructions)?
  • Is reasonable worklow being followed?

Software Implementation

  • Is the code correct, chageable, readable, extensible, maintainable?
  • Is testing done in parallel with code development? (unit testing, integration testing, Is the test coverage reasonable?
  • Does testing cover most of the code written so far?
  • Is unit testing and integration testing automated?
  • Is continuos integration being used?
  • Is there evidence of code review being well-practiced within the team?
  • Is the release at the end of the sprint potentially shippable?

Software Usability

  • Is the prototype usable (i.e., good usability?)
  • Is reasonable process being done to evaluate the usability of the project? (Heuristic evaluation, user study, etc.)

Project Report

  • Is the report complete? Readable? Well structured? Well written? Concise?

Final Presentation

  • Does the presentation clearly convey the goal and scope of the project?
  • Is appropriate demo being shown at appropriate time?
  • Does the presentation clearly covey the software development process of the project?
  • Are the key requirements and salient points of the design/architecture being conveyed clearly?
  • Do the team answer the questions well?


Published

15 October 2015

Tags