2009年曾经写过一篇博文,讲述需求与设计的界线(参见博文:https://blog.csdn.net/dylanren/article/details/4965181),最近又有所思考,对上篇博文整理补充如下。
首先我们从两个日常生活的例子思考一下:
案例一:DIY一台PC。
| 概要描述 | 详细描述 |
做什么 | DIY一台PC | 1 PC包含了显示器,键盘,主板,硬盘,电源,机箱,内存条等部分。 |
怎么做 | 1 采购显示器,键盘,主板,硬盘,电源,机箱,内存条。 | 1.1 选择品牌。 |
案例二:从北京到天津。
| 概要描述 | 详细描述 |
做什么 | 从北京西单到天津劝业场 | 1 要3小时内到达 |
怎么做 | 1 选择到天津的方法。
| 1.1 确定各种候选方案:高铁、自驾、大巴、出租车。 |
“做什么”是需求,“怎么做”是设计。
“做什么”是站在责任者以外的角度来看,“怎么做”是站在责任者的角度来看。
“做什么”描述的是结果,输出物,目标,“怎么做”描述的是实现结果的步骤,方法。“怎么做”会有多种选择,而非单一解决方案。
“做什么”与“怎么做”都可以分层次描述,都可以有概要描述和详细描述的区分,这种分层描述可以是多层。
“做什么”的概要描述是目标、结果,是宏观的描述,是客户需求。“做什么”的详细描述是目标的细化分解,是交付物的特征描述,是微观的描述,是产品需求。这些特征的描述都应该是外部可见的。
“怎么做”的概要描述是概要设计,侧重于技术方法的选择、内外部的接口设计。其详细描述是详细设计,是每个构件的内部实现方法。
“做什么”与“怎么做”都是相对的。当详细描述“怎么做”时,高层次的“怎么做”可以认为是更细一层次的“怎么做”的“做什么”。
当我们在提“做什么”时,有可能也提一部分“怎么做”的内容,因为提需求的人可能懂一部分“怎么做”。