版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、敏捷开发在大型软件工程管理中的应用探讨一、敏捷开发概述Scrum 是一种迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum 在英语的意思是橄榄球里的争球。虽然Scrum 是为管理软件开发工程而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法。Scrum是迭代的、增量型的流程,其流程如1 所示。Scrum构造的产品迭代周期为Sprints,工作的迭代时间一般为一到四周,并且是相互衔接的。Sprints是有固定的周期,结束于固定明确的日期,无论该工作完成与否,从不延长。在每一Sprint的起始阶段,一个多职能的团队从已优先化的要求列表(下文中称Product Backlog)中挑
2、选若干工程,并承诺在 Sprint 的末期完成这些工程。在 Sprint 中,任务的内容不会变化。每一工作日,团队成员互相通告工作进度,并更新简易的剩余工作量直观表示图表。在 Sprint 的末期,团队将对这一阶段工作结果作一展示并取得相关的反馈,为下一Sprint做好准备。 Scrum 强调生产可以使用的产品,意指在Sprint的末期产品的“完成”;在软件方面,是指编码已经被检测并可以随时交付使用。图 1 Scrum 周期图在 Scrum 中有三个基本的角色:产品所有者(ProductOwner) ,开发团队和Scrum Master 。1. 产品所有者( Product Owner )产品
3、所有者(Product Owner )负责取得产品最大的商业价值,收集相关于产品的所有信息。从客户或产品的终端使用者,开发团队成员和工程管理者中获取并将信息转化为优先权工程列表。在一些情况下,产品所有者(Product Owner)正是客户本人;在另一些情况下,客户可能是有不同需求的成百上千的人。产品所有者(ProductOwner) 这一角色在许多企业中是由产品经理或产品市场经理担任。2. 开发团队开发团队构建客户将会购买的产品:比如报表或软件。 Scrum 团队是“多功能”的。它包括交付每一Sprint中的随时可交付产品所需的各类专门人员,并且它是有很高自律性和责任性“自我管理”的团队。团
4、队决定承诺完成哪些任务和完成承诺任务最好的方法。Scrum 团队通常包括五到十个成员,然而团队大到15个成员和小到3 个成员也有很好的收效,一个软件工程的开发团队包括程序员,界面设计师,检测员和研究人员。开发团队不仅构建产品,他们也向产品所有者(ProductOwner) 提供让产品尽善尽美的建议和想法。团队成员可以将其时间划分给 Scrum 工程和其他的工程,但是如果团队成员能专注于 Scrum 工程开发则效率更高。团队内部成员也可以在不同 Sprint 中变化,但是这样会减少整个团队的生产效率。3.Scrum MasterScrumMaster 的任务是以任何方式帮助整个团队取得成功。 S
5、crumMaster 不是团队中的经理;ScrumMaster 的职责是服务整个团队,帮助团队铲除壁垒而取得成功,协助团队会议,并支持Scrum 的实践。在一些团队中会有某一人专心致力于担任ScrumMaster ,而另一些小型团队可以采用其中一个成员兼职担任(此人会适当减少日常工作量)。一个好的ScrumMaster可以来自不同的背景和学科:工程管理,工程技术,计算机或者电子工程等等。ScrumMaster和产品所有者(Product Owner)不应是同一人;有时,ScrumMaster可能会号召拒绝产品所有者(Product Owner)(例如,他们有时会在某一Sprint中期试图加入新
6、的条件)的要求。不同于工程经理,Scrum Master不会指示和分配工作。他们只是协助流程的实施,推动团队自我组织和管理。二、大型软件工程管理中应用敏捷开发的问题探讨传统认为敏捷开发主要适用于小规模团队完成的中小型工程。大型软件工程从需要的业务知识背景、研发团队规模、系统架构等方面都有很高的要求,需要在应用敏捷方法的过程中,实施一系列改进。我们尝试从以下几个方面讨论大型软件工程中应用Scrum 中可能遇到的问题及解决方法。(这里我们假设该大型软件工程团队规模在40 人左右,该工程是整个用户系统中的一部分,其他还包括IT基础设施工程)1. 产品负责人的确定选择产品负责人是个很有难度的事情,在大
7、型工程中,由于涉及的知识面非常广,很难找到一个人能够有时间、具备领域知识、而且有权利设置需求优先级。因此,可以由两个(或以上)业务分析师来一起承担产品负责人的职责。他们有充裕的时间、充足的工程经验和丰富的业务知识,足以担当起产品负责人的角色,为多组客户充当优秀的代理。有关优先级的和范围的高级决策,是这些产品负责人共同通过会议的方式决定的。2. 团队的构建关于团队的规模,传统Scrum 一直认为5-9人是一个最佳范围,团队过小,管理成本会过高,团队过大,则不利于团队的沟通,降低团队工作效率。在40 人团队规模下如果要继续有效的使用Scrum 方法,唯一的办法就是分拆团队,采用Scrum of S
8、crum的方法。相对来说,拆分团队并不难,当团队扩大以后,自然就形成了一个分割,人数控制在5-10人左右,在这个组内再任命一名技术、管理能力均衡的成员作为这个小组的Scrum Master管理所在的子团队,同时听命于工程经理。但是,在拆分团队过程中,也要注意一些问题。( 1)跨智能团队最容易发生的问题是按照工作职能划分子团队,如:用户界面程序员一组,中间层程序员一组,数据库员一组,这样的架构其效率很低。应当淡化团队分工,按照业务功能形成跨职能团队。这样,团队里面的人仍然干差不多相同的活,但是现在能够关注整个功能,而不是某一层上功能的一部分,虽然会引起团队间一些集成的问题,但是会使端到端的功能实
9、现得更快。( 2)团队技术共享由于采用迭代开发,团队遵守自然设计(emergentdesign )的原则。这意味着团队编写高质量的代码,但是只有必要的时候才会增加功能或者设计结构。团队A 可能写了一个加密模块,因为只有一个地方在用,他们就没有使用接口。团队B 可能后来也需要一个加密模块,但与团队 A 的稍微不同。这是,最好的办法是让团队A 修改代码,使用接口这是就需要为团队A 赋予新的任务,即对加密模块的开发与维护任务,并对团队B 进行支持。这时这个加密模块的需求,就应该由产品负责人加入到非功能需求中,同时,团队A 的 Scrum Master 也要负责这个需求的协调与沟通。( 3)拆出一个只关注架构的团队大型软件工程通常都是整个应用系统中一部分,需要和已有的 IT 基础架构无缝挂接。虽然产品负责人对核心功能需求非常熟悉,但是在安全、日志、可用性、性能等方面就所知甚少了。要从用户的组织中了解这些需求难度很大,因为这得跟不同部门中的许多人沟通讨论。这种调查工作给 Scrum 的迭代节奏
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 4-Hydroxyclonidine-d4-acetate-生命科学试剂-MCE
- 2-2-Ethane-1-2-diyl-dianiline-Standard-生命科学试剂-MCE
- 1-2-4-Difluorophenyl-2-1H-1-2-4-triazol-1-yl-ethanone-Standard-生命科学试剂-MCE
- 高效管理员工福利计划
- 地产行业概览
- 第十五关:说明文阅读 知识点全覆盖+考查趋势+思维导图+复习要点+解题方法中考语文一轮复习知识点闯关(全国)
- 三年级学童教育指导模板
- 充电桩合作协议书
- 手术室麻精药品管理制度
- 钻孔灌注桩首件施工方案
- 月考测试卷(第1~3单元)(试题)-2024-2025学年六年级上册数学人教版
- 第05讲:赏析人物形象(练习)-2024年中考语文记叙文阅读讲与练(全国)原卷版
- 2024年4月至2008年10月自考03708中国近现代史纲要历年试题及答案含解析30套
- 《行政执法机关移送涉嫌犯罪案件的规定》详细解读
- 2025届高考语文一轮复习备考指导++课件
- 语文园地三 教学设计-2024-2025学年语文一年级上册统编版
- 2023-2024学年北京市西城区回民学校七年级(上)期中数学试卷【含解析】
- 2024年人教版初三化学(上册)期中试卷及答案(各版本)
- 中建三局飞检题库考试练习附有答案
- 2024-2030年中国水产养殖行业发展分析及投资风险与战略研究报告
- DL∕T 5142-2012 火力发电厂除灰设计技术规程
评论
0/150
提交评论