万物相通,九九归一。有时候多思考一些东西,你会发现其实很多事物的内部原理都是相通的。
发现软件开发与足球这两个风马牛不相及的事物竟然存在着千丝万缕的关系。
1.球队VS开发团队
足球是整体运动,同样软件开发也是。一只球队要取得成功,需要依靠团队的力量,明确的分工(教练、守门员、后卫、中场、前锋各司其职)、
和谐的更衣室以及积极进取的比赛态度。软件开发又何尝不是这样的?需求分析、设计、编码、测试都需要明确分工的,
开发工程中及时有效的沟通也是必不可少的,当然工作态度那就不用多说了。
2.教练VS项目经理
教练的作用:日常训练安排、决定球员去留、分析比赛、鼓舞士气以及在比赛时的战术安排、临场应变、在球队落后情况下的人员替换等等,教练不一定踢球的技巧要比球员强,但一个成功的教练整体战术、战略安排必定有过人之处。 可以说教练员有时可以直接决定一场比赛的结果。
项目经理同样赋有这样的能力:对项目进行有效的日常管理、人员管理、项目分析、激励团队、风险管理,在项目开发的过程中需要分析整个项目的进展,制定相应的解决方案, 在面对问题时要有决策的能力,还需要有沟通、谈判的能力。项目经理同样可以决定一个项目的成败。
3.进球VS实现
足球比赛最终的目的就是为了进球,在进球的同时能伴随着华丽的过程,那将是赏心悦目的比赛,这需要依靠球员过硬的技术。
同样软件开发最终目的是功能的实现,没实现功能什么都免谈。在实现功能的同时,规范的编码、良好的结构以及使用更好的技术简化编码,那么项目将更加成功。
4.不断组织进攻VS迭代开发
足球比赛要进一个球不是那么容易的,要不断的重复的组织进攻,才有可能攻破对方球门。
同样现代软件开发倡导敏捷开发,敏捷开发提倡将一个完整的软件划分为多个迭代,每个迭代实现不同的功能。
重大的、优先级高的、风险高的功能先实现,后继不断迭代实现功能,最终完成功能。
5.临场战术VS站立会议
经常看到教练组在比赛时拿着一块白板在上面进行画画圈圈,这是教练组根据比赛当时现场的情况制定一些临时的对应策略。
同样敏捷开发提倡每日站立会议,一个项目的延期不是一天两天造成的,而是每天的延期造成的,需要根据实时情况不断调整开发进度,人员安排。
6.重建VS重构
再好的球队经过一段时间,随着人员的伤病、状态、年龄等情况,都需要对球队人员进行清洗、更换,来保持球队战斗力。
7.加班VS加时赛
在一回合的比赛里如果在90分钟内不能分出胜负,那么只能加时,加时还不能解决...点球,反正就是有分出个雌雄。
一个项目如果感觉在规定日期内完成不了,那能怎么办?加班呗,在国内几乎没有“不加时的比赛”,如果加班还不能完成呢?那能怎么办只能放大招了。什么大招???不是你放大招是领导放大招,你就等着接招的命....
8.投标VS裁判
裁判说你犯规你就犯规,说点球就点球,你敢抗议??nnd来张黄牌,不服啊!哥还有红牌在手...
一个软件特别是企业应用软件,你做的再好没用的,只有通过投标这一关,才能转化成一叠叠的红钞票。当然性价比高的软件通过的比例肯定会比较大,但也不排除存在各种“干爹”的可能性,这是一个拼“爹”的社会,特别是那些国有企业,
你如果没有“干爹”,那么至少期盼别人也没有“干爹”,不然一切白搭。
再20天左右西甲新赛季就要开始了,普约尔+梅球王+小白+哈维+内球王+小法+马斯切拉诺+特球王+影帝+阿尔巴+佩德罗+阿尔维斯等等(哦还有我们的夏奇拉...)期待。。。。。。宇宙队重新站在欧洲之巅。也祝福远走马竞的葫芦娃......
发现软件开发与足球这两个风马牛不相及的事物竟然存在着千丝万缕的关系。
1.球队VS开发团队
足球是整体运动,同样软件开发也是。一只球队要取得成功,需要依靠团队的力量,明确的分工(教练、守门员、后卫、中场、前锋各司其职)、
和谐的更衣室以及积极进取的比赛态度。软件开发又何尝不是这样的?需求分析、设计、编码、测试都需要明确分工的,
开发工程中及时有效的沟通也是必不可少的,当然工作态度那就不用多说了。
2.教练VS项目经理
教练的作用:日常训练安排、决定球员去留、分析比赛、鼓舞士气以及在比赛时的战术安排、临场应变、在球队落后情况下的人员替换等等,教练不一定踢球的技巧要比球员强,但一个成功的教练整体战术、战略安排必定有过人之处。 可以说教练员有时可以直接决定一场比赛的结果。
项目经理同样赋有这样的能力:对项目进行有效的日常管理、人员管理、项目分析、激励团队、风险管理,在项目开发的过程中需要分析整个项目的进展,制定相应的解决方案, 在面对问题时要有决策的能力,还需要有沟通、谈判的能力。项目经理同样可以决定一个项目的成败。
3.进球VS实现
足球比赛最终的目的就是为了进球,在进球的同时能伴随着华丽的过程,那将是赏心悦目的比赛,这需要依靠球员过硬的技术。
同样软件开发最终目的是功能的实现,没实现功能什么都免谈。在实现功能的同时,规范的编码、良好的结构以及使用更好的技术简化编码,那么项目将更加成功。
4.不断组织进攻VS迭代开发
足球比赛要进一个球不是那么容易的,要不断的重复的组织进攻,才有可能攻破对方球门。
同样现代软件开发倡导敏捷开发,敏捷开发提倡将一个完整的软件划分为多个迭代,每个迭代实现不同的功能。
重大的、优先级高的、风险高的功能先实现,后继不断迭代实现功能,最终完成功能。
5.临场战术VS站立会议
经常看到教练组在比赛时拿着一块白板在上面进行画画圈圈,这是教练组根据比赛当时现场的情况制定一些临时的对应策略。
同样敏捷开发提倡每日站立会议,一个项目的延期不是一天两天造成的,而是每天的延期造成的,需要根据实时情况不断调整开发进度,人员安排。
6.重建VS重构
再好的球队经过一段时间,随着人员的伤病、状态、年龄等情况,都需要对球队人员进行清洗、更换,来保持球队战斗力。
同样我们的代码也需要经常进行重构,来提高项目生命周期以及后续开发效率。
过程是痛苦的,结果是美好的。
7.加班VS加时赛
在一回合的比赛里如果在90分钟内不能分出胜负,那么只能加时,加时还不能解决...点球,反正就是有分出个雌雄。
一个项目如果感觉在规定日期内完成不了,那能怎么办?加班呗,在国内几乎没有“不加时的比赛”,如果加班还不能完成呢?那能怎么办只能放大招了。什么大招???不是你放大招是领导放大招,你就等着接招的命....
8.投标VS裁判
裁判说你犯规你就犯规,说点球就点球,你敢抗议??nnd来张黄牌,不服啊!哥还有红牌在手...
一个软件特别是企业应用软件,你做的再好没用的,只有通过投标这一关,才能转化成一叠叠的红钞票。当然性价比高的软件通过的比例肯定会比较大,但也不排除存在各种“干爹”的可能性,这是一个拼“爹”的社会,特别是那些国有企业,
你如果没有“干爹”,那么至少期盼别人也没有“干爹”,不然一切白搭。
再20天左右西甲新赛季就要开始了,普约尔+梅球王+小白+哈维+内球王+小法+马斯切拉诺+特球王+影帝+阿尔巴+佩德罗+阿尔维斯等等(哦还有我们的夏奇拉...)期待。。。。。。宇宙队重新站在欧洲之巅。也祝福远走马竞的葫芦娃......