需求文档和建模工作应定义开发工作输出的测试用例。如果团队无法将需求转换为测试用例,团队就没有理解这些需求。
——Don Ferguson
这是个很好的问题,我希望给出而且也能给出一个很好的回答。我想,解决此问题的最重要方法就是在开发流程和开发规则的过程中保持耐心。
很多项目并不能在需要的时候获得前端需求文档与分析以及业务建模。有时候,似乎会存在不利于提高编码效率的未说明的假设。正式的一流需求处理、流程建模和构件建模可能非常费时,但同时也能确保开发过程的结果能完美地满足业务需求。需求文档和建模工作应定义开发工作输出的测试用例。如果团队无法将需求转换为测试用例,团队就没有理解这些需求。
开发也需要进行迭代。我们从 Eclipse 开发和其他项目了解到,我们的开发工作每四到六周就需要生产出可以使用的过渡性版本。该版本应该提供给业务干系人使用,并验证项目是否满足了业务需求。每个过渡性版本阶段均应以一组得到一致认可的并且该版本将满足的需求和用例/场景作为出发点。
最后,我们已经开始在尝试用一个称为“Outside-in-in design”的概念。在此方法中,我们依赖于以下原则:
● 进行正式的用户建模,包括角色和用户概念对象
● 为与概念对象交互的角色定义一组用例
● 提供用例/场景的低精度和高精度可视模拟(有时简单得像纸上的铅笔画一样。通过这种方式,解决方案的用户可以提供早期评估和反馈。)
● 构建过渡性版本
● 此过程不是瀑布型的,而是迭代过程。(此方法可帮助提供项目的持续细化,以确保其向提高业务需求和要求的满足程度方向发展。)
Donald F. Ferguson博士
微软公司的SOA首席架构师,微软CTO办公室成员,负责微软平台与产品策略规划,同时具有微软院士称号。Don主要关注信息技术的演变和革新对商业和经济带来的影响。微软期待Don介入各种前瞻性的项目中。
在加入微软之前,Donald Ferguson 是 IBM 的 200,000 技术雇员中的 53 个 IBM 名士(IBM 最高的技术职位)之一。Don 还是 IBM Software Group 的首席架构师。Don 是 SWG Architecture Board 的主席,该委员会监督 WebSphere、DB2® Information Management、Lotus®、Tivoli® 和 Rational® 产品的体系结构和集成。Don 原来曾担任过 WebSphere 系列产品的首席架构师。他于 1985 年加入 IBM Research。他的兴趣爱好包括带他的孩子们、和他们玩耍、分布式系统、简化应用程序开发、系统管理、Web 服务、事务处理、性能以及空手道。