软件项目管理——敏捷方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
腾讯敏捷研发框架——TAPD
可以认为,TAPO=f{FDD(需求分析/建模);Scrum(敏捷过程模型);XP(实 践方式)}
1.产品:参考FDD,即产品 特性开发驱动的一种模式,腾 讯的产品会有一个明确的产品 经理负责整个产品,包括产品 的验证、产品的方向、市场调 研、用户调研等,所有的开发 团队都是由产品经理所归纳出 来的产品特性去驱动整个产品 的研发。 2.项目管理过程:参考SCRUM,大概的项目管理过程同SCRUM过程相似,包括 每天的晨会、迭代、timebox、每个迭代完成的时候会有showcase、回顾总结等。 3.开发实践:参考XP,采纳其中的部分实践,比如自动化测试和持续集成。
软件项目管理 ——敏捷开发方法
1214042904 张哲峰 1214042902 郎贤波
什么是敏捷开发?
2001年2月,17个方法学家在美国犹他州Snowbird成立了敏捷软件开发联 盟,并共同起草了《敏捷软件开发宣言》,这标志着敏捷开发的诞生。
12条基本原则
最优先要做的是通过尽早、持续地交付有价值的软件来 使客户满意。 欣然面对需求变化,即使在开发后期,用变化来为客户 创造竞争优势。 经常地交付可工作的软件,相隔几星期或一两个月。 商务人员和开发人员必须天天都工作在一起。 激发个体的斗志,以他们为核心搭建项目。提供所需的 环境和支援,辅以信任。 效果最好效率也最高的传递信息方式是面对面交谈。 可工作的软件是进度的首要度量标准。 敏捷过程倡导可持续开发。责任人、开发人员和用户要 能够共同维持其步调稳定延续。 坚持不懈地追求技术卓越和良好设计,增强敏捷能力。 简洁为本。 最好的架构、需求和设计出自自组织团队。 团队定期地反思如何能提高成效,并依此调整。
SCRUM并列争球法
SCRUM中的三大角色
产品负责人 (Product Owner)
开发团队(Scrum Team) 流程管理员 (Scrum Master)
• 主要负责确定产品的功能和达到要求的标准, • 指定软件的发布日期和交付的内容 • 有权力接受或拒绝开发团队的工作成果; • 负责软件产品在Scrum规定流程下开发,5~10人左右; • 要求每成员必须要有很强的自我管理能力,同时具有一定的表 达能力。
• 清除客户和开发工作之间的沟通障碍,使得客户可以直接驱动 开发。
SCRUM并列争球法
SCRUM流程
Product Owner确定Product Backlog Scrum Team根据Product Backlog列表,做 工作量的预估和安排 Sprint Planning Meeting:从中挑选出一个 Story作为本次迭代完成的目标,这个目标的 时间周期是1~4个星期,然后把这个Story进 行细化,形成一个Sprint Backlog; Scrum Team中每个成员根据Sprint Backlog 再细化成更小的任务
Feature(特征): 是一个基本开发单 位,是(FDD)项 目中的一个增量, 是指用户眼中最小 的有用的功能,可 以在很短时间内实 现(一般在两周之 内)。
FDD中的角色 1. Domain expert(s) :领域专家 2. Chief Architect(s) :首席架构师 3. Chief Programmer(s) :主程序员
SCRUM
SCRUM流程
Daily Scrum Meeting:每个人汇报昨 天完成了什么承诺今天要完成什么, 提出不能解决的问题,更新自己的 Sprint burn down 每日集成,即每天都要有一个可以 成功编译、可以演示的版本 Sprint Review Meeting:产品负责人 和客户都要参加,每一个Scrum Team 的成员都要向他们演示自己完成的软 件产品; Sprint Retrospective Meeting:以轮 流发言方式进行,每个人都要发言, 总结并讨论改进的地方,放入下一轮 Sprint的产品需求中;
迭代计划 需求开发 UI设计 每日晨会 时间盒 故事墙 迭来自百度文库总结 灰度发布 用户参与
功能点大小
影响人群 围绕主题
对于每个新需求要纳入下一个迭代 先评估工作量再分配任务
腾讯敏捷研发框架——TAPD
每日晨会
迭代计划 需求开发 UI设计 每日晨会 时间盒 故事墙 迭代总结 灰度发布 用户参与
总结的内容包括: 1. 工作完成的情况 :未开始、正在开 发、已完成。 2.工作遇到的难点 ;工作中值得注意 的地方。 3.今天要做什么( 如果昨天的工作已 完成)。
每个人轮流主持 即时通信软件、电话会议
腾讯敏捷研发框架——TAPD
灰度发布
产品上线发布非面向用户全体,而是有策略有节奏地逐批放量。 强调早发布、常发布、注重用户反馈。 迭代计划 需求开发 UI设计 每日晨会 时间盒 故事墙 迭代总结 灰度发布 用户参与
腾讯敏捷研发框架——TAPD
迭代计划
在每个迭代中,产品人员根据当前的项目情况以及用户的反馈来对 项目计划中的某些需求进行分解细化,初步确定下一迭代的任务。 在下个迭代开始时,开发人员,产品人员通过IPM会议将本迭代的 任务明确下来,并制定本迭代的详细计划.
迭代考虑的因素 项目紧急程度 解释 即一个功能是不是用户当前非常需要的,如果是,则会 尽量在早期迭代中实现 确保选择的功能点可以在2-3周内完成,对于大的功能 点,需要再进行分解细化 优先选择大量用户的共同需求,对于个性化的需求,可 以在以后完善时实现 每个迭代要实现的特性,尽可能围绕一个主题
四大价值观
个人与交互 高于 流程和工具 可用软件 高于 详尽的文档 客户合作 高于 合同谈判 响应变化 高于 遵循计划
什么是敏捷开发?
敏捷开发主要的几种过程模型
SCRUM 极限编程XP 特征驱动开发Feature Driven Development 自适应软件开发Adaptive Software Development 精益软件开发Lean Software Development 敏捷统一开发过程Agile Rational Unified Process 动态系统开发方法Dynamic System Development Method 水晶系列方法Crystal
XP极限编程
四大价值观
五个原则
沟通
快速反馈 简单性假设反馈 逐步修改 提倡更改 优质工作
沟通
反馈 勇气
XP极限编程
13个最佳实践
计划游戏 小型发布 隐喻 简单设计 测试先行 重构 结对编程 集体代码所有制 持续集成 每周工作40小时 现场客户 编码标准 配合是关键
FDD特征驱动建模