Project Roles and Tools
Group Responsibilities
On your projects at GA, you will all be Full-Stack developers and forced to work on both front-end and back-end code. In the outside world this may still be the case or you might be end up specializing on what particular side.
Project Manager (PM)
The project manager, or PM, is responsible for planning and seeing a project from its initiation to its completion. A PM generally has to have strong leadership and communication skills, as well as the ability to keep others motivated and on track. Some other roles may include overseeing the scope of the project, planning out resources, time management, and monitoring progress throughout the project.
Git Master (Maintainer)
Commonly known as the repository maintainer, but known in WDI as the "git master", the git master's job is to handle incoming pull requests and merge them appropriately. Their job is to handle the state of the repo and make sure that everything goes smoothly. Be prepared for merge conflicts if necessary.
Database Administrator (DBA)
- Useful if you are working with a complex data schema, with fixtures/seeders to load data
Other Specialist
- This role will likely be used if you are working with foreign technologies or complex topics, such as D3, front end plugins, machine learning, etc.
Kanban Boards
Kanban literally means billboard in Japanese. For software purposes, it's a board to keep track of logistics and production. It's highly recommended that you make a Kanban board, and luckily, Trello is a great (and free) tool for making them. Recommended sections:
- Backlog (or icebox)
- On deck (next to do)
- Sprint (referring to a software sprint)
- Done
Normally, there would be a section for testing, but since the development cycle in this class is one week, the section will likely be empty most of the time. However, feel free to add it if you'd like.
Other Handy Tools
- Private Slack channels
- Wireframing (see previous notes)
- User stories (see previous notes)
- Classmates (for testing your app, or creating new users)
- Heroku (for deployment)
Other Notes
- Communicate FREQUENTLY. You're a team
- Keep wireframes and user stories short and low-fi, in case you need to pivot
- Work on APIs and essential functionality first
- Working software is the priority
- Know what everyone's working on so that work does not conflict
- Deploy early and often