Skip to content

2. Project Team Structure

Abbey Jackson edited this page Jun 12, 2017 · 3 revisions

There are a lot of people involved with projects and each person plays a different role. Below is a description of the team structure for projects and a description of what each role does.

To learn about other job roles at CodeDoesGood go here.

Project Team Hierarchy

  • Project Development Supervisor
  • Product Supervisor
    • Project Facilitator
    • Designer / Design team
    • Marketer / Marketing team
    • Lead Mentors (one per platform; ie iOS, Android, Web)
      • Assistant Mentors
      • Developers
      • Hatchlings

Project Development Supervisor: This person is not really part of the team structure. They will not interact much with the team and are kind of a lone-wolf. Their job is to simply watch the project to make sure policies and procedures are being followed and to report back to the Director of Project Development if there are any issues. You can think of them as an auditor in a way. They may contact Lead Mentors if they notice a specific issue which they think the Lead Mentor would be able to address but they are not responsible for discipline of any kind and will leave feedback for the team to be given by the Lead Mentor to his/her team.

Product Supervisor: All platforms together make up the project as a whole and they will fall under the jurisdiction of one business volunteer from the Product Supervision team. The Product Supervisor is responsible for approving product (project) ideas, approving project specification documents, staffing projects and supervising projects until they are ready to hand off to the developers.

Project Facilitator: The Project Facilitator is responsible for writing the project specification document and is the person to direct questions to about the software both before development and once development has began. If the Project Facilitator requires assistance from developers or designers they can request the Product Supervisor (who is responsible for staffing) to find someone to assist the Project Facilitator. The Project Facilitator is not required to recruit staffing for the project though is encouraged to drum up excitement through Slack and have others join them as this really helps the project become a team project.

Lead Mentor: One Mentor on each platform will be the project lead.

Assistant Mentors: If a project requires additional mentors they will be labelled Assistant Mentors.

Developers: Someone classed as a developer is someone with experience who does not need to be part of the Hatchling training program and also does not want to provide mentorship.

Lead Mentors will be responsible for their project, however if there are duties related to the project as a whole and not specific to the platform, or if there are media requests, complications with the client or serious disputes these should be referred to the Product Supervisor.

The Lead Mentor's primary duty will be to keep the team in good working order. They are there when a new Hatchling is stressed out and needs guidance, they are there when disputes are occurring, they are there to help guide discussions when the team is lost. While each developer on the project has the right to speak to the client, other projects, the founders, or even third party services, the Lead Mentor will also be the main point of contact when one is needed.

For more information about the responsibilities that different kinds of development volunteers have (for example leads, "developers", etc) please visit the Dev Hatchery wiki.

Working Together

Wherever possible all decisions should be made by the team as a cohesive unit. Lead Mentors are not project managers, nor are they dictators. Their main responsibilities lay in mentoring and ensuring the integrity of their project codebases. They will be expected to resolve conflicts on their team in a friendly way without resorting to "putting their foot down".

As the Lead Mentor is responsible for the integrity of the project they do have slightly more authority than the rest of the team members however. If the Lead Mentor believes something will be harmful to the project or to the client they have the right to make the final decision in exceptional circumstances. Other than this no team member has more authority than another. Hatchlings have equal authority to Assistant Mentors and Developers when making decisions...though do keep in mind that Lead, Assistant Mentors, and Developers have more work experience and more real world knowledge. Hatchlings are encouraged to listen to their opinions and not be stubbornly stuck to their own ideas

Difficult Disputes

The Product Supervisor is a staff member who can intervene if there are difficult disputes between Lead Mentors and other team members. If you do not feel comfortable resolving the conflict on your own do not hesitate to reach out. You will never be punished for doing this, it is very important to us that the lines of communication are always open and volunteers always feel supported.