软件开发过程中的食物链
2010-01-18 22:34
274 查看
McConnell在《代码大全》中的一个十分贴切的比喻:
程序员是软件食物链的最后一环。架构师吃掉需求,设计师吃掉架构,而程序员则消化设计。
我们用真实的食物链来比喻软件食物链。在健康的生态环境中,海鸥吃新鲜的鲑鱼。这对海鸥是营养丰富的大餐,因为鲑鱼吃的是新鲜的青鱼,而青鱼吃的是新鲜的水蝽。这是一条健康的食物链。在软件开发中,如果食物链的每一级都有健康的食物,那么最终就会获得由快乐的程序员编写出的健康的代码。
在受到污染的环境中,水蝽在核废料中游泳,青鱼被聚氯联二苯(PCB)污染,而吃青鱼的鲑鱼又在泄漏的原油中游荡。3海鸥,很不幸,它位于食物链的最后一环,因此它吃下去的不仅仅是不健康的鲑鱼体内的原油,还有青鱼体内的聚氯联二苯和水蝽体内的核废料。在软件开发中,如果需求被污染了,那么它就会污染架构,而架构又会污染构建。这样会导致程序员脾气暴躁、营养失调;开发出的软件具有放射性污染,而且周身都是缺陷。
如果你正为某个高度迭代的项目做计划,那么在开始构建活动之前,你需要针对将要构造的每一片段,先弄清哪些是最关键的需求和架构要素。建造住宅小区的施工人员,在开始建造第一栋房子之前,并不需要知道小区里面每一栋房子的每一个细节。但他会调查施工场所,制定下水道和电线的走向等。如果施工人员准备不充分,那么建造过程很可能会因为“需要在某所已经造好的房子的地下挖一条下水道”而延误。
......大师就是大师,我等只能膜拜了...
程序员是软件食物链的最后一环。架构师吃掉需求,设计师吃掉架构,而程序员则消化设计。
我们用真实的食物链来比喻软件食物链。在健康的生态环境中,海鸥吃新鲜的鲑鱼。这对海鸥是营养丰富的大餐,因为鲑鱼吃的是新鲜的青鱼,而青鱼吃的是新鲜的水蝽。这是一条健康的食物链。在软件开发中,如果食物链的每一级都有健康的食物,那么最终就会获得由快乐的程序员编写出的健康的代码。
在受到污染的环境中,水蝽在核废料中游泳,青鱼被聚氯联二苯(PCB)污染,而吃青鱼的鲑鱼又在泄漏的原油中游荡。3海鸥,很不幸,它位于食物链的最后一环,因此它吃下去的不仅仅是不健康的鲑鱼体内的原油,还有青鱼体内的聚氯联二苯和水蝽体内的核废料。在软件开发中,如果需求被污染了,那么它就会污染架构,而架构又会污染构建。这样会导致程序员脾气暴躁、营养失调;开发出的软件具有放射性污染,而且周身都是缺陷。
如果你正为某个高度迭代的项目做计划,那么在开始构建活动之前,你需要针对将要构造的每一片段,先弄清哪些是最关键的需求和架构要素。建造住宅小区的施工人员,在开始建造第一栋房子之前,并不需要知道小区里面每一栋房子的每一个细节。但他会调查施工场所,制定下水道和电线的走向等。如果施工人员准备不充分,那么建造过程很可能会因为“需要在某所已经造好的房子的地下挖一条下水道”而延误。
......大师就是大师,我等只能膜拜了...
相关文章推荐
- 软件开发过程四 软件质量管理
- 软件开发过程五 用户界设计
- 成功的软件开发过程 --迭代,进化和敏捷
- 艾伟也谈项目管理,找出软件开发过程中的BUG,你需要火眼金睛
- 谈企业应用项目的软件开发过程
- 敏捷开发过程中如何开发高质量的软件
- [转] 面向对象软件开发和过程(五)优化代码的组织
- SCRUM软件开发过程(转)
- 软件开发过程反思——从需求分析到最后开发出来的软件
- 在软件开发过程中,文档怎样编写和整理
- 浅析软件开发过程中的基线技术
- 仿真开发过程之软件设计
- 开发安卓系统Android和码输入法软件的全过程(二)
- RUP(Rational Unified Process,统一软件开发过程,统一软件过程)
- 软件开发过程
- Rational Unified Process学习心得之一,RUP,统一软件开发过程
- 软件开发过程模型,软件过程模型,软件开发过程几种模型对比
- 软件开发过程
- 普通软件项目开发过程规范(二)—— 启动和计划阶段 (转)
- 软件过程开发方法(RUP、AP、MP、HP) CMMI/SPCA业务介绍