Skip to article frontmatterSkip to article content

Milestone 1: Project Initiation and Setup

Utah Valley University

Overview

In the real world, the first days of a software project can feel like setting sail on a long voyage. You would not simply jump into a boat and start rowing. You would choose your crew, decide where you are headed, gather supplies, and make sure your navigation tools actually work. Software development is no different. The smartest teams spend time aligning their vision, clarifying responsibilities, and setting up their tools before writing a single line of code. This is what keeps projects from drifting off course.

In this milestone, you will take those same professional first steps. Your team of three to five members will begin work on a To-Do List app designed to help busy students or professionals manage their tasks efficiently. Following practices used at companies like Amazon or Meta, you will establish your team structure, craft a clear project vision, build an initial feature backlog, and configure tools such as GitHub and GitHub Projects. These activities connect directly to what you have learned about version control, Agile methods, and team collaboration, giving you a smooth and confident start before diving into detailed requirements.

By the time this milestone is complete, your team will have a fully organized setup, a prioritized feature list, a draft project plan, and a working toolkit ready for future development cycles. Every submission will be documented through GitHub releases, giving you hands-on experience with the professional versioning practices used by real-world software teams. This is your launchpad for the rest of the semester — get it right now, and every step that follows will be easier and more effective.


Learning Objectives

Upon successful completion of this milestone, you will be able to:


Tasks and Instructions

1. Tool Configuration

Before coding begins, a well-organized digital workspace must be in place. This section focuses on setting up your version control and task-tracking environment.

Assign issues during your first meeting. Track progress weekly.

2. Team Formation (with rotation schedule)

Clear team structure and responsibilities are essential to avoid confusion during development.

3. Team Meeting Execution

Team meetings are crucial for aligning on goals and tasks.

4. Project Vision and Planning

A shared vision ensures alignment and motivates progress. Your plan should sketch the product’s mission, core features, early risks and other essential elements.

5. Initial Product Backlog Creation

Before you write any code, your team should brainstorm and capture a well-prioritized list of user-centered features.

6. GitHub Project Board Setup

7. Individual Reflections

8. GitHub Releases

Use GitHub Releases to version and document project checkpoints, just as professional teams do.


Submission Checklist

Submit via Canvas:

A .md file containing:

Repository Documents

GitHub Releases

GitHub Project Board


Evaluation Rubric (100 Points)

CriteriaPointsDescription
Team Formation10Clear roles, rotation, communication plan
Vision and Planning20Concise, user-focused vision and plan
Product Backlog35Prioritized list of 10+ feature items
Tool Setup & Releases20Functional GitHub/GitHub Projects, proper releases
Meeting Minutes10Detailed, actionable notes
Individual Reflections5Insightful responses

Penalties: 20% for missing progress check after first week.


Resources

Textbook

Beginner Friendly Resources

Tutorials

Github Projects

Best Practices


All Project Milestones

  1. 📌 Milestone 1

  2. Milestone 2

  3. Milestone 3

  4. Milestone 4

  5. Milestone 5

  6. Presentation

  7. Final Submission