Capstone Software Project

Milestone 0 Instructions

This milestone concludes the initial iteration in which the team focuses on planning and designing the project, as well as on setting up their development environment.

1. Plan, Design, and Setup Instructions

1.1. Requirements Specifications

To facilitate communication among your mentor, manager, and team, your team must create a list of requirements that describes the system’s functionality. Follow these criteria:

Your mentor must approve the set of requirements in your team’s plan (prior to the milestone deadline).

1.2. Prioritization and Schedule of Requirements Implementation

Prioritize the requirements and note the dependencies between them. Then, list the features expected to be completed during each development iteration (and, if relevant, how polished the features will be).

1.3. User Interface Designs

Your team must create rough sketches of what the various system interfaces will look like.

Your mentor must review and approve your interface designs (prior to the milestone deadline).

1.4. Software Architecture and Designs

1.4.1. Architectural Design

Your team must describe what software components you will implement and how those components will interact.

You have some flexibility in how you communicate this. For example, data flow and/or deployment diagrams are probably appropriate.

1.4.2. Database Design

If your system will use a database, create a database design (i.e., a detailed data model of the database).

1.5. Quality Assurance Plan

Your team must define what policies and procedures will be followed and what technologies will be used to ensure that the software built is of good quality—especially from the perspective of the mentor.

1.6. Feedback Management Plan and Setup

Your team must define what policies and procedures will be followed in managing and handling feedback received. Also, the team must set up a system for managing feedback and provide the mentor and instructors access.

See the Feedback Collection and Management document for detailed instructions.

1.7. Collaboration Plan

Your team must define a plan for communication both among the team members and with the mentor. The plan should address questions, such as

1.8. Risks

As your team plans the project, you will find that there are key unknowns, things may not work as planned, or things that could just plain go wrong. These are risks to the success of the project, and your team must identify them early. Common categories of risks are as follows:

Additionally, you should consider the following for each risk:

1.9. Code Skeleton

To ensure that your team is ready to “hit the ground running” in Development Iteration 1, it is critical that you have a working code skeleton ready prior to the start of Iteration 1. This skeleton will give your team’s members a place to begin adding their functionality. What sort of skeleton is appropriate varies by project, but there should clearly be enough there for teammates to easily begin integrating functionality.

2. Individual Assignments

Full task planning and outcome reporting must be part of each iteration and milestone. See the Individual Assignment Specification document for detailed instructions.

3. Instructions to the Instructors

Since the way to access the various milestone artifacts may vary from team to team, each team must submit a document containing instructions to the instructors regarding how to access each artifact. This document must be submitted to an eCourseware dropbox by the milestone deadline.

Teams must use the following template. Create a Markdown file (i.e., a text file with the file extension “.md”), and paste in the template below. Each team should submit only one Instructions-to-the-Instructors file that is shared by all team members. For the file locations, give the file name(s) and location(s) of each item in your team’s repository (e.g., “/misc/user_stories.docx”). Feel free to leave additional explanations/instructions as sub-bullets.

# Milestone 0 - Instructions to the Instructors

- Team: xxx (Team Name)
- GitHub Repo URL: xxx (URL)

## File Locations in Repository

- Requirements specifications: xxx
- Prioritization and Schedule of Requirements Implementation: xxx
- User interface designs: xxx
- Architectural design: xxx
- Database design (if system will have a DB): xxx
- Quality assurance plan: xxx
- Feedback management plan and setup: xxx
- Collaboration plan: xxx
- Risks: xxx
- Code skeleton: xxx

- Milestone 0 individual assignment outcomes: xxx

4. 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.


Milestone 0 Checklist

[ ] Requirements specifications (Section 1.1)
[ ] Mentor must have reviewed and signed off on

[ ] Prioritization and Schedule of Requirements Implementation (Section 1.2)

[ ] User interface designs (Section 1.3)
[ ] Mentor must have reviewed and signed off on

[ ] Software design (Section 1.4)
[ ] Architectural diagram(s)
[ ] Database design (if system will have a DB)

[ ] Quality assurance plan (Section 1.5)

[ ] Feedback management plan and setup (Section 1.6)

[ ] Collaboration plan (Section 1.7)

[ ] Risks (Section 1.8)

[ ] Code skeleton (Section 1.9)

[ ] Individual assignment outcomes (Section 2)

[ ] Instructions to the instructors, submitted to eCourseware dropbox (Section 3)

[ ] Teammate evaluations (Section 4)


Milestone 0 Mentor Sign-Off Form

Mentors: 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 requirements specifications, and they meet the following criteria:
[ ] I can understand all of them
[ ] There are no significant requirements missing
[ ] There are no unwanted requirements added by mistake

I have reviewed the interface designs, and they meet the following criteria:
[ ] I can understand all of them
[ ] There are no significant features missing
[ ] There are no unwanted features added
[ ] I am happy with the design of all the interfaces

[ ] I have been given access to the version control system that the team will use to manage the source code.

[ ] I have been given access to the system that the team will manage the feedback that I and others give them.

[ ] I have reviewed any other parts of the Milestone 0 plans and designs that interest me, and am happy with them.

© Scott D. Fleming 2018 • Made with GitHub Pages and Markdown