博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
项目经理成长日记(8)——吃肉? 啃骨头?
阅读量:5957 次
发布时间:2019-06-19

本文共 3640 字,大约阅读时间需要 12 分钟。

估计没有人会愿意,甚至喜欢去做那种会让你不死也活脱脱掉层皮的苦项目,没日没夜人如机器扳高速在运转,即便最后项目最终做成了,整个项目组的人也在过程中被折腾得不成人形。或许能够把人做到吐血,以至于丢掉小命的项目不少人曾经遇到过。我把这种项目叫成骨头项目,虽然不少人喜欢啃骨头,特别是硬骨头,在多番尝试努力之后咬到嘴里的肉吃起来别有味道,更有快感,但是这种快感需要付出更多的代价。

什么样的项目会让你在过程中做得比较轻松自如,游刃有余呢?需求明确,开发进度合理,技术风险可控,人员配备到位且团队士气活跃,多方条件一一具备之下,或许你的项目会如大块吃肉一般,过程和结果都那么愉悦,但是这样的项目对于绝大部分的人来说,应该说一个一个美好的梦想。

有没有这种吃肉形的项目呢?有,但是为数不多,至少自己工作了这么多年,也就那么一两次,而且还是10/月之下的小项目。记忆比较清晰的是一个数据库迁移项目,主要是更具需求完成Oracle 存储过程开发工作,整个项目是4/月的开发工数,但是投入了2Senior Engineer2Middle Engineer1Junior Engineer进行开发,那个时候公司的项目不紧张,人员资源也就稍微富足一点。5个人做了1个月(实际投入工数是5/月,超过项目预算),由于客户需要我们完成存储过程的开发和测试数据和测试报告,要求测试数据的覆盖率需要100%,时间和人员都比较充裕的情况下,我们想了一个办法来测试存储过程的覆盖率,我们用C#的按照存储过程的逻辑重新编写,然后用NunitNconver结合的方式确保我们构造的数据的覆盖率达到百分百。在生成测试报告的时候,我们又用ExcelVBScript脚本编写模板,自动导出数据和做成报告。这个项目在两个方法被实现后,后期的工作非常轻松,特别是整个项目的质量非常高,客户没有提出过一个Bug

也只有这样的项目配备和人员结果才能让我们有时间思考和尝试如何做得更好,做到最后就像吃肉般的舒服,对于其它的都是在一次一次地啃骨头,甚至鸡肋,我们在做项目的时候容不得自己挑挑拣拣,所以即便明知食之无味,但是公司不会丢弃。我们也只能硬着头皮顶上去,这个时候感觉自己如果是在炮火霏霏的战场上,自己怀里估计就揣了一杆木枪,还在奋力冲刺。

 

从早上收到邮件说关于美国医疗领域的那个项目的合同已经基本确定,目前已经可以确定的规模大概有120/月,这些和上周在周会上的得到的情报基本吻合。只是今天比较明确的是这个项目将会交给我的开发团队来处理,而且客户希望能够在8个月内能够完成项目的开发工作,后续有2-3个月的客户试用测试、交付使用和问题对应阶段。

邮件附件中有一些关于这个项目的简单介绍,项目主要是客户希望能够给美国的医院提供在线服务的功能,能够为医院里面的医生提供在线办公,同时病人提供在线看病和病历管理的服务。邮件里面的内容比较简单,大概地介绍了一下项目的目的和希望,还有几张简单的项目结构示意说明图。

看着邮件和那几片概述性的论述文字,感觉像对着一颗定时炸弹。120/月,8个月开内完成,还不包括2-3个月的需求调研时间,实际的开发时间也就是5个月。120/月的工数中,开发估计在100/月左右,那至少也需要20个人才能够在5个月内完成开发。这种小学的加减乘除地算法在我的脑子来回运算着,越算越感觉到时间紧迫。

“一场艰苦的战。”在自己心里冒出的直观感觉,我深深吸了口气,便站起身准备找项目总监去,对于这个项目的一些事情我需要和他确认清楚。

我把项目总监约到了会议室,还没有等我坐下,他就先开口问道:“早上发给你的邮件你看过了吗?”

“嗯。”

“那好,我们现在可以先着手准备,预计合同很快就会签下来,然后在下月初估计整个项目就会开始。”

“嗯,这个项目已经最终确定交给我们团队来做吗?”我还在需要再次确认这个问题。

“是的,关于人员方面的问题我们也在考虑。到时候会给你协调其它团队的开发人员和部分外驻开发人员。”

“外驻?”听到这个自己感觉压力更大,因为之前的项目中用到过外驻人员,也就是其它公司外派到我们这里,临时性的加入开发,这样的人员在项目中的风险很大,不容易管理。

“是的,这个项目需求,开发和测试的人员都加在一起,预计会有20人左右,从公司目前的人员状况来看,我们只能使用部分外驻人员参与开发。但是我们还是计划再招聘一到两个的Senior级别的开发人员补充到你的团队中。”

