测试驱动开发
迭代开发
每日会议
在这三点中,我最看重的是“测试驱动开发”,我觉得这一条最难以贯彻而且最能够改变人的观点。如果接受了这个思想,其实也就为后续“有序”的开发打下极好的基础。所以今天晚上,我将把我所了解的测试驱动开发说给大家听,作为以后的一个铺垫。
为了阐明测试驱动开发与传统软件开发方法的不同和优点,我给大家提了一个有趣的问题:
“如果我现在是你们的客户,需要你们画出我心中的刘老师的样子,你们会怎么做?”
大家各有想法,最容易得到认同的是:先画出刘老师的样子,然后给我检查,并在我的指导之下进行返工。
这确实是一个好办法,但我认为并不是最好的。因为把图先画完再交给客户,有可能造成前期投入太多无用成本,况且,我们的开发人员其实并不是素描专家,只是刚刚能完成工作而已,而且还有一个更关键的问题,其实我这个客户自己可能都不清楚心中的刘老师应该是什么样子(我真是一个合格的客户啊),我仅仅是有这个需求而已!如何让客户一开始就知道正在开发的东西是不是自己要的东西呢?我的回答是:
“可以考虑创建一些‘标准’的五官,并在客户面前进行‘组合’的工作,这样就可以降低开发难度并让客户及早的参与进来;当确定了一些五官之后,我们就可以在已经确定的框架上进行细化工作,即使客户发现五官和细节配合的不好,由于五官之间耦合很小,我们可以轻易的拿出另外的标准五官。”
我认为,针对现实的情况,这是更好的做法。其实我一说完大家就懂了,这不就是刑警们干的事情么?对!他们作为这个项目的开发人员再好不过了,虽然他们确实只是刚刚能够完成工作而已,但是他们往往能够成功的完成工作。这是方法的威力。
文章来源于领测软件测试网 https://www.ltesting.net/