ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:145.78KB ,
资源ID:8894819      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8894819.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(移动互联网时代敏捷系列产品级敏捷.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

移动互联网时代敏捷系列产品级敏捷.docx

1、移动互联网时代敏捷系列产品级敏捷移动互联网时代敏捷系列(1): 产品级敏捷前言:产品开发最危险的一件事便是:开发人员往往是在无知的情况下,写代码。产品开发最没效率的一件事便是:架构师进行笨重的软件设计,输出对开发人员毫无帮助的设计文档。产品开发最不可思议的一件事便是:开发人员开发汽车;测试人员测试飞机。产品开发最悲催的一件事便是:天天熬夜加班,最终发布的版本,却对客户、对用户,产生不了任何正面的影响。产品开发中最郁闷的一件事便是:来了团队两、三年,还是没法成为能独当一面的大牛。产品级敏捷经由团队的高度协作与自主,建立起一讲求个人价值与责任,逐步的形成一高效的产品开发生态系统 在这生态系统中,

2、团队成员不仅能高效的完成版本开发, 更重要的是能发挥 “集体的智慧” 做出最佳的决策 而使每一轮版本的发布, 都能以最少的产出, 却能对客户、对使用者, 产生最大的影响本文: 产品级敏捷是我在 2014 年所独立创建的; 是当今在业界唯一能将精益敏捷开发与软件工程, 无缝结合的端到端的产品开发模式产品级敏捷:有著精益敏捷开发的轻量级、可视化、即时发现问题等的特点也有著软件工程的系统化与规范化更重要且独特的是, 产品级敏捷中的各核心工程实践, 均可根据团队所要开发的需求 (特性) 的不同, 而可任意的 “组合” 成团队所需的工程实践; 使得团队可真正的拥有适合自身的产品开发的工程实践与工作模式,

3、 使得团队不仅是能高效的开发产品, 更能保证产品发布的质量; 对客户、对使用者, 产生最大的影响产品级敏捷共有五大核心工程实践:SliceBoard (切片板) :使得每一轮版本的发布, 都能以最少的产出, 却能对客户产生最大的影响ArchitectureMap (架构地图):轻量级的设计每一轮版本的架构设计, 并识别每一轮版本在架构上的风险StoryWall (故事墙):使得开发人员与测试人员,认同User Story的价值,并从产品外部的视角,清楚的明白: User Story完成的定义或标准为何?Scenario Tree(场景树):轻量级且可视化的Story的设计与定义完成Featur

4、eAPI(特性API):从外部的视角,使得特性对外所提供的API,均能代表有价值的业务概念。I. SliceBoard(切片板):任何的产品;不论是与使用者会直接发生互动的应用系统,或是提供给众多产品使用的平台;都应该要先有一个完整的产品特性树。产品特性树将使得我们可以很清楚的知道,从外部使用者或外部产品的视角,产品的架构,最终应提供哪些有价值的服务?而团队中针对产品特性树中的每一个特性,都应该要有一个主要的特性负责人;每一个特性都会有一个主要的特性负责人负责,每一个特性负责人,都将负责多个特性。在产品级敏捷中,特性负责人的主要责任便是:经由与团队中各不同领域的成员;架构师,开发骨干人员,测试

5、经理,资深测试人员;共同具体分析出每个特性的业务场景。特性负责人与团队成员协作,分析每个特性业务场景的主要步骤如下:步骤-1:特性负责人,分析特性是由哪些业务活动所构成的?步骤-2:特性负责人,针对特性中的某个业务活动,分析出此业务活动的基本流。步骤-3:团队成员,以特性负责人所分析出的基本流为基础,分析出相关的扩展流与异常流。步骤-4:特性负责人,决定团队成员所分析出的扩展流与异常流,哪些是需在这个版本中,置入到产品的架构中,来进行开发的。步骤-5:特性负责人,再选取特性中的其他业务活动,并重复步骤二至步骤五。直到特性中的所有业务活动均已分析完毕为止。当特性负责人,将特性的所有业务活动均分析

6、出,其各自的基本流,扩展流与异常流之后,特性负责人便可经由组合基本流,扩展流与异常流,而分析出从外部使用者或外部产品的视角,有价值的端到端的业务场景切片。特性负责人经由与团队成员的协作:团队成员,分析出扩展流与异常流;团队成员作加法。特性负责人,从团队成员所分析出扩展流与异常流中,删除不需要置入产品的架构中,去进行开发的扩展流与异常流;特性负责人作减法。团队成员作加法,特性负责人作减法;此种团队协作的方式,不仅使团队成员间,能对需开发的特性场景(需求),迅速的达成一致的共识,并且能使得每个特性,都能以最少的场景(需求),却能对外部使用者或外部产品,产生最大的正面影响。图一:SliceBoard

7、使得特性负责人与团队成员协作;分析对客户、对使用者能产生最大正面影响的业务场景切片II. ArchitectureMap(架构地图):当特性负责人与架构师,开发骨干人员,测试经理,资深测试人员协作,而可分析出特性下的所有业务场景切片时,特性负责人与架构师,开发骨干人员,测试经理,资深测试人员应再持续的协作,根据由分析特性业务场景切片时,所获得的知识,继续分析出特性在架构上的依赖。这些架构上的依赖,包括:特性依赖产品外部的哪些产品?设备?特性依赖外部这些产品或设备的哪些接口?端口?数据库?特性依赖自身产品内部的哪些子系统?特性依赖自身产品内部的这些子系统的哪些接口?数据库?当特性负责人与架构师,

8、开发骨干人员,测试经理,资深测试人员分析出特性在架构上的依赖后,特性负责人便以“ArchitectureMap”,去承载这些特性在架构上的依赖。特性负责人与架构师,开发骨干人员,测试经理,资深测试人员便可根据特性的ArchitectureMap中,所体现出的各特性在架构上的依赖,而识别出:哪些依赖会存在著风险,而使特性无法进行集成测试?或者哪些依赖所造成的风险,会使特性无法进行独立发布、独立部署?特性负责人必需与架构师,开发骨干人员,测试经理,资深测试人员协作,认真的分析因架构上的依赖,对特性在执行集成测试或独立发布、独立部署上,所可能带来的风险为何?并深度的思考,应该有怎样的A计划? B计划

9、?才能消除或降低因为架构上的依赖,所导致的风险;这一步真的很关键,往往会决定产品开发的成功或失败.图二:ArchitectureMap;Payroll与Finance由不同的团队开发,并且Payroll依赖著Finance。 Payroll与HR是经由数据库整合; Payroll与HR共用Employee数据表。HR会调用 Recruitment的REST API。III.StoryWall(故事墙):特性负责人与架构师,开发骨干人员,测试人员,资深测试人员,经由协作,完成了:1.特性业务场景切片的分析。2.特性架构上的依赖分析。所以,接下来特性负责人便可:将特性内部的业务场景切片,依场景或功

10、能点,拆分成一个或多个User Stories。将特性会与其他特性产生交互的场景,拆分成一个或多个User Stories。特性负责人,需针对每一个User Stories,提供以下的信息给开发人员与测试人员:会与User Story直接产生交互的外部使用者、系统、设备或事件。外部使用者、系统、设备或事件,和User Story直接产生交互的目的。外部使用者、系统、设备或事件,和User Story直接产生交互的主要场景。User Story完成标准(验收条件):使用性:外部使用者、系统、设备或事件是经由何种方式;浏览器,手机,接口,端口或某事件类型;与User Story直接产生交互。性能可

11、靠性安全性在产品级敏捷中,特性负责人,不应只是传递特性的需求,而应该是:要能说服开发与测试人员,能认同User Story的价值。并使开发与测试人员能从产品外部的视角,清楚明白:外部使用者、系统、设备或事件所期望User Story完成的定义或标准为何?对于没被我们说服的这些开发、测试人员,我们怎能相信这些开发、测试人员,能为我们产出高质量的特性?假如,我们自己都不把说服开发、测试人员,这么重要的事,当成是一回事,那只能再度的证明:我们自己也都是抱着一种做事的心态;只要开发、测试人员听我的命令在做事就行了。做产品和做事最大的差别,不在于做事的内容,而在于心态与文化;一种懂得尊重他人,说服他人能

12、交心,又能严守原则与是非的心态与文化。产品的特性负责人,对于自己所负责的特性,都无法从外部的视角,明确且清楚的定义出,什么是特性开发完成的条件时,这样的特性负责人,除了只会使团队交付永远没有市场竞争力、永远无法使客户满意的产品外,其他什么事也没法做图三:StoryWallIV.ScenarioTree(场景树):特性负责人,说服开发与测试人员,能认同特性中的User Story的价值,并使开发与测试人员能从产品外部的视角,清楚的明白:外部使用者、系统、设备或事件所期望的特性中的User Story完成的定义或标准为何后,开发人员与测试人员便必需协作,藉由“ScenarioTree”,针对特性中

13、的每个User Stories,共同的完成:从产品外部的视角,分析出User Story最佳的易用性业务流活动步骤。分析出User Story每个业务流的活动步骤,对外依赖的接口,数据库或端口。分析出User Story每个业务流活动步骤完成后,其所产出的实体。设计出每个实体的关键的纬度,经由这些关键的纬度,便能校验出User Story每个业务流活动步骤完成后,其所产出的实体是正确、不正确、合法或不合法。由每个实体的关键纬度,设计出User Story每个业务流活动步骤的表格式测试用例;经由此表格式测试用例,便可定义出:User Story每个业务流活动步骤,其”开发完成”的定义。开发人员,

14、架构师, UX工程师与Product Owner,也必需协作,藉由“ScenarioTree”,针对特性中的每个User Stories,共同的完成下列的设计:User Story是属于哪一个版本的特性?或是属于新产生的特性?User Story将开发在那个模块?那个类或文件内?User Story所需的数据表结构。User Story所需的使用者介面。更重要的是: Product Owner可藉由“Scenario Tree”,确认开发人员已清楚的知道:User Story开发完成的定义为何?User Story该如何进行开发者测试?User Story最佳易用性的行为为何?Product

15、Owner应坚持:确认开发人员能经由“ScenarioTree”,清楚的知道,上述的三件事后,才允许开发人员,进行User Story的开发。因为,唯有如此,才能确保特性交付时的质量与易用性。假如,某个开发人员没办法清楚且具体的定义出,自己所负责开发的User Story,什么是完成?那可以预见的是,这个开发人员,便只是会在我们的产品中,不断的制造问题单罢了图四:ScenarioTree:业务流活动步骤:获取客户租CD数据,将会调用一REST API,并产生一实体:客户租CD数据。验证实体:客户租CD数据,是,否正确的关键纬度是: CustomerID, CD数, CD ID,Rental D

16、ate。V.FeatureAPI(特性API):每个特性依照场景或功能点,分解成一到多个的User Stories。每个User Story经过开发人员与测试人员的协作,藉由“ScenarioTree”,分析出特性中包含哪些“实体”?每一个特性中的实体应能只明确代表特性中的某个单一的业务概念;同样的,特性中的某个业务概念应也只能由特性中某个单一的实体所代表。所以,在特性中的ScenarioTree中,假如,识别出有一个以上的实体;名称不同,但这些实体所代表的业务概念,却是同一个的业务概念;则开发人员与测试人员,便应该将这些代表相同业务概念的实体,合并为单一的实体。当开发人员与测试人员可从特性中

17、的Scenario Tree中,将特性中的实体都能明确的对映到某个单一的业务概念后,开发人员与测试人员便可轻松的从Scenario Tree中,依照实体所对映的活动,而分析出每个实体对外需提供的方法(API)。最后,开发与测试人员再将所有实体对外需提供的方法(API)集成,便成为特性对外需提供的方法(API)。图五: Orders与Order Status虽是不同的实体,但,却代表著同一个业务概念; Orders。所以,将 实体Orders与实体Order Status合并。VI.组合团队自身所需的核心工程实践:团队往往面对不同类型的需求(特性)开发;只需演示的需求(特性),在既有架构上,需快

18、速交付的需求(特性),新的需求(特性)的开发等等。团队针对这些不同类型需求(特性)的开发,应该有不同的核心工程实践的组合。例如:只需演示的需求(特性),建议:只需SliceBoard, Story Wall, Scenario Tree的组合;便可快速的产出最少的场景,却能吸引客户最多的关注。Slice BoardArchitecture MapStory WallScenario TreeFeature API只需演示的需求(特性)VVV在既有架构上,需快速交付的需求(特性)VVVV新的需求(特性)的开发VVVVV表一:针对不同类型的需求(特性)开发,建议所需的核心工程实践组合VII.结论:产品级敏捷使得市场行销、产品管理与研发团队之间, 有了共通的语言, 而可共同的面向外部的客户与市场; 以最少的产出, 对客户产生最大的影响。更重要的是, 藉由产品级敏捷, 企业将能打造一以人为本, 内聚力强, 强调协作互助, 完全自主当责的全功能幸福团队。产品级敏捷期待著你的参与!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1