VisualStudio2010敏捷利剑:详解Scrum

随着微软Visual Studio 2010 Ultimate Beta2版本的发布,除了它提供协同一致的ALM(应用程序生命周期)管理工具外,MSF for Agile Software Development过程框架从4.2升级到5.0,并且是以Scrum模型为基础导向扩展,并且结合了VSTS 2010工具的众多特性,从而成为微软.NET相关技术人员手中不可多得的利器。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册虚拟主机、营销软件、网站建设、双河网站维护、网站推广。

1.引言

道是天地万物演变的本体或本原,是存在之根本。一个行业或者一个事物既然现实地存在着,那么它的发展必然遵循着本身的自然规律。软件开发的敏捷之道也是如此,当开发团队为了求得高质量、高效的完成软件产品的交互过程,无论项目管理者还是团队成员都需要全方面地学习,包括工具的熟练使用、学习UML、OOAD等技术和收集前人开发过程中的经验等等,从而使个人以及 团队综合素质的大大增强,这就是为学的过程,最后把这些零碎无序的知识系统化后再全部统统忘掉,达到出手无招、随心所欲,全是下意识自然而然的行动,无变之变,这就是敏捷之道,这可能就是做项目管理及开发的最高境界吧!

敏捷的含义就是速度的最大化。当你咖啡杯从你的手中悄然滑落的时 候,你却下意识地接到了它,这种直线运动是最快的,其实里面蕴藏着一种意境和思想。这种下意识就是一种境界思维,它没有经过大脑,条件反射的方式以最短最 快的速度取得了结果。

这种现象又让笔者又联想起了李小龙的截拳道,它的一个特点就是充分运用节约的经济线(两点间的直线)的技 击原理,所以它打击对方的机会和实用性最佳,而且最快,这种下意识的境界就是一种太极哲理,搏击之最高境界。万物皆有道,这都是从道的本体中演化出来的!

2.敏捷之简易

简单通常是一个好的设计具备特征,这些设计是经典的并且很难再改进的。敏捷团队注重简易,这样做可以消除那些没必要的复杂。只需专注于开发当前所 需要的功能和最简单的设计。如果能使用简单来帮助一个敏捷团队开发出马上就需要的软件,而不浪费人力和资源,这就是他们给那些投资的用户以最好和最直接利 益的方法。

我们再从《易经》中的简易、变易、不易的角度思考,可以把它看做是对易理的高度抽象易理对宇宙的高度抽象 简易指变与不变都是道的体现,自然而然而非刻意求变,万事万物都只是按其本性生生不息而已。所以,简易之理是对大自然万事万物高度的抽象;变 易是指变化,任何生生不息都是处在不断的变化之中,没有停止过,宇宙中的万物没有一样东西是不变的;不易是指万事万物的变化都有其不变的本 性,同时又有当变则变、不当变则不变的含义。宇宙中万事万物虽然不断变化着,但是却有一项永远不变的东西存在,就是能变出万事万物的那个东西,是 永恒存在的,中国传统哲学里称之为道。

3.Scrum 敏捷过程模型

在Visual Studio 2010中,项目过程模板变化很大,微软把Scrum作为基本Agile开发模型(Scrum模型为基础参考导向),如图所示。TFS2010中集成了 MSF for Agile Software Development v5.0,可操作性上又融合了敏捷等软件开发流程思想模型。

Scrum最初的含义是英式橄榄球争球队,是敏捷软件开发模型中的一种。Scrum 将软件开发团队比拟成橄榄球队,有明确的最高目标,熟悉开发流程中所需具备的最佳技术,具有高度自主权,紧密地沟通合作,以高度弹性解决各种挑战,确保每天、每个阶段都明确的朝向目标推进。Scrum令人痛苦之处就在于你不得不根据自己的具体情况来对它进行调整,如果能够随心所欲应变,那么你就会体会到它的强大。

 
Scrum for Agile

敏捷Scrum开发过程框架中,产品backlog是 Scrum的核心,也是一切的起源。从根本上说,它就是一个需求、或故事、或特性等组成的列表,按照重要性的级别进行了排序。它里面包含的是客户想要的东 西,并用客户的术语加以描述,通常叫它故事(story),有时候也叫做backlog条目:

 
表1 产品BACKLOG(示例) #p#

我们的故事包括这样一些字段:

ID:统一标识符,就是个自增长的数字而已,以防重命名故事以后找不到它们。

名称(Name):简短的、描述性的故事名。它必须要含义明确,这样可以跟其他故事区分开。

重要性:(Importance):产品负责人评出一个数值,指示这个故事有多重要。例如:

20或100,分数越高越重要。避免优先级这个说法,因为一般说来优先级1都表示最高优先级,如果后来有其他更重要的东西就麻烦了。它的优先级评级应该是什么呢?优先级0?优先级-1?

初始估算(Initial estimate):团队的初步估算,表示与其他故事相比,

完成该故事所需的工作量:最小的单位是故事点(story point),一般大致相当于一个理想的人天(man-day)。

如何做演示(How to demo):它大略描述了这个故事应该如何在sprint 演示上进行规范,本质就是一个简单的测试规范。

笔者借鉴过很多敏捷书籍和在实战的应用中尝试过很多字段,但最后发现,只有上面提到的六个字段我们会一直使用下去,这也就是一种最简化。我们可以把backlog存放在TFS2010服务器上,或者共享在TFS2010的Excel或者Project文档里面,这是为了多个用户可以同时编辑它。

 
在TFS2010中的Project Product Backlog模板

