项目管理建议

对项目管理制度的一些看法和建议

当前存在的问题

  1. 技术工程师反映,技术人员与业务隔离,技术人员难以熟悉第一手业务需求,对工程师开发出契合业务部分需求的产品造成一定的理解障碍。

  2. 安卓、iOS、H5、后端、测试等各部门分而治之,缺乏一个强而有力的统筹推进,虽然增加了项目经理角色,但目前这个角色只能在各部门之间协调,仍然难以有力推动各部门按时按量完成进度。

  3. 从业务到产品到开发到测试上线,这个流程还可以有优化的地方。

分析和改进建议

针对问题1。

使用尝试让项目经理或者技术经理在产需求研和产品评审阶段就参与介入,能够一定程度的和业务部分做到沟通,让技术人员更熟悉业务。即使只是旁听也好

针对问题2。

程序界有一句话,“没有完美的模型,但有一些能用。”
既然目前公司的情况是各部分分而治之,各施其职,那么可以考虑这样一个构思,产品对业务负责,提供产品的产出;测试则对产品负责,提供项目和模块完成情况;技术经理对项目经理负责,提供项目模块开发时间评估,以及开发产出;各开发工程师对技术经理负责,按时按量完成技术经理制定的模块开发计划。而项目经理则对项目的进度和协调负责,应该要有渠道能对接所有相关部门,跟进项目的进度,协调各方遇到的问题,并协助解决。
这样,明确各部门应该对谁负责,各部门遇到项目开发相关问题,也就能明确的找到相应的人员,得到反馈,部门之间也能够相互推动。

这里推荐使用一个团队协作管理的工具:“Worktile”。
Worktile可以在一个看板中看到所有在做、已完成、在测试等等所有流程中的任务和完成情况。
例如,技术经理可以列出所有需要完成的模块和任务,为之分配负责人。负责人开发完成后,勾选完成,管理人员就可以拖动任务进入测试流程。
如此一个可视化简单的团队协作管理。
当然这个功能,像禅道也能部分实现。但是禅道的这个功能并不好用,从实践经验来说,使用的人积极性并不高。而Worktile这类工具如果推动成功,开发的管理效率将会得到提高。

各状态任务完成情况一览:

完成任务,推动到另一状态:

报表:

团队日历:每个时间点要完成的任务也会在此显示

针对问题3.

以门店收银机为例,发现存在一些流程上的问题。
首先,说接口,有两个问题。
一,客户端和服务端接口文档,用的是word文档沟通,各个人员直接相互传递,很可能导致相互之间接口文档不同步,也就会造成开发期间关于接口的一些扯皮。
二,虽然接口文档有了,但是客户端还是要等服务端出接口后,才能进行接口接入后的相关开发,这样前端的进度就要依赖于后端的产出。
既然有这样的问题,那么有没有改进办法呢?有的,这里推荐使用阿里开源的“RAP”接口管理工具进行接口管理。
RAP对我们接口开发的帮助有:
1)可视化结构化的接口编辑和管理。这样接口只有服务器上的一份,并且管理简单。
2)生成Mock数据、校验真实接口的正确性。有了Mock功能,前端可以在后端提供接口之前,利用rap提供的模拟接口数据,提前进行接口接入的开发,提高前端开发速度。最重要的是,前后端接口开发解耦。

其次,说说测试和螺旋式开发。
测试本身是一个发现细节的过程,有些问题测试到细节的地方,就会出现值得推敲和不断调试的情况。而我们项目留给测试的时间太少了。而前期,没完成之前,测试在等待开发,同时,最后所有模块大致完成才提测,又一股脑挤在后期测试和迭代,时间难免太紧,很容易导致进度延误。
这里的建议是,开发应该在项目开始时就梳理出模块间的依赖情况,前后端协调好应该先开发哪些模块,只要有一个模块开发完成,就马上提测。如此让测试尽早介入测试,达到项目螺旋式迭代推荐的目的。同时,也能让测试的时间合理分配,避免延误。