足球赛场与软件战场有什么区别
从人的管理角度来说,与软件战场最相似的不是工厂生产线 , 不是军队战场,也不是一群人写诗或作画,而是一队七人或十一人的足球比赛。看到这里,有些人会觉得大的软件 /IT 项目或机构的人数有时是成百上千的 , 这与工厂及军队的人数相似,但足球队的人数太少了,应该不太相似。也有人会认为写软件主要是脑力活动,与一群人写诗或作画相似,其他的是体力活动,不太相似。为什么我说软件战场会和足球队的比赛相似呢 ? 这是因为两者都有较强的 “ 自由发挥 ” 、 “ 输出连带 ” 及 “ 整体成败的影响 ” 。一家工厂的工人,他们一般是跟着已定好的工序去做,需要自由发挥的机会很少;一个工人做错了会影响到他所工作的生产线,但多数情况下不会影响到全部生产线,所以因为一个工人做错而导致整个生产失败的机率非常之小。一个士兵在战场上,要在个人冲刺、战斗及逃生的时候自由发挥,他的行动会影响到其他士兵的行动,但不致影响到整个军队中所有士兵的行动,他的个人成败也极少会影响到整个战役的成败。一个足球运动员在比赛的时候,要根据他的角色及当时的情况而自由发挥。因为他要与人配合,因此他的行动(尤其是在控制球时)往住会影响到整队的行动,而他个人的成败也会直接影响到整队的成败。在一个软件开发战场,绝大部分的工作,如写需求、设计及编码,都可以自由发挥。而一个表面看来简单的需求,可使整个设计及编码改变。一个人看不准或不小心所写出来的软件,可使整个系统变慢、停顿甚至崩溃。 我用球队比赛来形容软件战场,用意并不是教人用管理球队的方式来管理软件 /IT 团队。只是因为我知道一般人都不明白软件战场,因此我用它来举一个一般人较容易引发联想的例子。
写软件主要是脑力工作,为什么它又不十分像一群人作诗画画呢?作诗画画的确都是脑力工作,但多数作者是各做自己的作品,输出连带性不高,需要团队工作的程度很轻微;但软件开发既是脑力工作也是团队工作,而且这两者同等重要。从个人纪律及自行管理的角度来看,接受报酬的画师当然也要如期交货,但一般来说,作诗画画对时间并不十分敏感(对时间的要求不是很严格)。但这情况对软件开发员或足球队员来说却很不同,他们在软件开发或足球竞赛中都要求对时间非常敏感。