敏捷开发下, 如何将需求分析,架构(软件)设计,开发与测试,一气呵成式的结合且高效的完成 ?

产品开发中,时常会发生类似如图中 “削马铃薯”的悲剧。

悲剧的发生,往往是由于我们只传递了 “要作什么功能”给开发人员。却缺乏了一个有效的且轻量级的实践,能在正式进入迭代开发前,确认开发人员是否真有能力,能将 “使用者的需求”转化为 “可执行的代码”?

“场景树” 便是一结合Use Case, Domain Driven Design, UML的轻量级可视化的敏捷实践。

经由场景树,可确认开发人员,是否已设计好:

① User Story 的 “实践场景”。

② 由实践场景所生成的 “实体(Entity)”。

③ 各实体所需的 “测试纬度”。

所以,当开发人员已可将 “User Story 的需求“ 转化为 “场景树” 时,不仅可说明开发人员已充分的理解需求,更证明了开发人员,已有了一清晰的思路,知道如何能将需求转化为可执行且可测试的代码。

另一方面,开发人员,可依据场景树,轻松且直接的完成……

① User Story 设计模式的选定;选择 Domain Model或 Transaction Script。

② User Story 中的 Entity 与Value Object的设计。

③ User Story 测试用例纬度与测试数据的设计。

“场景树”;一个极其简单且轻量级的实践,却能使开发人员,将需求分析,架构(软件)设计,开发与测试,一气呵成式的结合且高效的完成。

假如,你有兴趣想知道,是谁发明了场景树,请与我联系。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏领域驱动设计DDD实战进阶

DDD实战进阶第一波(十五):开发一般业务的大健康行业直销系统(总结篇)

1643
来自专栏Java学习网

不要浪费时间写完美代码

 一个系统可以维持5年,10年,甚至20年以上,但是代码和设计模式的生命周期非常短,当对一个解决方案使用不同的方法进行迭代的时候,通常只能维持数月,数日,甚至几...

2815
来自专栏blackheart的专栏

[解读REST] 3.基于网络应用的架构

链接上文[解读REST] 2.REST用来干什么的?,上文中解释到什么是架构风格和应该以怎样的视角来理解REST(Web的架构风格)。本篇来介绍一组自洽的术语,...

2049
来自专栏祝威廉

ChatBot framework 开发实践

通常而言,通用聊天机器人(比如小冰等)底层技术是采用类似Seq2Seq等“生成”技术的。但是这种机器人属于探索性质,无法 提供特定的服务。而Siri则是兼具闲...

943
来自专栏PPV课数据科学社区

【译文】怎样学习R(上)

有奖转发活动 回复“抽奖”参与《2015年数据分析/数据挖掘工具大调查》有奖活动。 ? 何品言翻译,广东科技学院大学生,喜欢R语言和数据科学。 王陆勤审核,从事...

3406
来自专栏java一日一条

为什么开源可以提高程序员的编程技能?

我已经写了很多年的软件。最近我意识到,我越涉及(致力于,结合于等)开源技术,我写出来的代码就更好。这不由地让我疑惑起来:难道里面有什么相关性或因果关系吗?

863
来自专栏包子铺里聊IT

[包子分享] 构架模式: Microservices Architecture

http://baozitraining.org ---- ? 微服务构架是近年来比较流行的服务端应用构架,由其非常好的可伸缩性,稳定性以及灵活的协同开发模...

2976
来自专栏全华班

微信公众号、小程序、接口统一集成开发平台框架

RhaPHP微信平台管理系统,支持多公众号管理,小程序开发,APP接口开发、几乎集合微信功能,简洁、快速上手、快速开发微信各种各样应用。简洁、好用、快速、项目开...

2832
来自专栏架构师之路

小小的公共库,大大的耦合,你痛过吗?

什么是耦合? 耦合,是架构中,本来不相干的代码、模块、服务、系统因为某些原因联系在一起,各自独立性差,影响则相互影响,变动则相互变动的一种架构状态。 感官上,怎...

3598
来自专栏SDNLAB

P4:开创数据平面可编程时代

现有的SDN解决方案将控制平面与转发平面分离,并为我们提供了控制平面的可编程能力。而事实上,目前通过软件编程实现的控制平面的功能,在传统的高级交换机和路由器上也...

3807

扫码关注云+社区