伪代码,是对Scrum框架的完整表述。
void
run_scrum() {
const int Sprint_Length = 10 ; //迭代周期 以天算
int velocity = get_past_performance(); //团队开发速率
// Scrum 中的三个角色
Role team, product_owner, ScrumMaster;
// Scrum 中的制品
Product_Backlog product_backlog; //产品待办事项
Sprint_Backlog sprint_backlog; //sprint待办事项
Burndown_Chart sprint_burndown_chart, release_burndown_chart; //sprint燃尽图 ;发布燃尽图
Product_Increment product_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); //进行sprint计划会议
// 每一次for循环为一个工作日
for (num_of_day = 1 ; num_of_day <= Sprint_Length; num_of_day ++ ){
run_daily_scrum_meeting( & sprint_burndown_chart);//进行每日scrum会议
do_development_activity(sprint_backlog, & product_increment); //进行开发工作
}
run_sprint_review_meeting(product_backlog, product_increment); //进行sprint评审会议
run_retrospective_meeting(); //进行团队回顾会议
update_product_backlog( & product_backlog, & release_burndown_chart); //更新产品待办事项
update_velocity( & velocity); //更新团队开发速率
}
}
const int Sprint_Length = 10 ; //迭代周期 以天算
int velocity = get_past_performance(); //团队开发速率
// Scrum 中的三个角色
Role team, product_owner, ScrumMaster;
// Scrum 中的制品
Product_Backlog product_backlog; //产品待办事项
Sprint_Backlog sprint_backlog; //sprint待办事项
Burndown_Chart sprint_burndown_chart, release_burndown_chart; //sprint燃尽图 ;发布燃尽图
Product_Increment product_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); //进行sprint计划会议
// 每一次for循环为一个工作日
for (num_of_day = 1 ; num_of_day <= Sprint_Length; num_of_day ++ ){
run_daily_scrum_meeting( & sprint_burndown_chart);//进行每日scrum会议
do_development_activity(sprint_backlog, & product_increment); //进行开发工作
}
run_sprint_review_meeting(product_backlog, product_increment); //进行sprint评审会议
run_retrospective_meeting(); //进行团队回顾会议
update_product_backlog( & product_backlog, & release_burndown_chart); //更新产品待办事项
update_velocity( & velocity); //更新团队开发速率
}
}