从公司的角度来考虑,对于这种项目的确会希望使用外驻人员的参与,因为为了一个项目一下子把一个团队从目前的7个人一下扩充到20人,一旦项目结束之后,那后续补充进来的人员的安置也就有一定的问题,所以基于成本的考虑,公司的做法倒也合情合理。

“对于具体的人员需求,你再考虑一下,在周五的项目例会上再最终讨论一下。”

“这次谁会到客户那边去做需求?”

“公司本来是想让你到客户那边,但是如果你去了,就没有人管理项目,所以这次会从上海那边派两个BA(business Account) 到客户那里去做需求。”

“嗯,了解。”

“小余,这个项目还算比较大,在做的时候可能会有一些问题,希望你能够努力把它做好,如果过程中遇到任何问题或则说需要任何支援的话,你可以随时找我来解决。”

我微微笑了笑算是做了一个答复,对于这种任重期望的话,无疑往自己的肩膀上又多加了不少分量。项目是没有办法挑选和推托,虽然可以预计到这个项目能够顺利做下来不是那么容易,既然要做,即便是再难啃的骨头,我也要把肉咬到嘴里,越面对困难重重,自己越要坚定信心,这才是自己的个性。

从会议室出来,我就开始考虑整个项目的人员问题,虽然是先着手准备,但是目前团对立面连我在内就7个人,对于即将补充进来的13个人里面的人员和对应的角色都需要自己仔细考虑。其它团队的人员,外驻人员和自己的人员,感觉就像一个大杂烩。从目前的能够拿到的资料来看,对于项目还无法做一个比较充分的预估,因为具体开发的技术性问题和业务性的问题都难以预计。

我在脑海里面首先把人员做了初步的划分,20人的队伍中预计有5个测试人员,对于测试和开发的人员比例我一般会倾向于12的值,即两个开发人员会配上一个测试人员,这也是目前公司所采用的模式。测试人员会来自公司的测试团队。那么实际的开发人员会有15个人,15个人中Senior EngineerMiddle EngineerJunior Engineer的比例大概是124,所以也就需要3Senior Engineer4Middle Engineer8Junior Engineer

人员的划分到没有多大的困难,结合上自己团队目前的人员情况,所需要的其他人员也就非常清楚。虽然缺少的人员的清单已经列举的非常清楚,但是这也只是一个列表而已,是否能够找到合适的人员与之配备,将会成为项目开发的一个关键因素。

我同时也把上海的那几个BA都回忆了一下,在项目例会上自己需要比较明确的提出人员,否则如果BA的人员出了问题,需求如果无法整理清楚,那么对于项目来说打击会是致命的。

 

在很多时候,做软件开发是比较辛苦的事情,大部分的项目都像是一块难啃的骨头,毕竟一个项目能够做到万事具备的情况就像买彩票一样,其概率估计是在五六个小数点之后的值,项目在开发过程中各种问题层出不穷,人员不足,周期不足,需求步明确,客户随意变更等等问题都随意可见。所以做项目开发的整个过程无疑就是在面对这些残缺的问题,以及我们在思考如何去解决这些问题。

没有人会乐意做这种啃骨头的事情,除非他已经麻木了。当然我们也在一次一次的这种骨头项目中不断的提升自己,以及在克服重重困难之后看到成功后的那种满足感,这些才是支撑大伙完成项目的一个关键。

如果你接手的是一个可以预见的骨头型项目,要么你放弃不做,高枕无忧,不过可能性非常小;要么你就多足充裕的准备,比如前期的人员考虑以及合作人员的能力考虑,就像选择BA的人一样,如果他在已经在过去出现过过种种的问题,那么对于这种关键的合作人员自己就需要加倍留心;团队组建过程中的人员的安排等,对于人员的风险需要考虑到位,比如说外驻人员的管理问题等;对团队成立后协同工作等问题考虑,还有项目技术和业务风险的考虑,这些都是在项目还没有开始的时候需要考虑的点,而不是等到项目真正开始做的时候才意识到有这些问题,因为项目一旦开始的时候,我们要面对的是如何解决这些问题,而不是考虑这些问题的原因。

       回到自己的座位上,看着还在他们忙碌着,老马,阿毛,木子,超仔,大师杰克着几个我能够指望共同作战的团员,他们也是我有信心去啃着块硬骨头的基础。

本文转自小余(Yice)博客园博客,原文链接: http://www.cnblogs.com/yice/archive/2009/04/02/1428372.html   ,如需转载请自行联系原作者

你可能感兴趣的文章
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>
<气场>读书笔记
查看>>
web安全问题分析与防御总结
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
3D地图的定时高亮和点击事件(基于echarts)
查看>>
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>
Mysql 监视工具
查看>>
从前后端分离到GraphQL,携程如何用Node实现?\n
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
jquery 操作iframe、frameset
查看>>
解决vim中不能使用小键盘
查看>>
jenkins权限管理,实现不同用户组显示对应视图views中不同的jobs
查看>>
我的友情链接
查看>>
CentOS定时同步系统时间
查看>>