软件项目开发

结论

管理即支配。在有限的时空内把资源分配到合适的位置,让资源发挥其本身的作用。

软件项目管理,涉及的资源有老板/上级,项目开发/测试人员,需求人员,业务人员,其他相关组织。

整个项目的主体元素都是人,人是项目最关键的因素,其他如技术栈/硬件资源在当代都是附属资源。

人这么复杂的生物,是那么好支配的?

管理就是利益分配!
管理就是资源协调!

项目前景分析

项目的启动必须要进行前景分析,项目的目标一般情况下都是明确的,但是俯瞰这个事情的时候,又会发现这里是很模糊的地带,不同的认知,会产生天南海北的差异,所以这个事最终是由出钱的人拍板。

作为项目负责人,更多的是执行,把要求的东西做出来就达成目标了。

但是,一个有上进心的人,应该希望能做出有价值的成果,项目的前景不是那么满意的话,奋斗的动力是不足的,动力不足,遇到问题就难免气馁,无法鼓舞士气,本来十分的力气最终能使出七八分都是超常发挥了。

我自己的分析思路大概是这样的:

项目进度管理

作为项目参与者,这里意味着无数的日日夜夜,数不清的奇葩问题,突如其来的需求变更。

项目管理是西方舶来文化,特别是IT行业,还有PM考证。说的头头是道,结果实践中基本都被抛弃了。

总体流程大概

上面提到设计架构问题,这里我表达一下稍微偏激的个人偏见:所有一开始搞大而全全自研的玩意基本都是扯淡的。

我刚工作那会,作为一个小虾米参与了一个大项目,上百人的研发团队,半年的计划量,实际开发近2年,重构了大版本才勉强上线,还带了一堆问题。
项目的目标是高性能、高扩展,一次开发,随意扩展。除了操作系统没搞,其他组件从零开发,消息队列、分布式、内存数据库、无码化、脚本扩展,这些技术思路在现在看都是不落伍的,但是这些系统组件都是没经过产品实践就出现在这些项目里了,各种意想不到的问题一直出现,最终就是代码量没写多少,都用来定位各种各样奇葩的问题了。
项目一开始就被寄予厚望,结果也就那样,最后苟延残喘。一是产品没啥特色,二是行业走下坡路。在大势面前,不堪一击。

后来又参与一个项目,全是公司级大拿,最后项目也是草草了结,耗费了2年的光阴。

技术管理

团队管理

上级预期管理

让领导相信你!

一个项目的运作,离不开领导的支持,不管是充分放权,要啥给啥,或者放手不管,任你在那一亩三分田中扬鞭恣肆。

项目的启动有很多的方式,

  1. 如果项目经理有比较大的自主权,可以不需要去说服领导层就启动一个项目。
  2. 成本敏感的公司,人员和资源的申请需要上级的批准,特别是需要跨部门支持的场景,领导的支持就是必须的。
  3. 领导安排的项目,这类项目,其时间经常不够宽绰,项目经理大多沦为监工的角色。

以上场景和现实比起来就是沧海一粟,世界就是草台班子满天飞,大部分事情的成败都是运气,运气!

如此复杂的世界,落到个体头上,又没那么复杂了,因为你面对的领导是固定的,努力让领导信任你,是成功的必要条件。