虽然正规意义上 这个文档应该归产品负责人所有,但是我们并不想把其他用户排斥在外,开发人员常常要打开这个文档,弄清一些事情,或者修改估算值。VSTS 2010已经支持Scrum的Product Backlog的模板,并且可以进行Backlog的迭代,如下图所示。

 
Product Backlog模板

打开Product Backlog,建立User Story,如图所示。

 
建立User Story

编写相关Story条目内容,如图所示。

 
编辑Story条目

当编写完Story条目内容后,我们可以在Web端的Project Portal查看user story的内容与条目。

 
打开Web端的Project Portal

 
Project Portal显示条目

在share point的Project Portal中,我们可以对该story进行编辑等操作,如图所示。

 
share point站点中编辑条目#p#

我们可以对表1进行扩展,如表2所示。

 
产品BACKLOG扩展

Backlog组件 ID Important Estimate How To Demo Notes

组件用处 事件的编号 事件的重要性,用一个分数来表示。分数越高越重要(但重要的事件,内容不一定多) 初始的估算,也就是完成某个事件所需要的工作量。 事件的简单测试 用简洁的语句进行注解、说明等。

Backlog组件 Track Components Requestor BugTrack

组件用处对产品的分类产品由哪些部份组成记录最先提出的需求,并在后续的开发过程中进行反馈。

注:有颜色的组件可以说是必需的!

在TFS2010中支持Reports的生成Excel报表,内容包括backlog、工作项等。

 
创建报表Excel

 
选择创建报表Excel生产类型

 
生成Excel报表

在Scrum敏捷框架中,最强的就是快速应对客户需求的灵活变化。Scrum中有四个很标致性也很核心的词:backlog , sprint、迭代、反馈。结合VSTS 2010的工具,可以快速进行story的变化,并且快速完成。例如,在产品 BACKLOG(参考表1),在每个Spint中,实现特性How To Demo,通过VSTS 2010的Architecture绘制SSO统一登录的UML顺序(如图所示),完成Spint Demo(可以是Spint中一部分)。

 
绘制SSO统一登录的UML顺序

敏捷软件开发的核心是:使用项目行为的轻 量但足够的规则以及使用以人为本的规则及面向沟通的规则。Scrum的Sprint计划会议非常关键,应该算是Scrum中最重要的活动(这当然是我的 主观意见)。要是它执行的不好,整个sprint甚至都会被毁掉。

 
TFS2010集成平台的开发项目的合作

Scrom敏捷过程管理实施流程,如图所示。将整个产品的 backlog分解成Sprint Backlog,这个Sprint Backlog是按照目前的人力物力条件可以完成的。召开sprint planning meeting,划分,确定这个Sprint内需要完成的任务,标注任务的优先级并分配给每个成员。注意这里的任务是以小时计算的,并不是按人天计算。进 入sprint开发周期,在这个周期内,每天需要召开Daily Scrum meeting。整个sprint周期结束,召开Sprint review meeting,将成果演示给Product Owner.团队成员最后召开Sprint retrospective meeting,总结问题和经验。这样周而复始,按照同样的步骤进行下一次Sprint。

最终结果是,每个Sprint都产生出一个可 见的、可用的交付产品,并向用户进行展示。一个增量可能是中期的,也可能是可交付的,但是它应该是独立的。 Sprint的目标是完成尽可能多的优质软件来确实质性进展,而不是用纸上里程碑(paper milestones)作为依据。

4.Scrum 索引卡

在大多数sprint 计划会议上,大家都会讨论产品 backlog中的故事细节。对故事进行估算、重定优先级、进一步确认细节、拆分,等等都会在会议上完成。敏捷开发中提倡建立物理索引卡。要想收到好的效 果,不妨创建一些索引卡,把它们放到墙上。笔者在这里也有个扩展方法,可以制作电子版的索引卡,如图所示。可以 清晰、直观的显示燃尽图和索引卡等信息。

 
Scrom敏捷过程管理

5.总结

Visual Studio 2010的增强的功能特点结合MSF for Agile Software Development V5.0中的Scrum敏捷过程框架,使从事在微软.NET技术相关工作方向的人们拥有了一把利剑。

如果我们把微软Visual Studio 2010工具,看成是敏捷开发团队中,在不同阶段中所使用的剑,随着你的功夫和意境提高,你手中的利器就显着不重要了,无剑的境界便是最高的追求。敏捷有时也为灵感所致,如果敏捷团队的人们能锻炼出这种境界,便是软件开发之最高境界,那就是敏捷之道了。所以,敏捷的开发团队也是讲究天人合一(团队敏捷意识合而为一),敏捷也是哲学的。

内因就是驱动员工愿意干事情,要有内在驱动力。每个人敏感程度不同,给每个类型程序员的驱动力也不同。所有的员工自动自发的工作都是有内因的,扫描你的团队成员属于哪种类型。如果程序员是危机风险型,你就提供他创新的机会和平台,发挥他的最大内因驱动力等。当然,这都必须结合外因才会可度量、可操作、可监控和有目标方向。

当前标题:VisualStudio2010敏捷利剑:详解Scrum
本文网址:http://www.hantingmc.com/qtweb/news46/70096.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联