Docs Vault

项目管理有很多方面,如果你想高效的管理你的项目,在我看来要有一个统一的视图,并在每个视图中,选择最佳方案,并且还要考虑视图中的关联点如何高效的协作。


Go 项目开发中,通常涉及到的管理点,如下图所示:

上图,按着开发顺序或者设计先后顺序,列出了比较重要的管理点。接下来,我来详细给你介绍下每个管理点的核心内容。


首先,我们需要确定我们的项目开发流程。项目开发流程通常因公司、团队、项目的不同而不同,但根据我的开发经验,项目开发流程通常差异不大。一般都是遵循以下标准的项目开发流程来迭代的:

接着,我们还要选择一个开发模式。软件开发中,常用的软件开发模式有瀑布模式、迭代模式、敏捷模式。每种开发模式都有其优缺点和适用的场景。互联网时代,软件迭代速度很快,最适合的开发模式是敏捷模式。项目开发流程、开发模式会涉及到团队中的产品经理、项目经理、测试、开发、运维、运营等角色。因为涉及的角色比较多,所以通常需要从更高的视野去统一设计、规范。


接着,我们还要选择一个提交工作流。提交工作流影响的角色只有开发。所以,开发者可以根据需要选择适合的提交工作流。提交工作流通常有集中式工作流、功能分支工作流、GitFlow 工作流、Forking 工作流。其中 GitFlow 工作流又有一些变种,例如,最受开发者欢迎的 2 个变种是:GitHub Flow、GitLab Flow。其中,GitHub Flow 最受开发者欢迎。我的开发生涯,经历过不同的开发团队,提交工作流采用的都是 GitHub Flow。当然,如果你的项目是一个开源项目,外部开发者,贡献代码时还需要遵循 Forking 工作流。


接着,还需要选择一个合适的源码管理方式。这个很重要,因为这是我们管理项目的高频操作,选择对了,能够极大的提高我们的项目管理效率。当前项目开发中,源码管理方式一般有 3 种:手动管理、Shell 脚本管理、Makefile 管理。不同的源码管理方式带来的效率提升也是不同的,这里建议使用 Makefile 来管理你的项目。


最后,我们还需要选择一个源码发布方式。源码发布方式直接影响了我们的发布效率。当前有多种源码发布方式,例如:CICD、GitOps 等。当前用的比较多的是 CICD。GitOps 在我们的开发生涯中,也有使用过,整体体验比较 hack,操作繁琐,没有直接借助 CICD 平台来发布源码简单高效。


上面,我从上层视角,分享了下提高项目管理效率的方法和选择。接下来,我详细给你介绍下上面提到的管理方法。