Overview¶
Picture yourself in a bustling tech startup, where the excitement of a new app idea meets the chaos of getting everyone on the same page— that’s the vibe of Milestone 1 in your Introduction to Software Engineering course project. Here, you’re not just building code; you’re kicking off a real-world adventure by forming a team of 3-5 budding engineers to create a To-Do List app that could genuinely ease the daily grind for overwhelmed students or busy professionals juggling endless tasks. Motivated by how companies like Google or startups like Trello start with strong foundations to avoid costly pivots, this phase lets you craft a vision (imagine an app that smartly prioritizes tasks to reduce stress), set up roles like Scrum Master for smooth coordination, and configure tools like GitHub for seamless code sharing and Zenhub for tracking progress. It’s relatable to that group project in college or your first job interview prep, where planning early turns potential headaches into smooth sailing.
By the end of this milestone, your team will have established a cohesive structure, a preliminary product backlog, a draft project plan, and operational tools, ensuring a strong foundation for iterative refinement and high-quality outcomes. All progress and final submissions will be tracked via GitHub
releases, promoting version control best practices.
Learning Objectives¶
Upon successful completion of this milestone, you will be able to:
Form and organize a high-functioning team with defined roles and communication protocols, promoting equity and accountability.
Develop a clear project vision and initial backlog for your To-Do List application, aligning with user needs and Agile practices.
Conduct preliminary planning to outline core features, timelines, and risks, fostering proactive decision-making.
Configure and integrate tools like
Git
/GitHub
for version control andZenhub
for task management, enabling efficient workflow tracking.Apply foundational Agile concepts to initiate sprint planning, emphasizing adaptability and continuous improvement.
Utilize
GitHub
releases for versioning deliverables, simulating professional deployment workflows.
Tasks and Instructions¶
1. Tool Configuration¶
Initialize
GitHub
: Add collaborators, create branches (main
,dev
), set up/task_manager_app/src
and/task_manager_app/docs
.Configure
Zenhub
: Link to GitHub, create epics (e.g., “Core Task Management”), add initial tasks, set workflows (Backlog, In Progress, Done).
2. First Meeting Execution¶
Conduct a meeting with agenda (roles, vision, backlog).
Assign action items with owners and deadlines.
Document in
/task_manager_app/docs/meeting_minutes/milestone_1/week_1.md
.
3. Team Formation (with rotation schedule)¶
Assign roles: Scrum Master, Developers, Tester, Meeting Recorder.
Define communication: Weekly meeting, Microsoft Teams for async updates.
Document in
/task_manager_app/docs/team_formation.md
.
4. Project Vision and Planning¶
Brainstorm scope, users, unique features (e.g., tags, reminders) in meeting.
Draft vision statement and plan (timeline, risks/mitigations).
Commit to
/task_manager_app/docs/vision_plan.md
after review.
5. Product Backlog Creation¶
Each member submits 5+ stories and 2+ non-functional reqs in
/task_manager_app/docs/backlog/member_name.md
.Scrum Master consolidates into
/task_manager_app/docs/backlog.md
with prioritization.Export to Zenhub for linking.
6. Individual Reflections¶
- Submit a
.md
file via Canvas with release/Zenhub links and reflection answers (see Submission Checklist).
7. GitHub Releases¶
Progress Check (One Week): Create a minor release (
v0.1
, taggedmilestone1-progress-v0.1
) with drafts. Submit URL via Canvas. Note: Missing this incurs a 20% penalty.Final Submission (Two Week): Create a major release (
v1.0
, taggedmilestone1
) with all linked in notes and changelog. Submit URL via Canvas.
Submission Checklist¶
Submit via Canvas:¶
A
.md
file containing:GitHub release link (e.g.,
https://github.com/user_name/project_name/releases/tag/v1.0
)Zenhub board link (e.g.,
https://app.zenhub.com/workspaces/...
)Reflection answers:
Contribution to the project (50–100 words): Describe your specific contributions (e.g., backlog, setup).
Rating team dynamics (1–5 scale, with justification, 50 words): Rate collaboration; explain.
How does the project vision align with your software engineering goals? (50–100 words): Connect to aspirations.
Feedback/comment about this milestone (50 words): Suggest improvement.
Repository Documents¶
All documents must be checked into the GitHub repository under /task_manager_app/docs
and linked in release notes. Use checkboxes to confirm completion:
Team Formation (
/task_manager_app/docs/team_formation.md
)- Roles, rotation, communication.
Project Vision and Plan (
/task_manager_app/docs/vision_plan.md
)- Statement, timeline, risks.
Initial Product Backlog (
/task_manager_app/docs/backlog.md
)- Stories, non-functional reqs.
First Meeting Minutes (
/task_manager_app/docs/meeting_minutes/milestone_1/week_1.md
)- Attendance, agenda, actions.
Evaluation Rubric (100 Points)¶
Criteria | Points | Description |
---|---|---|
Team Formation | 20 | Clear roles, rotation, communication plan |
Vision and Planning | 20 | Concise, user-focused vision and plan |
Product Backlog | 25 | Prioritized, formatted stories/reqs |
Tool Setup & Releases | 20 | Functional GitHub/Zenhub, proper releases |
Meeting Minutes | 10 | Detailed, actionable notes |
Individual Reflections | 5 | Insightful responses |
Penalties: 20% for missing progress check.
Resources¶
Textbook¶
Chapter 1: Introduction
Chapter 2: Processes (Agile setup)
Tutorials¶
Best Practices¶
Use semantic versioning.
Commit with descriptive messages.
Test links before submission.
Navigation¶
- Previous: Project Milestones Overview
- Next: Milestone 2