Development
We will be using an Agile process during the development of this project. This will include:
- Working in short 1 - 3 day “Sprints”
- Using GitHub
- Using a project management tool such as Github Projects
- Conducting Story Grooming meetings
- Doing daily Stand Ups
- Demoing your project to your Project Manager
- Holding Team Retros
git/GitHub
- Commit Frequently
- Decide on a git workflow
- Make branches and submit Pull Requests for each new feature.
- DO NOT commit directly to main
- Keep your PRs as small as possible (one feature / user story per PR)
- Use screenshots and screencasts to demonstrate functionality.
- Your PR should be reviewed by at least one team member before it is merged.
- Tag your Project Manager if you have questions. DM your Project Manager letting them know you have tagged them.
Story Grooming
- You should be using a project management tool to keep track of your stories.
- When doing a “Story Grooming” you should:
- Make sure that the project board is up to date
- Look over the current backlog of stories and decide if you want to make any changes
- Are there any stories that need to be updated?
- Are there any stories that need to be added?
- Assign stories to individual team members or pairs
- Be clear on what it is that everyone should be doing
- You should be Story Grooming every 1-2 days.
Daily Stand Ups
- A Stand Up is a very brief (hence, physically standing up) meeting for the development team to keep in touch about what everyone is doing.
- During the stand up, each member of the team will take 1 - 2 minutes to answer these questions:
- What have you been working on?
- What are you going to be working on?
- Is anything blocking you?
- Every weekday you should send your PM a summary of the day’s stand up.
Sprints
In Agile processes, a sprint is a single cycle of development. The most common length of a sprint is two weeks. During this cycle, teams will assign features, develop those features, demo their work, get feedback, and retro.
Sprint 1: Initial Project Setup and Database Migrations
We are going to include the Inception phase as part of this sprint. In addition to the Brainstorming, Deciding, and Solving; during this sprint you will:
- Create your initial project in Visual Studio
- Create a github repo and add all group members as collaborators
- ✅ Add your project manager as a collaborator
- Create your project board and add cards to it
- Create the initial database migrations based on your inception discussions
- Individually pull down your project, and debug any setup issues.
✅Send a status update to your project manager when you are ready to move on to Sprint 2
Sprint 2: Primary Development
During this sprint, you will implement the user stories you identified in the Inception phase. Each feature should be tested!
✅Send a status update to your project manager when you are ready to move on to Sprint 3
Sprint 3: Final Product
The last sprint is dedicated to polishing your finished project; this should be the shortest sprint! During Sprint 3, you will:
- Review your application from a users perspective
- For this, it can be very helpful to recruit a ‘new’ user from another group!
- Identify minor changes that need to be made for a better user experience
- Implment fixes
✅Send a status update to your project manager when you are finished with Sprint 3!