系统需要添加一个新功能,要实现它,需要对系统做比较大的修改,包括数据库主要表达重新设计、业务逻辑、前端页面和手持终端,其中终端是另一个team用.net写得。
按照我的习惯,考虑一下最基本的部分-数据库-该怎么修改,然后开始一步步来:DAO - 业务逻辑 - 页面 - 通知另一个team修改。
这样的话,大概花2个小时考虑,然后剩下基本上是coding体力活。如果后续开发中发现前面某一步有问题,那么回来改 - 如果到终端开发时,发现前面重新设计过的数据库无法完成终端需要实现的功能,那么,回来重新设计数据库,推倒重来。
这是很可能发生的,也是不可接受的。
还好,Tony坚决地制止了我 - 想想,再想想:
0、想通业务逻辑。
1、改动可能会影响到的各个方面
2、为实现这个功能所作的改动,会不会导致别的功能无法实现,工作量有多大
3、改完后,哪些地方需要重点测试。
于是,这两天我都没写代码,很不情愿地把终端跑了一遍去熟悉流程,无聊地想可能会影响到的地方。。。
其实是很好的。
Think before act. Think again before act.