Skip to content

ProjSetup Establishing the Team

Jim Medlock edited this page Feb 9, 2018 · 1 revision

Starting Your Project

The hardest part of any project is getting started. Over several Chingu Voyages some common activities of successful teams have been identified that should help you to kick off your project.

Building & Maintaining Momentum

Successful teams build momentum in the first week and unlock the opportunity to continue. Teams that don't gain momentum in the first week almost always fail. We spend a lot of time organizing teams to make them as robust as possible, but you and your team-mates are responsible for coming together to build the momentum necessary to complete a project.

Here are concrete steps you can take to ensure your team is successful:

  1. Join the team-chat with energy & signal to your team-mates that you're excited to work on the project! If you're unsure what to say, copy/paste this: Hey all! I'm SUPER excited to learn and build with you!! 😄 🚀"
  2. If members are enthusiastic, that will spread and the team will have momentum. If members come in apathetic and silent, the team won't gain momentum and will fail.
  3. Learn these principles and put them in action. Not only will it increase the likelihood of your team succeeding, but adding soft skills to your skills stack will make you a more successful person in all aspects of your life.
  4. Use @username when talking to team-mates. This is specific and increases the likelihood that the person will reply back. When you talk to no one in particular, often no one will reply (because they don't know if they should reply or if someone else will reply).
    Ex. "Hi @jdmedlock, @vannya, @pankaja, can you let me know when you're free this Saturday for a meeting?"
  5. Take personal ownership of your team's success. I've seen teams where no one talks and when I ask each member individually why they aren't talking they say "I was waiting for someone else to talk." Don't be that person.

Create your team charter

Your teams charter will define the values all members of your team share with regard to how they interact with one another, how work is identified and assigned, and the process your team will follow to get work done. These don't have to be lengthy, but they should define how you will conduct your work to avoid confusion later in the project.

Some examples include:

Identify two times a week when all team members are available

Note: We will have a meeting coordinator bot in Voyage to help teams to schedule meetings.

Successful teams communicate with one another not just via Slack, but also in realtime in Team Standup (i.e. Scrum) meetings. These are short meetings (<30 minutes) where each team member answers these questions:

  1. What have I done since the last Scrum meeting?
  2. What will I do between now and the next meeting?
  3. What issues or questions have I encountered that I need help with?

Identifying times for these meeting at the beginning of the project places a "stake-in-the-sand" that team members can plan their time around.

Selecting a Task Board

For a project to operate smoothly members of the team don't just need to establish operating guidelines and meeting times, they also need to understand what tasks are assigned to them and when they are needed. To do this means you'll need a task board to document your user stories and where each one currently lives within your workflow.

Many good tools exist for this including GitHub Projects, Trello, and Waffle.io to name a few. These tools all allow tasks, as a user story, to be created in a task card format, which can then be moved through the milestone lanes that make up your teams workflow. For example, common milestones are inbox, backlog, in progress, review, completed.

Updates to the backlog of work items should be performed during your weekly meetings. All team members share ownership of the items in the backlog. Just as no single team member owns a specific section of the codebase no single team member owns the backlog. Everyone should work to keep the backlog accurate and up to date. However, performing the update during team meetings helps to ensure that everyone understands the changes and that change isn't introduced in a vacuum.

Here are a few examples:

Additional Resources