srum学习回顾
Agile的哲学是“结果是最重要的,所有的过程手段都是为结果服务的;
如果过程导致结果不理想,那就改进这个过程”
经验主义的三个支点是透明(transparency)、观察(inspection)、调整(adaptation)
Scrum是基于经验主义建立的敏捷开发框架,是一个增量迭代的开发过程由KenSchwaber创建
Scrum强调通过经验性的过程,逐步检查和调整团队的协作和工作模式,持续改善。
团队在哪些方面做得好,应该坚持;哪些方面有待改进,并挖掘其本质原因,
定义具体的改进计划,以在下一个sprint去切实实施。
为保证回顾会议的有效,组织和团队都应该承诺愿意做出适应性的改变
Scrum适合开发复杂多变的产品
Scrum增量迭代开发过程:
伪码来源http://www.infoq.com/cn/articles/scrum-pseudo-code
voidrun_scrum(){
constintSprint_Length=10;
intvelocity=get_past_performance();
//Scrum中的三个角色
Roleteam,product_owner,ScrumMaster;
//Scrum中的制品
Product_Backlogproduct_backlog;
Sprint_Backlogsprint_backlog;
Burndown_Chartsprint_burndown_chart,release_burndown_chart;
Product_Incrementproduct_increment;
//开始项目的三个准备条件
setup_team(team);
define_Definition_of_Done(team,product_owner);
initial_project(&product_backlog);//标红的为输出参数,将带回值,下同
//每一次while循环为一次迭代
while(!is_empty(product_backlog)){
run_sprint_planning_meeting(product_backlog,velocity,&sprint_backlog);
//每一次for循环为一个工作日
for(num_of_day=1;num_of_day<=Sprint_Length;num_of_day++){
run_daily_scrum_meeting(&sprint_burndown_chart);
do_development_activity(sprint_backlog,&product_increment);
}
run_sprint_review_meeting(product_backlog,product_increment);
run_retrospective_meeting();
update_product_backlog(&product_backlog,&release_burndown_chart);
update_velocity(&velocity);
}
}