Momentum logo
Team 14 Classroom

Ready Set Code! 🚥

Posted on Oct 6th, 2022

⚠️ Before you start writing code

Today should be used for finalizing planning and doing research on data, technology, and tools you might need.

The following checklists will help you know when you are ready to start writing code.

✅ Checklist for the whole team, before you write code

  • Every team member is clear on your MVP, and you know exactly what you are building.
  • You have added user stories and tasks (at minimum, for MVP) to your Trello board backlog, and you have first tasks queued in Current Sprint.
    • Your tasks should reflect the decisions you have made about how you will implement features (i.e., they are specific and detailed enough that you know where to start).
    • Make sure your tasks are labeled according to what responsibilities belong to the front end or back end.
  • You have created a team organization on GitHub and added every team member.
  • You have created your project repo or repos on GitHub and made sure everyone is added as a collaborator.
    • Make sure you have a .gitignore file! You can get one that is specific to your project at gitignore.io.
  • You are clear on the Git and GitHub workflow for your team.
  • Consider appointing a rotating team lead who can be responsible for running standup, leading at check-in, and looking after the Trello board.

✅ Checklist for the back-end

  • Models! How will you represent the nouns your project needs?
    • What fields belong on those models? Use the Django Model Field Reference.
    • What relationships exist between the models? (one-to-many, many-to-many?)
      • Consider using the CRC model to help guide your discussions.
      • You should create an ER (entity relationship) diagram for your models to map relationships. This may change as you work, but you should have thought through and documented your plan to start with.
  • What data will the front end rely on the back end for?
  • What endpoints will you need to deliver that data?
    • Are you returning HTML? -> What templates does the front end need, and who will make those?
    • Are you returning JSON? -> How will you structure your data?
  • 🚨 Make sure you are using django-environ and a .env file. This will be especially important for secret keys and sensitive info, like AWS credentials. DON’T COMMIT YOUR SECRET KEYS!
  • Make sure you are using Postgres and not SQLite.
  • Deploy early and often.
    • Will you be deploying manually?
      • When will you deploy?
      • Make sure more than one person on your team has access to your app on Heroku (Heroku docs on adding collaborators).
      • Make sure that the main branch on GitHub is also up to date.

✅ Checklist for the front-end

  • Have you mapped out a user flow through your app?
  • Wireframes for each interface the user will see
    • What URL corresponds to each page or interface the user sees? (with or without React Router)
    • What data will you need on each page or interface? Where is it coming from?
    • What requests will you need to make from the front end?
  • Are you making forms? Discuss data with the backend.
  • What assets (e.g. images, logos) will you need?
  • General strategy for CSS and design so that you can budget time for it.
    • Are you using a CSS library (e.g. Material UI, Bulma)? What is the general look and feel of your app?
    • Start to think about UI/UX and design
  • Deploy early and often.

Tasks & Trello

Posted on Oct 5th, 2022

🗓️ Today’s topics

  • Turning user stories into tasks
  • Putting tasks on your Trello board

✅ TODO: Create tasks on your Trello board today

Your team’s Trello board is ready with columns predefined to start you off. You are welcome to adapt it and create additional columns to support the way your team works.

These are invite links to join your team’s Trello board. You may be asked to create a free Trello account once you click on the link to join the board.

Slides

🔖 Resources

User Stories

User Flows

Example Trello Boards

These boards are from real final projects, so you’ll see most of the cards in the “Done” column.

Defining MVP & Product Planning

Posted on Oct 4th, 2022

🗓️ Today’s topics

  • Refining your product idea
  • Thinking about features and beginning to think about implementation
  • Creating a product roadmap
  • Writing user stories

✅ TODO today

1. 👉 What is your app and what does it do?

One representative on behalf of your team should fill out this form by tomorrow afternoon to tell us what product you want to build. We only need one response for the whole team, so please make sure the responses represent everyone on your team.

2. Post your team charter in your team’s Slack channel.

Please pin or bookmark it at the top of the channel so that it can be referenced easily.

🛹 Defining MVP and prioritizing features

Use these slides to guide your team discussions today. We’ll go over them in class, followed by time to work on creating your product roadmap with your team.

🔖 Resources

User Personas

User Stories

Slides

👾 👩‍💻 Welcome to Phase 4! 👩‍💻 👾

Posted on Oct 3rd, 2022

The past few months have prepared you to take on the challenge ahead in these next four weeks. You may not feel ready, but you ARE.

Your goal in this phase is to design and build a real-world software product, working collaboratively on a small team using agile development practices and all the tools you’ve already learned, and some you will learn as you go.

At the end of the phase, your team will present your product to an audience of local tech professionals, hiring partners, and the Momentum community.

The experience of working on a team during this phase and the product you build will form the foundation for your job search. The people skills you’ll use will be just as important as the technical skills!

You will not begin writing code for your project until all the planning is done. Ideally your team will be ready to write code by Thursday or Friday of this week.

Today’s topics

  • What is agile development?
  • Forming final project groups
  • Brainstorming product ideas

✅ TODO this morning

  1. 🕛 BY NOON: Make sure you have filled out this survey about your interests and intentions for Phase 4 (it’s the same one I shared last Friday).
  2. 🌟 Read this post for an engineer’s perspective on an approach to building software that parallels almost precisely the approach we take in Phase 4: How we use “ship small” to rapidly build new features at GitHub
  3. 💜 Are you a Chaos Muppet or an Order Muppet? Read this post and post your personal findings in Slack 👀.

✅ TODO this afternoon

  1. Create a Slack channel (not a thread) and add team members and instructors to it.
  2. Create a team charter with your team and pin or bookmark it in your team’s Slack channel. There are resources below to help you with this task.
  3. Brainstorm ideas for your final project with your team, and be ready to pitch one or two ideas tomorrow morning.

🔖 Resources

Team Charter

If you want a step-by-step process:

If you want something more free-form and creative, consider these:

Productivity Timers ⏲️

Time Management ⌛

Idea Generation 💡

Inspiration on the technical side 👾

Agile Development 🛹

Slides

Tags: phase-4 agile