Consultancy - Development
We will be using a (somewhat) Agile process during the development of this project. This will include:
- Working in short 3 or 4 day “Sprints”
- Using GitHub
- Using a project management tool such as Github Projects
- Conducting Story Refinement meetings
- Doing daily check-ins
- Demoing your project to your Project Manager
- Holding Team Retros
Note: Additional non standard gems must be approved by your project manager.
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 Breakdowns
Days/times are subject to change due to holidays.
Sprint 0: Inception
- Begin: Monday of Week 4
- End: mid-Week 4
- Deliverables are listed on the Inception page
- Teams are welcome to move to development only after instructor review of deliverables, but the green light can be given before an in-person check-in (i.e. before check-in #2)
Sprint 1: Development
- Begin: Thursday of Week 4
- End: Monday morning of Week 5
- Example Sprint Goals:
- Back-end API endpoints largely complete
- Skeleton front-end structure built with mock data
- External API integration complete
Sprint 2: Development
- Begin: Monday Afternoon Week 5
- End: Thursday Afternoon Week 5
- Example Sprint Goals:
- Professional-looking front-end
- MVP for each component is met
- FE is consuming BE API endpoints, not mock data
Sprint 3: Finishing Touches or Code Freeze
- Begin: Thursday Evening Week 5
- End: Saturday Evening Week 5
- What’s a code freeze?
- New features/functionality are not added (unless totally necessary)
- Time dedicated instead to: debugging, enhanced testing, error handling, presentation preparation, documentation, deployment fixes
Project Check-In Schedule
Days/times are subject to change due to holidays. Some check-ins may be async.
- Check-In 1: Speedy Sync
- Tuesday afternoon, in the middle of inception
- During this meeting, you should be prepared to review your preliminary plans with your project manager
- The purpose of this check-in is to highlight potential risks or concerns early on so that teams can pivot quickly
- Check-In 2
- Thursday of Week 4
- During this meeting, you should be prepared to review the remaining artifacts from your inception
- During this meeting, your team will draw out the architecture of your application and all should be ready to speak to it
- Check In 3
- Monday Week 5
- During this check in, you will discuss any adjustments you might need to make to your MVP
- Review retro notes with your PM
- You can also use this check in as an opportunity to ask any questions and get help for the final few week of the project.
- Check In 4
- Review of near-final work, check for MVP
- Ask questions, discuss blockers
- Review 2nd retro notes
- Discuss presentation details
Development Reminders
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 Refinement
- You should be using a project management tool to keep track of your stories.
- At a minimum, the beginning of every sprint should include a “Story Refinement” meeting
- When doing a “Story Refinement” 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, or require more details in the story card?
- Are these stories detailed enough that any team member could pick it up and work on it with a common vision?
- 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 may need to call additional refinement meetings during a sprint.
Daily Check-Ins
- A “daily” (also known as a “stand up”) is a very brief meeting for the development team to keep in touch about what everyone is doing.
- During the daily check-in, 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 daily check-in.
Retros
- Your team should have at least 2 retros during the course of the project.
- One will be scheduled on the calendar for you, and the other you will need to schedule as a team
- Consult the Retro Guide for more details