沟通方式
wemake 不允许 团队成员有任何非正式的沟通方式,包括:IM 聊天、Email、电话、面对面交流。它期望所有的沟通都在 GitLab 上的单据完成,这样的作用是:
- 有清晰的话题
- 可追溯
- 讨论是适度的
- 对项目有帮助
这导致跟任务相关的信息,仅需要在这些地方查看:
- 代码本身
- 文档
- GitLab issues
怎样的讨论是被鼓励的?有这些:
- 在开始工作前对任务细节的探讨
- 完成任务过程中的任何疑问
- 文档不完善导致的疑问
- 对技术上的决策发表的意见
单据
每个单据代表了一个任务。单据里面有这些信息:
- 角色:reporter(发起者)和 assignee(分配到的开发者),可以是同个人
- 预估时间:只有架构师可以预估时间
- 类型:
- Bug
- Feature
- Documentation
- Research
对单据内容的要求:
- 必须是自包含的,即是对阅读单据的人来说,里面的信息足够他完成任务
- 必须遵循 SMART 原则
单据不能被手工关闭。应该在完成后,发起一个 merge request 并关联到这个单据。如果 merge request 通过,则单据会被关闭。
任务流程及完成标准
理清任务要求后,开发者需要拉单独的分支 issue-{issue_no}
来开发。开发完成后再合回 master 分支。
wemake 提出的 完成标准 非常有参考价值,覆盖了测试、文档、style lint 和代码走查。同时他在 merge request 的模板中放了 check list 提醒开发者是否完成这些内容。