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