首页 理论教育 敏捷重构:软件实践教学模式

敏捷重构:软件实践教学模式

时间:2023-11-20 理论教育 版权反馈
【摘要】:Scrum是一种兼顾计划性和灵活性的敏捷开发过程,原是橄榄球运动的一个专业术语,表示“带球过人”的动作。把软件开发流程取名为Scrum,寓意团队在开发项目时,要像橄榄球比赛队员一样迅速、富有战斗激情、在既定计划下你争我抢地完成项目。极限编程和Scrum概念的提出极限编程和Scrum过程都是敏捷软件开发中最富有成效的方法学。2001年,施瓦伯与麦克·比窦合著了《敏捷软件开发——使用Scrum过程》一书,介绍了Scrum方法。

敏捷重构:软件实践教学模式

Scrum是一种兼顾计划性和灵活性的敏捷开发过程,原是橄榄球运动的一个专业术语,表示“带球过人”的动作。在橄榄球比赛时每次冲刺前都有一个计划的安排过程,但冲刺开始后则由队员在原计划的基础上斗志昂扬、随机应变。把软件开发流程取名为Scrum,寓意团队在开发项目时,要像橄榄球比赛队员一样迅速、富有战斗激情、在既定计划下你争我抢地完成项目。

“带球过人”需要计划!

●在球场上:在每段比赛之前,双方都要摆开阵势,并计划本段的进攻或防守路线和策略,教练和队长都可以参与计划。

●在软件开发公司:在每个迭代之前,团队领导者都应该做好当前迭代的计划,尤其是需求项的优先级排序、选择当前迭代的工作、设定必须完成的内容等。

“带球过人”也需要灵活应变!

●在球场上:当哨声响起,尽管队员们努力按照既定计划推进,然而球场上瞬息万变,队员不可能实时按照教练或队长的指令亦步亦趋地行事,而是要靠平时训练中形成的素养见机行事,达成目标。

●在软件开发公司:在每个迭代开始后,团队领导不可能也不需要亲自介入每件事情,而是应该由具体执行的人选择如何去做。团队领导要做好的是协调资源、解决困难、提供指导,以达成目标。

极限编程和Scrum概念的提出(www.xing528.com)

极限编程和Scrum过程都是敏捷软件开发中最富有成效的方法学。

(1)什么是极限编程?

Kent Beck在20世纪90年代初与Ward Cunningham共事时,就一直共同探索新的软件开发方法,希望能使软件开发更加简单而有效。Kent Beck仔细观察和分析了各种简化软件开发的前提条件、可能性以及面临的困难,1996年3月在为戴姆勒克莱斯勒公司所做的一个项目中引入了新的软件开发观念,即极限编程(eXtreme Programming,简称XP)。

极限编程是一个轻量级的、灵巧的软件开发方法,也是一种非常严谨和周密的方法。极限编程的基础和价值观是交流、朴素、反馈和勇气。任何一个软件项目都可以从四个方面进行改善:加强交流、从简单做起、寻求反馈、敢于实事求是。极限编程是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的短周期;通过积极的交流、反馈以及其他一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。

(2)Scrum方法的提出。

1986年,竹内弘高和野中郁次郎阐述了一种整体性解决方案以提高新产品开发的速度和灵活性。1991年,DeGrace和Stahl在Wicked Problems,Righteous Solutions一书中将这种方法称为Scrum,即竹内弘高和野中郁次郎提到的橄榄球术语。1995年,在奥斯汀举办的OOPSLA’95会议上,萨瑟兰和施瓦伯联合发表的论文首次提出了Scrum概念,并在随后几年的合作中,将其经验以及业界最佳实践融合起来,形成Scrum过程。2001年,施瓦伯与麦克·比窦合著了《敏捷软件开发——使用Scrum过程》一书,介绍了Scrum方法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