Project Warmup: Your Guide To A Smooth Start

Alex Johnson
-
Project Warmup: Your Guide To A Smooth Start

Last updated: September 29, 2025

Table of Contents


Hey there, future software wizards! Welcome to the exciting world of project development. This is where you'll use your skills to solve real problems for real people. This guide is your trusty sidekick, helping you get set up and ready for success. Think of this as a prep session before your first formal meeting with your coaches, where you'll plan your Sprint 1. Feel free to copy this document into a GitHub issue and check off those tasks as you go.

The main goals of this warmup are:

  • To make sure your team has a solid setup for working together.
  • To get you ready for planning. As they say, "the difference between a dream and a goal is a plan." A plan transforms your initial ideas into achievable, concrete goals, you need to prepare the groundwork for your project by setting up tools, planning tasks, and getting ready for your first coaching meeting.

Remember, your last bootcamp milestone (B3) is due on Monday at midnight. Once you're done with B3, take a breather, then dive into the initial infrastructure setup and huddle up with your team in person to prepare for Sprint 1. You will get to know each other and familiarize yourselves with the prep tasks during your first informal meeting with the coaches. You'll be planning Sprint 1, and your entire project must be ready to roll in your first formal meeting.

Initial Setup

Let's get your project house in order!

1. Set up Team Communication:

To make sure everything goes smoothly during the semester, you need a way to easily talk to your teammates and coaches.

  • [ ] Join the SwEnt Discord using the invite link on Moodle. You can use Discord to chat with your coaches and other students.
  • [ ] Check the #announcements channel for details on joining your group's private channel.
  • [ ] If any of your teammates are missing from Discord, give them a shout and remind them to join.

2. Set up GitHub:

GitHub is packed with tools to help you manage your project efficiently. Here's what you need to do (we'll let you research how to do these):

  • [ ] Create a GitHub organization with all your team members, your coaches, and Prof. Candea (GitHub ID: candea) in it.
  • [ ] Create a project repository; make it public so you can use tools like SonarCloud for free.
  • [ ] Give your coaches and Prof. Candea Maintainer access so they can help you out.
  • [ ] Set up branch protection rules:
    • No direct pushes to main.
    • Require pull request reviews with at least one reviewer.
    • Require status checks before merging (e.g., Android tests).
  • [ ] Add a description of your app to the README in your new repository.

3. Initialize the Project:

  • [ ] Initialize your Android project in GitHub using your own bootcamp, or our sample Android project.
  • [ ] Add a .gitignore file for Android projects.
  • [ ] Make sure everyone on your team can clone the repository and run the project locally.
  • [ ] Set up Firebase, including API keys. For backend code, you usually configure secrets via Firebase config or a secrets manager instead of putting them in the repo, but for a frontend app, API keys can stay in config since they aren’t secret.

4. Set up a Scrum Board:

This is super important for collaborative work and will seriously boost your team's productivity. Here's what we suggest:

  • [ ] Create a project in your GitHub org to manage your Scrum board. Check out the scrumboard in the sample Android project for inspiration.
  • [ ] Add these columns to your board:
    • Product Backlog for the user stories that describe your app.
    • Sprint Backlog for the tasks you'll do in the current Sprint.
    • In Development for tasks you're currently working on.
    • In Review for tasks that are being reviewed by other team members before merging.
    • Done in Si for completed tasks in Sprint i (where i = 1, 2, ..., 11).
  • [ ] Define properties for tasks on the Scrum board:
    • Sprint to identify the sprint the task belongs to.
    • Type (e.g., Frontend, Backend, Figma).
    • Priority (e.g., P0, P1, P2).
    • Nature (e.g., User Story, Sprint Task).
    • Epic to group tasks under relevant epics, or as technical/miscellaneous.
    • Assignee to show who is responsible for the task.
    • Estimated Time where you guess how many hours it'll take to finish the task.
    • Actual Time to record how long the task really took.
  • [ ] Create a few views for your Scrum board:
    • Global: An overview of all tasks across all Sprints.
    • Sprint: Focus on the current Sprint's backlog and tasks.
    • Planning: For Sprint planning, with backlogs and user stories filtered.
    • My Tasks: A personalized view showing tasks assigned to each person.

5. Set up your CI:

  • [ ] Set up a CI pipeline to run tests on your repository.
  • [ ] Integrate SonarCloud for code quality checks. This service is free for public repositories, but only 5 of your team members will be able to see it.

6. Set up Figma:

You'll use Figma to create mockups and track your design work.

  • [ ] Create a Figma project and share it with your entire team.
  • [ ] Link the Figma file in your project's README.
  • [ ] Make sure all team members can edit and access Figma in dev mode.
  • [ ] Make sure your Figma is publicly accessible so the course staff can see it.

Preparation for Sprint 1

Get your team together for an in-person, all-hands meeting. During this meeting, you should:

1. Define the Process

  • [ ] Define a clear code review process and what a good pull request should look like (check out these guidelines).
  • [ ] Agree on how you'll handle tricky merges or potential conflicts.
  • [ ] Create branch naming conventions (e.g., feature/feature-name, bugfix/issue-number).
  • [ ] Decide on the time and place for your regular Stand-Up meetings; these meetings are key to staying on track.
  • [ ] Each person should have a clear time budget for working on the project (see this example); discuss any exceptions.
  • [ ] For each Sprint, one of you will be Scrum Master and another will be Product Owner. Talk about how you'll rotate these roles so everyone gets a chance.

2. Risk Planning:

  • Identify any potential risks early on, such as unfamiliar technologies, and document them.
  • Consider if your team has the knowledge and resources to overcome these risks (e.g., finding and using an API for the idea you want to implement). Evaluate the API's availability, cost, whether it meets the project's needs, and how easily it integrates into your solution.

3. Plan Sprint 1

Even though the official Sprint planning happens in the first meeting with your coaches, get a head start:

  • [ ] Fill the Product Backlog with your initial user stories; make sure they're well-defined and prioritized.
  • [ ] Break down the highest-priority user stories into Sprint Tasks, put them on the Scrum Board, and assign them to team members.
  • [ ] Ensure that each team member has at least one assigned task before the Friday with your coaches.
  • [ ] Nominate a Scrum Master for Sprint 1.
  • [ ] Start developing Figma wireframes for the main screens to design your user interface and experience.

After every meeting, keep a record of the important decisions in one place. This way, team members can easily refer back, ensuring everyone knows the procedures and avoiding confusion. A good place to define this is in the Wiki of your organization in GitHub. Make it a habit to update the Wiki as new decisions are made in the team.

4. Prepare for the Coaching Meeting

  • [ ] Finish the project setup so you can show your progress to your coaches.
  • [ ] Make sure your Scrum board has up-to-date tasks and progress.

After the First Coaching Meeting

Now that you've met with your coaches:

  • [ ] Make sure you have a Scrum Master (SM) from the team.
  • [ ] Make sure you have a Product Owner (PO) from the team.
  • [ ] Make sure all the infrastructure is up and running, and CI is working.
  • [ ] Have at least two in-person stand-up meetings before the next Friday.
  • [ ] The SM keeps minutes of the stand-up meetings (see README for details).
  • [ ] Make sure the Scrum board is updated regularly.
  • [ ] When you finish a task, submit a PR as described in the README.

By following this checklist, your team will be well-prepared to work together, start your project strong, and get the most out of your Sprint 1 planning meeting. Good luck, and have fun! To learn more about Scrum and Agile methodologies, check out the Atlassian website, which offers plenty of guides and tutorials. Atlassian

You may also like