0302 - 开发过程中的混沌期,不可避免

在开发过程中,尤其是开发前期、面对复杂功能时,会有明显的 混沌期

在这个阶段,

  • 有很多事要做,比较杂乱
  • 很难分清各个事情之前的依赖关系、轻重程度
  • 可能做着做着,之前已经做好的功能又被破坏了、甚至都不知道已经破坏了,还在此错误的基础上继续开发、错上加错
  • 有很多变数。比如在开发过程中需求变动,或者发现了之前没有考虑到的功能、不完善的逻辑。这会让本身就困难的开发过程,变得更不稳定。
  • 由于开发过程拖得比较长,一直没有结果,甚至连中间结点也没有,人也一直紧绷着,不能及时放松,很容易觉得厌烦、沮丧、对自己的能力产生质疑,等等

而一旦过了混沌期,又会觉得神清气爽,很有满足感

而以我的经验,这样的混沌期不可避免,只是时间长短的问题。如果明白了这一点,至少在心理上有一定的预期,不会在遇到困难时轻易变得沮丧。

那么,如何缩短这一混沌期、尽快搞定问题呢?由于我刚刚经过了这个状态,简单总结下心得:

  • 尽量分割为小任务。没有谁能一次性解决复杂的问题,都是一步步来。而怎么一步步来?就是要能将大问题量拆分成尽量独立的小任务。
  • 开发各个小功能时,尽量相互隔离。这时候,单元测试 就派上用场了。一旦完成某个功能,立即完善单元测试。在完成新功能时,及时运行所有单元测试。这样,如果之前已经完成的功能被破坏时,能立即发现并修复,而不是成为隐患。
  • 不忘初心。当开发周期拖得比较长时,很容易忘记最开始要做什么、以及重点是什么。这时候,就要不断回到原点来回顾、反思。另外,一个具体的把关就是,根据初心,尽量预定义出丰富的 测试用例。这些测试用例会避免走偏,并且在最后时用户验证

继续前行…