这篇文章上次修改于 250 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

设计的重要性怎么强调都不为过,罗列如下

  • 有利于开发出更好的产品。本人见过有的产品历经半年后做出来没什么人用的,原因之一是开发者自嗨,未考虑到用户体验,盲目引入自认为很牛逼的技术,导致产品使用起来过于复杂,用户理解成本太高。
  • 避免项目进行不下去。本人见过有的项目实施两个月后进行不下去的,而其中的卡点本应在设计阶段就该考虑到。
  • 将 bug 扼杀在设计阶段。众多周知,越是前期,bug 越容易修复,越是后期,修复 bug 的代价越大。
  • 有利于工期估计。虽说项目延期是一件普遍又正常的事情,但如果大部分因素都考虑到的话,估期会更准确些。
  • 有利于开发者编码。如果设计文档步骤清晰,考虑充分的话,开发者就只需要编码即可。设计文档足够好的话,编码部分其实是可以外包出去的。
  • 有利于测试人员测试。清晰的设计文档有利于测试人员设计测试用例。

IBM 模型(总比重10)如下

  • 软件计划:1
  • 需求分析:1.5
  • 设计:3.0
  • 编码:1.0
  • 测试:3.5

可以看到设计的比重是比较大的,然而实际中,领导总是希望尽快看到代码,认为只有代码才是产出。这种想法导致考虑不清楚就匆忙写代码,从而 bug 百出,开发人员加班较多,项目延期严重。

只有大家都达成共识,设计也是重要的产出,才会重视设计,从而开发出更好的产品。