Milestone 0 Instructions
Milestone 0 Checklist
☐ Set of user stories
☐ Definitions document
☐ Sitemap for your web app
☐ User interface wireframes
☐ Class diagram of your model
☐ Customer sign-off
☐ GitHub release (URL submitted to eCourseware dropbox)
☐ Teammate evaluations
The main deliverables to come out of this iteration are a collection of artifacts regarding project requirements, planning, and design.
1. Project Artifacts
For Milestone 0, you will submit the following artifacts:
- a set of user stories
- a definitions document,
- a sitemap for your web app,
- user interface wireframes,
- a class diagram of your model, and
The artifacts should satisfy the following grading criteria:
- Artifact quality. All your artifacts must be of high quality.
- User story quality. Your USs must follow the templates/guidelines/principles described in lecture. Additionally, your US document must follow this Markdown template.
- Definitions quality. Your definitions cover all key terms and concepts, and the definitions themselves must be clear (however you go about expressing them). Additionally, your definitions document must follow this Markdown template.
- Sitemap quality. I don’t care about the exact notation you use for this diagram. However, it should be easy to figure out what pages your site will have and how those pages will be interconnected.
- UI-wireframe quality. Your UI wireframes should show the basic page elements (fields, buttons, etc.). They may or may not be styled (e.g., with colors/graphics).
- Design quality. Your designs should follow principles of good design, such as the SRP (Single Responsibility Principle) and DRY (Don’t Repeat Yourself) principles.
- Class diagram quality. Use proper class diagram notation (as given in lecture). Label all associations, and include all multiplicities. Include attribute types (e.g., “name : string”).
- Consistent naming across artifacts. You must use consistent names for things across artifacts. That way, for example, we can tell where each UI sketch fits into the sitemap.
-
Diagram format. Diagrams need not be anal-retentively typeset; they simply must be readable. Thus, you may hand-draw diagrams on paper/whiteboard, and scan them into a digital format (PDF preferred). Of course, if you really want to typeset them, that’s OK too.
-
Diagram submission. Keep the diagrams and USs with your web app code. Specifically, add a folder docs
to the top level of your project, and place the file(s) in there.
- Artifact IDs. Make sure that all artifacts have clear designations, so that they may be easily cross-referenced in your task reports. For example, you might employ labels like WF1, WF2, WF3, etc. for your wireframes.
Keep in mind that these artifacts will evolve as the project rolls along. Plan for such evolution.
2. Submitting the Milestone
2.1. Customer Sign-Off
Before your milestone submission will be considered complete, your customer have signed off on it, as per the form below. (Note that I will contact the customer directly to collect their sign-off, so you need only to get their verbal approval.)
2.2. GitHub Release
Once all team members tasks have been completed and their pull requests have been merged into the master
branch, your team must create a release for the milestone:
- Set the Tag version to
milestone0v1
. If changes (e.g., bug fixes) are made to the release after it is created, you can create a new release that includes the changes—just be sure to increment the version (e.g., milestone0v2
).
- Set Release title to
Milestone 0, version 1
(replacing version 1
with the appropriate version of the release).
As the last step, your team must submit the URL of the release page to the appropriate eCourseware dropbox. Only one team member needs to perform this step. If you need to correct a release, don’t forget to resubmit the URL as well to reflect the correct version.
3. Teammate Evaluations
At the end of each iteration, each team member must provide an evaluation of each other team member.
Instructions and forms for performing these teammate evaluations will be communicated by email near
the end of the iteration.
Customers: Please indicate your approval of the following items—but ONLY if you agree 100% with the statement for the item.
If you have ANY disagreement, do not give your approval. Instead, provide the team with feedback, and have them resolve whatever issue is preventing your approval.
☐ I have reviewed the user stories, and they are consistent with my wishes.
☐ I have reviewed the user-interface designs, and I approve of them.
Grading Rubric
Below are each of the grading items for this Milestone, along with their point values and weights. If an item is not submitted at all, 0 points will be awarded for that item. The top-level bullets specify grading criteria. The sub-bullets indicate standard deductions for errors in a submitted item. The deduction list below may not be complete because there may be mistakes that we did not expect. The deduction for an unexpected mistake will be assessed at the time it’s discovered and will reflect how severe the instructor thinks the mistake is. If the deductions for a grading item total more than the total points for that item, 0 points will be awarded for the item.
User Stories
20 points with weight of 30%
- Followed title and description templates
- -1 for each violation up to a max of -5
- Not too big
- -1 for each violation up to a max of -5
- Complete set
- -1 to -10, depending on how incomplete
- Functional user requirements only
- -1 for each violation up to -3
- Customer-oriented
- -1 for each violation up to -5
- No design, just requirements
- -1 for each violation up to -3
- Has status tracking
- -1 per missing/incorrect status up to -4
Definitions Document
20 points with weight of 10%
- All key terms/concepts defined
- -1 to -20 per undefined term/concept (that arguably should have been defined) depending on relative size of the concept
Sitemap
20 points with weight of 10%
- Shows pages and how they’re interconnected
- -15 if the figure doesn’t convey this
- -1 for each missing page up to -15
- -1 for each missing connection up to -5
- Clear and understandable
- -1 to -20 depending how unclear or difficult to understand
User Interface Wireframes
20 points with weight of 20%
- Clear and well detailed
- -1 to -15 depending on how unclear or how many details are missing
- Shows the basic page elements
- -1 to -15 depending on how many page elements are not accounted for
- Complete set
- -1 to -15 depending on how many interfaces are not accounted for
Class Diagram of Model
20 points with weight of 20%
- Clear and detailed
- -1 to -15 depending on how unclear or how many missing details
- Complete
- -1 to -15 depending on how incomplete
- Uses proper class diagram notation
- -1 for each departure from class diagram notation up to -5
- All associations and multiplicities labeled
- -1 for each missing association or multiplicity label up to -4
- Follows good design principles
- -1 to -5 depending on the number and severity of design issues
Release in GitHub
20 points with weight of 5%
- Followed prescribed naming convention
- -3 to -6 depending on how much the release departed from the convention
- Repo well organized
- -1 to -15 depending on how disorganized the repo is
Peer Review of User Stories
20 points with weight of 5%
- Participated in review process
- -10 for not submitting user stories and definitions document
- -10 for not providing quality feedback to another team