聊聊创业团队的项目管理如何面向开发人员优化

前言

作为创业公司很重要的一个环节就是在有限的时间和资源下把产品需求落地为产品,也就是研发和项目管理,毫无疑问,这个阶段的主角是开发人员,那作为一个PM,把做项目管理的过程也当成做产品的过程的话,是不是应该多思考下怎么面向开发人员来优化整个研发过程和项目管理流程。本文就是我们如何通过优化开发环境搭建,代码管理,需求生命周期管理,开发任务分配和追踪,项目整体进度管理来提高研发过程中开发人员效率,通过持续集成和交付让开发中的问题更早暴露,通过合理的测试反馈工具让开发人员最快定位和解决问题。

一点前提条件和背景

印象中很多关于产品和开发为了进度撕逼的段子,其实作为一个开发转的产品,对这两块都有所了解,就我的看法是研发效率不止是研发人员本身的技术能力和工作效率,而是整个研发过程和项目管理流程的效率,但我自己理解的高效的研发和项目管理有两个前提:

  • 公司内各团队有个大家认同的沟通协作方式:因为所有的流程和工具都是为人所用的,只有团队有主动性去沟通协作才能提高效率,这也是我这个系列第一篇写“异地创业团队如何做团队沟通协作”的原因。
  • 尽量清晰的需求定义:产品经理的任务就是让研发团队开发正确的任务,我所碰到的开发延期或者交付失败很多时候就是由于自己对需求的认识不够,开发中过多需求的变更造成的,一个表达清楚,考虑完善的需求定义才能保证下面的研发和管理是不是在做无用功,所以本系列的第二篇是“聊聊针对异地团队的需求协作和原型、设计的评审”

说到创业团队的研发和项目管理的实践,就逃不开先要说一下我们研发和项目管理中的工具作为背景:

  • 即时交流和协作:Slack,这个我在“异地创业团队如何做团队沟通协作”里重点谈到过,鉴于它的开放性,已经基本连接了我们用到的文件管理,设计评审,持续集成,测试分发,Bug Report等一系列工具。
  • 代码管理:Git+Gitlab,在VPN环境内自己搭建Git和Gitlab一定程度上保证了代码的安全性,不过维护和备份都是个会耗费精力的问题,对没有专业运维的创业团队推荐直接Github托管。
  • 项目管理:Redmine,老实说Redmine一直都不是项目管理上的最佳方案,专业级的有JIRA,轻量的有Asana、Tower等很多,我们就是已经习惯了,有一套Githooks在上面,并没有什么动力去换。
  • 持续集成:Jenkins,虽然Java的坑也很大,维护起来也不时被坑,不过功能和插件确实齐全,搭起来也不易,有兴趣的可以尝试Travis CI或者Gitlab CI。

最后切入正题了,本篇涵盖的是我们在研发过程和项目管理流程,以及当中在DevOps上做的一些努力去优化开发人员的体验,就试着从各个环节总结一下,因为不同团队的研发流程和项目管理都不一样,各位看官可以挑有兴趣的来看