yuzhicheng@innobuddy.com
软件开发的不确定性
Scrum 1995
Crystal 1996
XP 1996
FDD 1998
Martin Flower 出版 《重构》1999
Martin FLower 发表 《持续集成》2000
17位专家共同起草的敏捷宣言发表 2001
原则,实践,模式
对我们而言,最重要的是通过尽早和不断交付有价值的软件满足客户需要。
我们欢迎需求的变化,即使在开发后期。敏捷过程能够驾驭变化,保持客户的竞争优势。
经常交付可以工作的软件,从几星期到几个月,时间尺度越短越好。
业务人员和开发者应该在整个项目过程中始终朝夕在一起工作。
围绕斗志高昂的人进行软件开发,给开发者提供适宜的环境,满足他们的需要,并相信他们能够完成任务。
在开发小组中最有效率也最有效果的信息传达方式是面对面的交谈。
可以工作的软件是进度的主要度量标准。
敏捷过程提倡可持续开发。出资人、开发人员和用户应该总是维持不变的节奏。
对卓越技术与良好设计的不断追求将有助于提高敏捷性。
简单——尽可能减少工作量的艺术至关重要。
最好的架构、需求和设计都源自自我组织的团队。
每隔一定时间,团队都要总结如何更有效率,然后相应地调整自己的行为。
完成最小可用的产品,通过学习和反馈迭代优化。
优先级的艺术
有价值的模糊估算法
简化的功能点估算法,来自NESMA
(数据*7 + 操作*4) * 9 = 工时数
发现和解决根本问题
目标结果法
决策分析模型
你选择还清债务还是支付利息
自组织团队要自我决择如何最好地完成他们的工作,而不是由其他外部团队来决定。
是结果而不是先决条件
个人练习,团队练习
开发+IT运维
2009
Scrum是一种敏捷软件开发的方法学,用于迭代式增量软件开发过程。Scrum在英语是橄榄球运动中争球的意思。
同时,Scrum也是组织变革的方法论。
透明,检查,调整
角色,事件,工件,规则
四大支柱
Scrum Master:教练和团队带头人,确保团队合理的运作Scrum,并帮助团队移除实施中的障碍;
产品负责人:确定产品的方向和愿景,定义产品发布的内容、优先级及交付时间,为产品投资报酬率(ROI)负责
开发团队:一个自组织跨职能的小团队,人数5-9人,团队拥有交付可用软件需要的各种技能。
其他:用户,客户,经理
说说每日站立会
Scrum可以部分实施,但那就不是Scrum了
Scrum不仅用于开发,也可以用于其他部门管理项目,甚至可以用于每个人的家庭生活
学习新技术,新技能
学会用团队的方式思考和工作
学会在一个短的时间周期内交付可以工作的成果
立即开始,限时完成
渐进敏捷
用Scrum思想来推进实施Scrum
企业转型团队(ETC)
高层支持,创造环境
有序推进(Backlog VS 回顾改进)
改进团队(IC)
自动化测试研究小组
持续集成研究小组
Scrum Master培养小组
在公开透明的前提下,基于官方经典的Scrum指南进行实践并根据自身特点持续改进流程,最终形成自组织团队。