1.敏捷项目管理基础
1.1 项目管理和迭代开发方式项目的定义:一系列活动,有一个明确的目标或目的,并且必须在特定的时间和预算内依据规范完成
项目管理:运用技能,方法与工具,为满足或超越项目有关各方对项目的要求与期望,所开展的各种计划,组织,领导控制等方面的活动。
项目的三角:
项目管理的目的:在有限的资源投入条件下,在要求的时间内完成既定的项目目标。
迭代开发模式
迭代式开发也被称作迭代增量式开发或迭代进化式开发,是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。
在迭代式开发方法中,整个开发工作被组织为一系列的短小的、固定长度的小项目,被称为一系列的迭代。
每次迭代都包括了定义、需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成 系统的一部分功能或业务逻辑的开发工作。再通过客户的反馈来细化需求,并开始新一轮的迭代。
1.2 Scrum方法——3 3 3 5
3个理论支柱:-高透明性(Transparency)- 检查(Inspection)-适应(Adaptation) | 3个工件:-产品待办列表-迭代待办列表-潜在可交付的产品增量 |
---|---|
3个角色:-产品负责人Product Owner-Scrum Master-开发团队 | 5个事件:-迭代计划会议 -迭代-迭代评审会议 -每日立会-迭代回顾会议 |
Scrum是一种敏捷项目管理框架,用于开发和维护复杂产品,是一个增量的、迭代的开发过程。以下是其详细介绍:
Scrum的原始含义是指英式橄榄球次要犯规时在犯规地点对阵争球。1986年,竹内弘高和野中郁次郎在《New New Product Development Game》文章首次提到将Scrum应用于产品开发。1993年,Jeff Sutherland首次将Scrum用于软件开发。1995年,Jeff Sutherland和Ken Schwaber规范化了Scrum框架,并在OOPSLA 95上公开发布。2001年,敏捷宣言及原则发布、敏捷联盟成立,Scrum是其中一种敏捷方法。
1.3 KANBAN方法
看板:一种可视化流程管理系统
三个原则:可视化,限制在制品,管理流动
五个核心实践:
Scrum方法还是KANBAN方法都是为了顺畅,高质量地交付有用的价值
1.4 风险管理 风险管理规划是指决定如何处理并进行项目的风险管理活动
四个阶段:
1.风险识别
2.风险分析
3.风险应对计划
4.风险监控和控制
2. 需求管理与版本规划
2.1需求收集与分析:
需求的定义: IEEE软件工程标准词汇表(97年)中定义需求为:
➢用户解决问题或达到目标所需的条件或权能(Capability).
➢系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。
➢一种反映上面(1)或(2)所描述的条件或权能的文档说明。
➢业务需求
➢用户需求
➢功能需求
➢非功能需求、软件需求规格说明等
2.2需求管理流程: 需求收集–>需求分析–>需求分解与澄清–>需求优先级与排期
• 原始需求–>用户需求
• 需求获取的方法: 文档与数据,访谈,调查问卷,原型,需求讨论会,竞品分析
• 用户需求–>产品需求
• 针对待开发软件提供完整,清晰,具体的要求,确定软件必须实现哪些任务
• 工具:影响地图:why who how what
• Epic Story史诗故事:产品的主干任务,非常大
• Feature特性:描述了产品的具有一个完整的功能,特性也比较大,持续数周,横跨几个迭代
• 用户故事:特性一般可以拆分为多个用户故事,每个用户故事都对用户有价值。但是单个用户故事却可能不能被正常使用或者是整个功能的细分场景
• 三要素:角色,活动,价值
• 角色:谁使用这个功能
• 活动:需要完成什么样的功能
• 商业价值:能带来什么样的价值
• 格式:AS a,I want ,so that | 作为一个<角色>,我想要<活动>,以便于<商业价值>
• 卡片(Card):用户故事写在小的记事卡片上
• 交谈(Conversation):用户故事背后的细节来源于和客户或者产品负责人的交流沟通
• 确认(Confirmation):验收测试确认用户故事被正确完成
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。