|
1 |
| -<> |
| 1 | + |
| 2 | +Here we outline the main activities when starting a project in a non-necessary sequential order: |
| 3 | + |
| 4 | +### 1. Create the Project Slack Channel |
| 5 | + |
| 6 | +When a project is started the first step is to assemble the team in a slack dedicated project channel. Project Channel names start with a double hyphen “--”, followed by the short name of the project in lowercase. Example: “--awaken-flow”, “--c2g” |
| 7 | + |
| 8 | +### 2. Create the Project Folder |
| 9 | + |
| 10 | +The Project folder must be created under the main “Projects” folder managed by the organization. (Google Drive). |
| 11 | + |
| 12 | +Link to the main Project Folder: https://drive.google.com/drive/u/1/folders/1Uz91sEjNBETLiQJgy_kmx8HODPFMRaQd |
| 13 | + |
| 14 | +Convention Link: [Project Folder Structure](/conventions/project-folder-structure.md) |
| 15 | + |
| 16 | +**Note: Make sure you pin the link of the folder to the Project Slack Channel.** |
| 17 | + |
| 18 | +### 3. Setup GitHub |
| 19 | + |
| 20 | +- Create the code repositories under the [repositories naming convention](/conventions/repository-name.md) |
| 21 | +- Set up the Kanban project with the [Kanban Project Conventions](/conventions/project-kanban.md). The Project Kanban is created in the main repository of the project, the WEB for web projects and the MOBILE for Mobile applications. |
| 22 | +- Create a GitHub Team, and add all the participants to the Team. [See How](/how-tos/github-team-management.md) |
| 23 | + |
| 24 | +### 4. Provisioning: |
| 25 | + |
| 26 | +One of the first task to do in a project is consult with the team or Technical Leader to create the first activities in the projects Kanban board to request the IT assets to be able to run the project without any problems. These assets usually include: |
| 27 | + |
| 28 | +- 8base workspace |
| 29 | +- Servers |
| 30 | +- Databases |
| 31 | +- Other hosting services |
| 32 | +- GitHub CI/CD or team members |
| 33 | +- Buddy CI/CD |
| 34 | +- DNS Setup, etc |
| 35 | + |
| 36 | +### 7. Subscribe GitHub notifications to Slack Channel |
| 37 | + |
| 38 | +Using the GitHub bot installed in the Cobuild Lab Slack Workspace, subscribe all the repositories for the project to send notifications to the Project Slack Channel. |
| 39 | + |
| 40 | +Reference: [https://slack.github.com/](https://slack.github.com/) |
| 41 | + |
| 42 | +### 8. Project Scope and Initial/OnGoing Documentation |
| 43 | + |
| 44 | +The full scope of the project must be shared with the Development Team to create an Execution Plan with milestones and plan deliverables. |
| 45 | + |
| 46 | +**VALUES:** |
| 47 | +- Lean Documentation |
| 48 | +- Deep Documentation on Demand |
| 49 | +- If we are gonna have documentation, it needs to be well organized, using the agreed tools and easy to index |
| 50 | +- Flexible Dates / Fixed Milestones |
| 51 | + |
| 52 | +** TO START THE PROJECT, WE NEED a MINIMAL VERSION TO SATISFY:** |
| 53 | + |
| 54 | +* User Roles or Permissions |
| 55 | +* Navigation Diagram |
| 56 | +* Modules Diagram |
| 57 | +* User Stories |
| 58 | +* Initial Datamodel |
| 59 | +* Business Rules |
| 60 | +* UI and Screens |
| 61 | +* INTRO VIDEO |
| 62 | + |
| 63 | + |
| 64 | +The Project Management team: Project Manager and Product Manager or QA, must ensure that the full scope of the project is shared with the whole team for be revised, and a Planning meeting must be set to define dated Milestones for the project. |
| 65 | + |
| 66 | + |
| 67 | +### 9. Communicate Milestones in GitHub Project Kanban and Milestones Document |
| 68 | + |
| 69 | +Once the requirements have been reviewed, and the Milestones have being agreed, the Project Manager must ensure that all members and stakeholders have access to the Milestones document by placing the document in the main Project Dashboard. |
| 70 | + |
| 71 | +**PROJECT DASHBOARD:** [https://docs.google.com/spreadsheets/d/1RwSRlAVYLjrnWtUuE0AKxEwYcAH-Vtsn3f8g1-tizzI/edit#gid=0](https://docs.google.com/spreadsheets/d/1RwSRlAVYLjrnWtUuE0AKxEwYcAH-Vtsn3f8g1-tizzI/edit#gid=0) |
| 72 | +**8base's PROJECT DASHBOARD:** [https://docs.google.com/spreadsheets/d/1G8ybAmRXWhPNDDYKhZXH5FPUZRB-59rS7Vd2lkLxYGw/edit#gid=0](https://docs.google.com/spreadsheets/d/1G8ybAmRXWhPNDDYKhZXH5FPUZRB-59rS7Vd2lkLxYGw/edit#gid=0) |
| 73 | + |
| 74 | +### 10. Provide access to the team members to the GitHub repositories, Project Folder and any other external assets (Invision, XD, Auth0, AWS, Buddy works, etc) |
| 75 | + |
| 76 | +Ensure all team members have access to all the Project assets. |
| 77 | + |
| 78 | +### 11. Set Fisherman (activity Tracking for developers) for the project’s repositories tracking and standups. |
| 79 | + |
| 80 | +In https://app.fisherman.dev create the project and make sure you set: |
| 81 | + |
| 82 | +- The Fisherman Project for this specific project |
| 83 | +- The Standup bot for the Project |
| 84 | +- Link the related GitHub repositories to the Fisherman Project |
| 85 | +- Set up the emails configuration for sending emails to the Project Slack channel, and for creating Github Issues |
| 86 | + |
| 87 | +**HOW TO:** [How to Configure Fisherman for a Project](/how-tos/setup-fisherman.md) |
| 88 | +**Note: Make sure that you pin the Project Email address in the Project Slack Channel** |
| 89 | + |
| 90 | +### 12. Meetings: Set the meetings for the Planning and Daily Standups with the development team and follow-up meeting with the Client. |
| 91 | + |
| 92 | +In coordination with the Development Team, setup the recurrent Daily meeting and any other required meeting. |
| 93 | + |
| 94 | +In coordination with the Client and other project stakeholders, setup a recurrent bi-weekly meeting to update the client with the project status, and provide deliverables of the Product. |
| 95 | + |
| 96 | +### 13. Set the communication channels with the Customer. |
| 97 | + |
| 98 | +Examples of communication channels: |
| 99 | + |
| 100 | +- Slack channel in Cobuild Lab's Slack workspace |
| 101 | +- Slack channel in 8base's Slack workspace |
| 102 | +- Whatsapp group |
| 103 | + |
| 104 | +### 14. Set the Client Feedback Spreadsheet |
| 105 | + |
| 106 | +**TEMPLATE:** https://docs.google.com/spreadsheets/d/1QkpgUniCL1NhPObehKKKxsy-AOzFiMTKJtR8oEefrGA/edit#gid=0 |
| 107 | + |
| 108 | +### 15. Check Tickets integrity |
| 109 | + |
| 110 | +Ticket specification is responsibility of the Project Manager, QA and Technical Lead. |
| 111 | + |
| 112 | +- If the Issue is estimated to be longer than 2 days, it needs to be split. |
| 113 | +- If the Issue doesn't have the specification completed, it needs to be completed. |
| 114 | +- If the Issue doesn't have the technical specification completed, it needs to be completed. |
| 115 | +- If the Issue requires a UI and it doesn't have it, it needs to be completed. |
| 116 | + |
| 117 | +It is understood that all the requirements for a Project will not be ready before the start of the project, for this, the tickets need to be labeled with the proper "need". Example: `need-customer"` `need-desing` `need-techincal-specification` |
| 118 | + |
0 commit comments