Rubric for Project Iterations
Total posts: 100 (per iteration)
Deductions under each category may exceed the points available for that category!
Software Development Process [5 points]
Item | Points |
---|
The project README is outdated or incomplete. | -3 |
There is a missing, incomplete, or poorly written plan for the user stories to be implemented in this iteration. Advisors: Please use the point adjustment and apply -2 for every extra case. | -2 |
Not using (or poor use of) GitHub issues for documenting issues, assigning tasks, or introducing changes, updates, or new features. | -4 |
Not using (or poor use of) branches (and pull requests) to isolate and merge changes/updates. (Includes poor pull request descriptions.) | -3 |
Not using Continuous Integration & Delivery; The deployment process is not automated. | -3 |
Implementation [20 points]
Item | Points |
---|
The code in the main branch is not the deliverable of this iteration (does not correspond to the deployed app). | -3 |
There are visible issues with the organization of code in the repository (poor structuring, temp files that are renamed to avoid merge conflicts, build files contaminated the repository, etc.) | -5 |
There are visible issues with coding practices, e.g., code that is not modularized, methods/classes too long, poor naming, lack of comments, code that is not readable or requires refactoring (obvious code duplicate, etc.) | -5 |
Commit history in a state of disarray (poor commit messages, too many or too few commits, unclear how the development progressed, all/most commits are made by one or a few members, etc) | -2 |
Tried to pull and run the code locally but it didn't work (for any reason including poor documentation!) Advisors: You don't need to run the app locally on every iteration. But it must be done at least on two iterations at your discretion. | -10 |
Test [15 points]
Item | Points |
---|
Unit testing (mostly aimed at backend) is missing, incomplete, insufficient, or have poor coverage. | -5 |
End-to-End testing (involves fronte=-end) is missing, incomplete, insufficient, or have poor coverage. | -5 |
The existing tests are not automated or not integrated with the development process (e.g., not run automatically on merge or before deployment). | -3 |
Poor practices when writing test code (e.g., lack of modularity or readability, test against production DB instead of mocking data, etc). | -2 |
Delivery [50 points]
Item | Points |
---|
Completed the iteration backlog but failed to complete a few minor tasks that they had planned. Advisors: Please apply an additional -5 if they miss several planned tasks. | -5 |
Missing one major deliverable (e.g. a planned user story or a critical bug fix not completed). Advisors: Please use the point adjustment and apply -10 for each extra major deliverable that is missing. | -10 |
The app runs locally (the team can demo it on their computer), but the deployed version is not functioning properly. | -10 |
The app works (locally or in the deployed version), but some bugs/issues hinder the application's usability. Advisors: Please use the comment section to provide a few examples of those bugs/issues. Apply -5 per bug (feel free to group several small issues into one) | -5 |
Teamwork [10 points]
Item | Points |
---|
Missing (or poorly written) retrospective. | -5 |
No evidence of code review (e.g., reviewer are assigned but pull request is approved with no feedback). | -3 |
No evidence of active communication in the team slack channel. | -2 |
Most team members missed more than one project meeting during this iteration. | -3 |