设计

凡事则立,不预则废。

我对“预”的理解就是设计,举个例子,假设你设定了一个新年目标,如果你没有设计怎么去实现它,没有设计你的行动和目标之间的逻辑关系,没有设计怎么应对在达成目标旅程中可能会出现的潜在障碍,你的目标就很难达成。

写代码也是一样,接到一个需求之后,如果没有理解过已有的代码,没有设计过如何修改已有的代码,就很难估计出要完成这个需求需要多少时间。

软件测试也是一样,如果没有事先设计过要测试哪些场景,要测试哪些主流程和特殊流程,要准备哪些正常数据和特殊数据,很多潜在的问题可能只有上线以后才会被发现。

需求分析也是一样,如果没有设计过要用系统的哪些已有概念和框架满足用户的需求,很可能会产生很多不合理的特殊逻辑。

其实做设计的最大好处在于在你真正行动之前,有经验的人可以Review你的设计,能够尽早地发现问题,有效地避免浪费和返工,如果设计错了,修改设计的成本是很低的,如果实现错了,要修改的成本和风险将会变得相当高。

很多人不愿做设计,因为他们只看到了设计带来的第一后果:要花费额外的时间,但是忽视了设计的第二、第三后果:减少返工和浪费,保证系统健康和正确地发展。《原则》的作者说过:

在我们做决策的时候,不仅要考虑第一后果,更要考虑第二后果和第三后果。

你可能感兴趣的:(设计)