问:老师,现在咱们有了功能点,也划分了里程碑,在里程碑里划分了优先级。现在我们是不是就该对功能点进行详细描述了。
答:对。这时候就进入了功能详细描述阶段。但是需要说明一点是:
我们只描述第一里程碑第一优先级的功能点,而且描述好一个完整功能,就交给测试人员来检验业务是否完整流畅并且无矛盾。测试OK后就交给开发人员进行编码。
就这样不断的小迭代,不断描述、测试、编码、编码测试、再描述下一个。我们不会把第一里程碑的第一优先级的所有功能描述完再编码。我们尽量形成最小的迭代,这样我们每个角色都在忙,而且都在同步协调工作。
我们会坐在同一个办公区域,有问题即时当面交流,在白板上画。一旦达成共识,就立即各行其是。
一个功能的描述,往往包括下面几个部分:
1功能的界面。无须用IDE画界面,也无须非常精美精细的画界面,用EXCEL做界面示意最好。因为作为一般软件,用户看到的就是输入和输出。所以输入什么,输出什么,EXCEL的表格能很好多表现,而且能下拉,能排序,能计算,能出图表,能连接数据源。表现力特别好。
2要输入什么,输入的限制要求是什么?要输出什么,输出的格式是什么?
3涉及到的数据库操作的表。表经过大牛的修订形成数据库终稿,由大牛控制数据库的建立和修改,全体人员都对着一个服务器上一个数据库进行开发,而不是每个人的机器上都安装一个数据库。有人说变化非常快,老去麻烦大牛,还不如自己添加一个字段省事。但就是由于每一个小组都在变化,而且设计、编码、测试都在同步互动,你自己的一个修改要影响到许多人,如果大家都随意就无法控制。我们在实际开发过程中就发现过由于控制不力,设计人员事情匆忙变化快速,引起设计人员更新这个忘了更新哪个,最后软件引起BUG,怎么也找不到问题,最后才找到设计人员机器上的版本,开发人员上的版本,测试人员的版本都不一样,那就乱套了。
4根据终稿的表,描述输入输出时数据库表的存取行为,从哪个表取数据,存哪个表,更新哪个表的哪个字段。
描述完第一部分和第二部分,就立即交给测试人员来检验业务设计的完备性。在测试的同时,业务组长就描述第三部分和第四部分。一旦业务设计检验完毕后,就让测试人员测试数据设计。
这样的开发过程,协同要求非常高。所以必须有良好的师傅制和温和的环境气氛做前提,否则根本不可能形成这么紧密的团队配合力。