读书笔记:《敏捷估计与规划》
项目需要,在传统与敏捷间跳跃,四不像的管理也是在过程管理的实际操作中产生的新的方式,适用就好,不断的学习和改进。
敏捷,拥抱变化,注重反馈。敏捷项目依旧是项目,无法超越项目管理的5个过程。
敏捷是方法是手段。微化项目管理的5个过程,分解成更容易管理和控制的更小的项目,有效控制项目过程管理中的风险,最大化项目价值(对接收者也是对交会者)
价值、整体、不确定、重作、松弛度、规模和时间、故事和任务,通过这本书,对敏捷有了更多的理解。
-----------------------------------------------------------------------------------------
规划--执行--调整,不断的学习和调整是敏捷的核心。
规划就是尝试找到一个解决总体的产品开发问题(功能、资源、进度)的最佳解决方案,承认计划在早期的不准确性,从而经常进行重新规划,消除这种不准确,将更多的新知识加入到计划中。通过规划,确认要构建什么?通过规划减少项目风险,降低项目不确定性,提供更好的决策支持,传递项目信息,建立项目中的信任。通过可靠的估计,建立可靠的交付,建立项目中的信任。
计划是从某个角度对未的看法。优秀的计划就是项目得益相关者认为的、足够可靠的、可以作为决策基础的计划。完整的、有效的计划是在整个过程中不断迭代实现的,规划的目的是找出最佳答案。敏捷的计划是愿意并希望修改的计划,敏捷计划会根据实际的变化就行修改,而且方便修改,可以根据功能或是需求的增减进行修正。敏捷的项目目标与客户满意度的条件相一致。
敏捷更关注项目参与过程中人的因素,提倡交互与合作,希望所有的项目参与者都把自己看作朝向一个共同目标前进的团队的一员。
用户故事是指完成和交付具有用户价值的功能,是用来表示软件需求的技术,是从系统用户或客户角度出发对功能的一段简单描述。一般可以表示为:作为...执行...得到... (5W1H ?)
迭代与发布是两种不同的概念,因此有三个层次的规划:发布规划、迭代规划、每日规划。
规模估计和时间估计相对独立。由需求出发,进行规模规划,进而推算时间,最终完成进度表。使用相同的用户估计点值进行估算,然后通过用户故事点值再换算成适当的可执行内容。规模估计与时间估计的换算需要使用到“速率”,通过速率这一中间因子将规模转换成时间。
我们是一个整体,取代个体对于任务、功能、故事的承诺。所有人员参与估计,同时要承认估计的不准确性。估计的重点不在于准确性而在于合理性。迭代的对估算进行重作,是在不断变化的速率下对估算结果进行重新估算。(变化,变化,还是变化。)
理想日:全负荷、全身心投入的工作日。注意区分“理想时间”与实际“消耗时间”的差别。故事点--理想日--速率--进度
为价值做规划,功能价值决定其优先级。如何有效确认客户需求成为关键:成本、需求、优先级。合意性:必须功能、功能增强、额外功能、亮点、附加值......
通过故事量、数据边界、操作边界,以及确定性和不确定性对用户故事进行分割,并在迭代计划中将计划中的用户故事分解成任务,即分解成有价值的工作。需要考虑帮事完成的整个过程,包括设计、开发、测试等,对故事承诺而不是对任务,故事由众多人完成的作为集体性活动应保持统一的承诺。
不确定内容不确定越多,迭代应越短,通过频繁的交互获取更多的反馈。速率的取值也应在一定范围内,以应用项目估计的不确定性。同时建立缓冲区有效控制风险。
Burnown表示功能点数与迭代执行数之间的关系,因此应更多的关注未完成的工作量,必要时重新估算。
成功进行敏捷估计和规划的12条原则
- 让整个小组参与
- 在不同层次上进行规划
- 使用不同度量单位,让对规模和持续时间的估计保持独立
- 用功能或者日期来体现不确定性
- 经常重规划
- 跟踪进度并沟通
- 承认学习的重要性
- 规划具有适当规模的功能
- 确定功能优先级
- 把估计和计划建立在事实上
- 保留一些松驰度
- 通过前瞻规划协调多个小组
相关文章
- 项目管理(二)- 规划项目
- Elasticsearch hadoop使用示例 & 运维实战之集群规划 &presto-elasticsearch connector
- LeetCode-799. 香槟塔【动态规划,滚动数组】
- Leetcode学习计划之动态规划入门day1,2(共4题)
- 基于未知环境下四旋飞行器运动规划应用研究(Matlab代码实现)
- 基于球向量的粒子群优化(SPSO)算法在无人机路径规划中的实现(Matlab代码实现)
- 【优化调度】基于改进遗传算法求解带时间窗约束多卫星任务规划(Matlab代码实现)
- 915. 分割数组-动态规划算法
- 读书笔记:《敏捷估计与规划》
- 运维技术规划
- 数据结构和算法 十九、动态规划