人月神话-焦油坑

岸上的船儿,如何海上的灯塔,无法移动。 - 荷兰谚语

焦油坑的意思说明了即使你足够强大,也无法摆脱束搏而沉到坑底。IT项目也是这样,不论是开发大型软件系统还是小型项目,都会遇到诸多复杂的问题和影响因素,项目本身就是一个足够复杂的动态系统,没有最优,只有满意。项目四要素,人员,组织环境,干系人,外部依赖和约束,风险和假设,团队,人等诸多问题都是你必须要考虑的问题,任何一个要素出现大的差错都可能导致项目失败,只有所有要素能够平衡好,团队能够协调一致才能够保证项目成功。

通过编程系统的演进可以看到简单的程序已经不能称作为系统,编程系统+编程产品才构成了编程系统产品,编程系统产品的复杂度将是一般程序的9倍。复杂度的增加就更好的说明了规模和工作量,工作量和项目周期之间都不是简单的线性增长关系,和第二章人月神话打下伏笔。回头再看大型系统复杂度和工作量成倍增长的原因:

1.对于复杂的事物我们需要去描述清楚,需要自顶向下逐层细化,这个系统分析和建模的过程需要耗费我们大量时间。当系统被分解为子系统->模块->组件后,后续我们为了完成产品还需要将它们集成在一起,这个集成过程仍然需要花费大量的时间。系统越复杂前期分析建模和后期集成的时间越多。

2.系统越复杂越涉及到更多的人参与来共同完成,人员的分工也会更加细化,这一方面人员增加导致的沟通效率的降低,一方面工序的增加使我们更加强调过程管理,我们会花费更多的时间来保证概念完整性。

职业的乐趣



兴趣是最好的老师,软件开发是一项相互协作的游戏,大家必须有兴趣为共同的目标而奋斗。对于软件开发职业乐趣首先体现在程序员在创造产品,而且自我创造的产品会被用户使用,为客户带来价值。因此要尽量避免项目中途夭折,或者最终开发出的产品被抛弃的厄运,这会打击到程序员的积极性和对创造的渴望。

一个软件产品如果是一个人被封闭在一个孤立的环境里面做,他可能是体会不到更多的快乐的,职业的乐趣也来源于团队成员间的沟通和交流,相互协作。不管是自己的问题被解答,或者解答了他人的问题,程序员都会感到快乐。

学习的过程可能是枯燥的,但是学习后的成果能够帮助你解决实际的问题,你能够通过学习来创造软件产品,从这个意义上讲学习的是快乐的。学习的过程就是自我提高的过程,也是自我价值得以展示的过程。

从职业的乐趣这个意义上讲,IT项目管理者需要去激发团队成员意识到这点,这里涉及到沟通,团队建设活动,学习和培训诸多内容。让每个人都感受到他们被重视,而且共同在做一件有意义的事情,通过做这个事自己得到乐趣,得到了提升。

职业的苦恼

程序员往往不喜欢受到太多的依赖和约束,也不喜欢繁琐的规程和文档,特别是这些文档没有体现出真正的价值的时候。还有他们可能并不喜欢修改自己的Bug,更不细化修改他人遗留下来的Bug,因此这种重复性的工作让他们体会不到创造性的乐趣。还有最大的苦恼往往更在于辛苦开发出来的系统不能真正使用而被抛弃。

还是有太多的程序员和管理者认为编码是一种无价值和创造性的活动,他们理想化的认为需求和设计可以做的足够详细,编码仅仅是一种体力劳动,这是对每一位程序员的不尊重。处于最后一道工序的编码人员,他们产出的代码最终形成的形成了软件系统和产品,当他们的价值往往并不能得到相应的承认。

类似帕金森定律中的金字塔上升想象,每个人都很忙但组织效率确越来越低,每个人都在往上走,导致在每个岗位角色上都难得到技能过关高效率的人员。IT项目管理者需要致力于改善这些苦恼,这里面一方面是绩效机制的改善,一方面是适当的过程保证。项目管理者带领项目取得成功不仅仅是体现了自我价值,也让团队每个团队成员意识到他们存在的价值和贡献的力量。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值