> For the complete documentation index, see [llms.txt](https://r24zeng.gitbook.io/projectflow-notebook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://r24zeng.gitbook.io/projectflow-notebook/project-management.md).

# Group collaboration

#### Project Management

* What are we doing
* who is doing what
* When is what we are doing supposed to be finished
* Why is what we are doing relevant to users

#### Apply small team projects agile processes are best:

1. Break user stories into small tasks
2. Design, implement, test, deliver during a **sprint**

**Process:**

* open
* In development
* Ready for evaluation
* Completed

Catch up important information instead of huge document at the end.

**Tips:**

* Weekly status and planning meetings (customer should come)
* &#x20; \- walk through each user story
* &#x20; \- Discuss last week progress, difficulties, plans for the next week
* &#x20; \- Check off completed tasks
* &#x20; \- Capture conclusions &#x20;

#### Source Code Management

* version control (look at the change to find the new bug)
* multiple source code repositories
* branching&#x20;
* code merge between branches

Building test and&#x20;

* reproducible builds, same library and confiture (operating system, libraries, drivers).
* continuous integration (CI) and continuous deployment (CD)
* commonly used today: containers (is a way to isolate thing, isolate operating system, or isolate environment. eg, Docker), script to deploy environment automatically&#x20;
* automated tests, unit tests, integration tests (auto), system tests (auto)
