【在线研讨】《敏捷开发用户故事分类与组织结构(三期-2)》

简介:

 

之二:用户故事树与MVC中Area的关联

 

陈勇-创业-北京(**9107533) 13:15:15
下面的话题,是用户故事和设计的关系。
设计整体上包含纵向和横向两种设计。
比如MVC,可以理解为解决纵向设计问题的,他说:任何编码,应该包含表现业务逻辑的M,和表现界面展示的View,当然还藏着一个表现数据存储的Data
其他的MVM之类的,大都也是解决这个纵向问题的。
但是,MVC等不管横向的设计问题,比如:我的产品应该有哪些模块?我的网站应该分哪几个区域?
这个事情一直没有方法论,原因是每个产品肯定不同,不会有一种一致的分解方法。
不过,现在有了用户故事,尤其是上次提到的大规模用户故事的组织结构,问题就解决一半了。

 
陈勇-创业-北京(**9107533) 13:18:13
比如,我的用户故事已经按照这个来组织了,那么应该如何划分模块/区域呢?
这个结构大家上次见过了:


它表达了一种“业务”的模块化,但不是设计的。
不过,业务的模块化,是一种很好的横向切分方法,也就是我们最重要实现代码,最终是“两刀”的结果,竖着几刀砍成多个业务模块,横着几刀再切成MVC之类的层次。
如果还不太好理解,那么请看我们自己的代码结构,对比上面的图:

 


陈勇-创业-北京(**9107533) 13:22:21
下面图里边的Agile Products Portal这三个目录,其实就对应着上面图中的三个业务模块。
上面的图很宽,这只是其中一部分,其他的目录,在下面的图里边多半都有。
 


 


 
陈勇-创业-北京(**9107533) 13:24:02
所以,若业务的功能树建得比较好,那么模块的划分就可以直接基于其结构进行,两者几乎完全一一对应,省略了很多的横向设计的工作。
纵向的设计,则在具体的目录里边,比如我们展开一下:



在这个局部目录里边,我们看到的就是MVC的设计解决的问题:纵向的层次问题
而刚才的故事树,则解决了横向的模块问题。

这是“故事树”的优势,因为你可以设计某种树根的级别,就是模块,从而直接产生出模块设计来。而敏捷原来做的“故事表”,就不能解决这个问题。

补充:以上, 故事树的根目录基本上可以迅速勾勒出MVC中Area(有人也叫Category,Asp.net中称之为Area)的划分方法。


本文转自火星人陈勇 51CTO博客,原文链接:http://blog.51cto.com/cheny/1101557
相关文章
|
7月前
交付成果 提高IT领导力的七大窍门
交付成果 提高IT领导力的七大窍门
|
机器学习/深度学习 存储 编解码
大型企业中反钓鱼小组的工作总结
电子邮件威胁形势在不断发展,即使是运营商级的垃圾邮件过滤器也难以抵御。因此,危险的垃圾邮件可能会到达用户,然后导致破坏性攻击在公司网络中传播。本文描述了一种在大型企业(意大利电信集团,TIM)环境中应用的早期恶意垃圾邮件检测协作方法。在过去两年中员工和安全分析师的共同努力下,收集了大量潜在恶意垃圾邮件的数据集,每封电子邮件都被标记为严重或不相关的垃圾邮件。
92 1
|
设计模式 SQL 自然语言处理
系统架构师2022年案例分析考前冲刺
系统架构师2022年案例分析考前冲刺
248 0
|
设计模式 SQL 自然语言处理
系统架构师2023年案例分析考前冲刺
系统架构师2023年案例分析考前冲刺
196 0
|
测试技术 BI
阿里敏捷教练如何优化优酷需求分析流程?
如何帮助优酷迅速融合到阿里研发体系?如何优化优酷的需求分析流程?针对需求信息不明确,开发出来的功能不是产品想要的痛点如何解决?
3326 0
|
BI
敏捷教练如何优化优酷需求分析流程?
本文简述在此过程中,如何通过调研分析、设计方案、落地实施、评估效果和持续优化的闭环帮助优酷同学解决问题。
1129 0
阿里敏捷教练:多团队开发一个产品的组织设计和思考
Scrum等敏捷开发框架,最初都是为5到9人的小团队设计的。通过保持专注和合理利用新技术,在相当长的时间里小团队仍然可以支撑业务发展。 随着业务成长,小团队的产出可能跟不上业务需要,团队就会面临规模化的问题。
15542 0
进阶指导,9大技巧让你进入高段位协同管理
协同办公软件人人都在用,为什么有人用它实现了高效管理,有人却只能打卡考勤?差别就在这。