Scrum格局不相符中国,进行连忙

原文:http://www.almnetworks.net/zh-CN/post/2010/07/01/Beijing-NET-User-Group-(2010-6-26)-Scrum-DoesNot-Work-in-China.aspx

原文:http://www.almnetworks.net/zh-CN/post/2010/08/14/visual-studio-2010-agile-scrum-development.aspx

遵照事先的计划,我在上周二列席了微软新加坡.NET俱乐部设置的Visual Studio
2010专场讲座,和我们一起分享了有关怎么着在Visual Studio
2010上运行Scrum格局的内容http://sinaurl.cn/7hLbb

基于Forrester
Research二零一九年第二季度的一份钻探告诉,在跨越1000名专业开发人员中,拔取高效情势展开软件开发的已经有10.9%用到了Scrum形式,在拥有的登时开发情势中名列第一位,而在所有的软件项目管理情势中,敏捷形式更加被35%的开发人士所选择。当然,研究告诉为大家展现的仅仅是一个总括学的意见,到底你的支出集团应该运用什么的付出形式,这仍然要按照各自不同的开发环境,人士构成,公司架构以及文化背景来决定。

即便如此没有可以做到自身这113页的ppt,可是参加的开发人士的反馈和交互仍然让自家异常感动。其实每三遍讲述Scrum的内容的长河都是可怜享受的长河,Scrum不同于一般的技术,他涉及了累累知识,工作习惯,项目管理,互换技巧的情节,当然很多的事物并不是Scrum自己的始末,然而在其它的开销集团中要举行一种流程,那么更多更难的自然是文化的争论。今日看看了一段非常好的视频,就是关于Scrum与知识的涉嫌,叫做“Scrum情势不合乎中国!?”。注意后边的惊讶号和问号。我一度和成千上万人谈论过有关Scrum在国内的放大难度,有广大人也以为Scrum这种崇尚自我约束和自我管理的法门不可能在中华有效的实施,可是其实呢? 在这个录像里,来自荷兰王国的Bas
Vodde
使用了大气的总计数据表达不同文化背景的众人对此快捷和Scrum格局的接受程度,使用Hofstede
http://en.wikipedia.org/wiki/Geert_Hofstede)文化维度值,对那些数据开展辨析后得出了不同文化中实现Scrum的难度和可能遭受的题目。其实我更感兴趣的是她对这一个当然相当复杂问题所采取的分析方法,很值得大家借鉴。

lovebet爱博体育 1
图1:lovebet爱博体育,Forrester 关于敏捷形式的调查报告

http://www.infoq.com/cn/presentations/bas_scrum_china

Visual Studio 2010
是微软在二零一零年1月公布的崭新时代的购并开发条件,配合同时披露的Team
Foundation Server 2010(TFS——团队服务器)
,为开发公司提供了健全的应用程序生命周期管理(ALM)工具和平台。在2010这么些版本中,对于快捷,或者说Scrum形式的支撑是划时代的。即便微软的Visual
Studio Team System从二〇〇五年启幕颁发的时候就提供了敏捷流程模板(也就是MSF
Agile)模板,不过2008版此前的这个敏捷流程模板都是基于MSF(微软化解方案框架)的;那个框架是微软本着自己的研发团队的最佳实践举行抽取总括出来的,与大规模敏捷开发社区里边所流行的诸多快速方法并不是很吻合,造成了支出团队在推行的时候有很多不适用的地方。由此,微软在支付2010本子的过程中,大量的收听了飞跃开发社区中的声音,在自己的MSF
Agile
5.0的模版中展开过多针对性疾速,更适用的就是Scrum开发形式的改进,使得2010本子中所集成的MSF
Agile
5.0的沙盘分外适合我们来举行Scrum格局的付出集团。当然,微软的出品为了追求通用性,在MSF
Agile
5.0的沙盘中并不曾完全使用Scrum情势通行的称谓和流程;同时,微软在两周前又公布了一个纯粹的Scrum流程模板以供那一个愿意完全采纳Scrum情势的付出集团利用,当然这多少个模板现在依然是Beta版。

除此以外,感谢涵涛,心文,张博,Belinda,瑞涛和所有参加运动的众人,下边这张图是给您们的:)

本身个人觉得,开发集团拔取哪一个模板并不是最关键的,重要的是大家需要在付出进程中不断地立异过程,并对那一个模板举行定制,以便适合我们和好的开支流程。这也是干吗TFS所提供的是一个模板,因为它的目的就是梦想大家在这一个模板的基本功上不停的改进,最后找到符合

lovebet爱博体育 2 

祥和付出公司的流水线。其实那也很适合Scrum格局的见识;简单一点来说,Scrum情势是一种针对繁复项目的流水线社团措施的框架,其目的是为着让我们付出出更高质料的软件出品。围绕的这多少个目标,Scrum情势为大家提供一个社团模型,一层层工具和一个简练的流水线。在如此一个框架之下,Scrum情势要求大家不断地改革流程以达成契合团队的最佳状态,那种对改进的渴求也是Scrum模式区别于其他开支流程的最紧要特点之一。

何以Scrum格局适合软件开发?

软件行业迄今截止已经有跨越40年的历史,很多在软件工程中的管理艺术都是在相连追寻中立异而来的。早期的软件行业由于规模有限,绝大多数属于作坊型,几人在同步靠着自己的才智创制出软件出品;不过当协会规模不断扩展的时候,开发人士起首需要一种模型来社团越来越粗大的社团,满意越来越复杂的要求。因为没有经历可循,软件开发团队将洋洋价值观工业工程的法门借鉴到软件行业,由此出现像“瀑布式”的模子。“瀑布式”模型要求我们在骨子里的开支工作起来从前举办过多特别细心的计划和计划,力图将不可控的支付过程细化成可以控制的颗粒,以达成对复杂项目的整体控制目标。不过“瀑布式”模型忽视了软件项目的一个精神特征,这就是需要的不确定性;我们无法像造汽车一样在上生产线从前把拥有的组件都统筹好,所有的流水线都确定好,再拓展装配;因为此外软件在实际上展开编码此前都未曾人知情这么些代码应该怎样贯彻,而且每一个开发人士的档次不同,习惯不同,写出的代码也是例外的;再添加客户对于软件的需要也是在不断转变的,一年在此之前的业务流程很可能在一年过后就发出的变型,假诺还遵照事先的急需开展支付,那么交付的时候自然是无力回天满足要求的;更着重的事,在客户没有观望仍旧实际操作软件出品在此以前,他们永远也不能了解地告知您他们要的到底是怎么。因为这各类原因,造成了软件开发不可以拔取传统的工程措施举办团队,因为其自身是一种需要借助于开发人士智慧的革命性行为,也致使了我们的软件项目中有很大一部分是没戏的。

Scrum格局的出现正是基于对于软件开发行为实为的认识,提供了一种松散的框架,让我们拔取一种探索性的流水线方法来社团自然就是探索性的开销进程;从根本上满足了软件开发本身对于流程的要求。这种方法论实际上是依据爱德华(爱德华)?戴明所提出的戴明环的管制办法;戴明环理论提议:人类在开展其他扑朔迷离活动时,得到成功的最有效过程要透过:Plan
计划– Do执行 – Check 检查–
Act立异,多少个子过程,并不停的迭代以便找到最佳的主意来化解问题。那一个理论不是针对性软件开发提议的,不过软件开发本身其实就是最卓绝的扑朔迷离活动。

lovebet爱博体育 3 
图2:戴明环此间我们再回头看看Scrum的流水线,Scrum的流程首要包含以下内容:

  • (P) Release/Sprint Planning:发布/迭代计划
  • (C&P) Daily Scrum:每一日回顾
  • (C&A) Sprint Review:迭代出品检查
  • (A) Sprint Retrospective :迭代流程检查

大家得以见到,Scrum情势的流水线与戴明环仅仅相扣。有无数觉得快捷形式会削弱计划的效能,其实不然,敏捷模式更加强调计划,而且强调进一步频繁的计划,比如:天天回顾这么些流程就要求我们的团体每个成员每一日中午用15分钟的刻钟来解惑3个问题:

  1. 你后天做了咋样?
  2. 你明日计划做哪些?
  3. 有什么问题阻碍你的支出进程?

事实上这正是对此在此以前支付内容的检讨,同时也是对接轨开发内容的计划经过。

Scrum格局需要怎么着的工具来实现?

对于使用什么的工具来贯彻Scrum模式,现在也有成千上万不比的见识。其实有成千上万人以为白板和即时贴就是最好的工具,其实对于小型团队来说这实在是最得力而且最经济的点子。可是假若设想到软件商店的保管要求(工作量总括等),远程团队,开发工具集成,代码质料控制,发表先前时期扶助等等;大家仍然需要一个莫大集成的阳台和一整套工具来支撑我们的支出公司。

lovebet爱博体育 4 
图3:白板和即时贴

Visual Studio
2010所提供的购并开发环境可以满意大家上述的一多级需求,襄助大家的开支团队更好团队开发,匡助我们的管理层更好地掌控开发过程,协助软件商店支出出更高质地的出品。

Scrum格局对于工具的要求,重要会聚在偏下一个地点:

  1. 协会团体:满足PO (产品经营),Scrum Master
    (流程总裁)和开支公司管理,以不同的权力访问团队项目并对不同角色提供个性化的信息支撑的力量。
  2. 出品要求记录和跟踪:对此Product Backlog Item (PBI
    产品要求列表)的增长,编辑,优先级排序以及交付开发社团随后举行跟踪的能力。
  3. 流程管理:满意Sprint Planning, Daily Scrum, Sprint
    Review和Sprint
    Retrospective这个流程中对此音讯共享,消息转换和跟踪的能力。
  4. 产质料地:在任何开发进程中,配合Scrum形式达到产出高质地代码和制品的能力。

下边大家就看看Visual Studio
2010类别在这4个方面怎么满意Scrum情势的需求,并支援我们开发出高质量的成品。

Visual Studio 2010上的Scrum团队协会

一个一体化的Scrum开发社团重要由以下角色组成:

  1. Product Owner (PO
    出品经营):我欣赏把PO翻译为产品主任,因为PO的工作职责就是向客户和关系人募集产品需求,举行排序并保证支付公司遵照干系人对急需优先级的渴求开展提交。
  2. Scrum Master (SM 流程主任):对此Scrum
    Master我直接没有更好的翻译,将其译成为流程首席执行官是因为这一角色要确保社团依据Scrum的章程来公司开发,并拉扯社团和PO举办实用的关系,解决团队所境遇的问题。Scrum
    Master和项目主任的分别在于,他进一步倾向于保证支付流程的完整性而不是同情于满意客户/干系人的需要。
  3. 付出公司:付出公司在Scrum情势中是用作一个全部现身的,一般的话团队的高低决定在3-7个人的层面;团队作为一个完好无损向PO负责,而不是各类人对于自己的天职担当。

在Visual Studio 2010
系统中,使用TFS服务器基于角色的权力决定,我们可以很有益地定义出不同的权柄限制。当然,最简便易行的措施是把Scrum团队的角色和TFS的默认角色里面举办映射。

lovebet爱博体育 5 
图4:TFS团队项目标默认角色

Scrum团队角色

TFS团队角色

 

Product Owner

Contributor

 

Scrum Master

Project Administrator

 

开发团队

Contributor

Builders

Project Administrator

根据团队不同人员的职责具体分配

项目干系人

Readers

如果客户愿意更直接的参与项目,可以允许他们直接访问TFS。

表1:Scrum团队和TFS团队角色映射

Visual Studio 2010体系中对需要记录和跟踪的支撑

Scrum情势中的需求重点是应用Product Backlog
Item(PBI产品要求列表)和Sprint Backlog Item (SBI
迭代需求列表)来拓展管制的,在Visual Studio
2010序列中,直接提供了针对这四个列表的做事项查询,并且还提供了Agile
Workbook (敏捷工作簿)扶助大家更好对工作量和任务分配举行调控。

lovebet爱博体育 6 
图5:采纳MSF Agile
5.0模板创制的TFS团队项目并入了对PBI和SBI的管理功用

lovebet爱博体育 7 
图6:Product Backlog 查询结果

上图中就是应用TFS内置的Product
Backlog查询获得的成品需要列表,这一个列表是PO使用的要害工具,我们可以小心到这多少个列表已经遵照Stack
Rank列举办了排序,这也反映了产品需要列表的性状:需要依照客户/干系人对急需项的优先级向公司交付任务;而PO的除了需要不断完善这一个列表,还需要不停和客户关系人开展关联,一边确定那些优先级。

在Scrum格局中,对于优先级的概念决定于多少个因素:需求的商业价值和紧迫程度;此外一个要害的目标就是Story
Point,这些目标表明着脚下急需项的绝对大小,注意这里说的相对大小,很五人将以此值领会为人天或者人时,其实是不精确的,因为在PO准备产品需要列表的过程中,仅凭PO的经历是很难准确的判定出以时间为度量的工作量的,然则相对的大小是相比便于看清的。

另外,从State和Iteration
Path多少个列的值我们可以看到,已经有一对急需在迭代1-2中早就解决。按照这么些音讯,PO可以很容易的对工作进度和剩下需求开展管理。

其余一个根本的询问就是Iteration Backlog查询:

lovebet爱博体育 8 
图7:Iteration Backlog查询结果

Iteration Backlog
中包含了协会在某个迭代中需要形成的需求以及针对这个要求细化出来的切实开支/架构/测试等任务。在Visual
Studio
2010中,微软毕竟起头帮助树形结构的劳作项关系,从上图可以观察,每一个User
Story的底下都挂接着相应Tasks,那么些职责是在Sprint Planning
Meeting中由集体成员团结依据PO对需求的论述举行的细化,同时协会成员还亟需依据经验对这一个Tasks举行估摸,给出基线估值(Original
Estimate)。在付出过程中,团队成员在每日的Daily
Scrum此前需要对前一天的职责立异情形(State),已成功工作量(Completed
Work)和剩下工作量(Remaining
Work)字段的始末;通过这些音信我们就可以拔取TFS自带的燃尽图报表对进度举办询问和预测了。

实际上,纯粹的Scrum模式并不关心已到位工作量(Completed
Work)也就是以成就工作量的值,但是对于利用人天/人时等音信来衡量团队工作量,甚至借助这一个数量想客户收取开发支出的咨询类公司来说,这个音信是特别重大的。

Visual Studio 2010对Scrum流程中重大事件的襄助

Scrum格局中的多少个关键的会议包括:

  1. Sprint Planning Meeting
  2. Daily Scrum Meeting
  3. Sprint Review Meeting
  4. Sprint Retrospective Meeting

这一文山会海的议会是的确展现Scrum形式对于开发流程控制的主题内容,在Scrum情势中另外一个分外首要的定义是:时间箱(提姆(Tim)e
Box),它要求我们对此流程中的事件开展分外严苛的刻钟决定。很五个人在开首开展Scrum情势开发的时候的一个广泛问题是:一个迭代(Sprint)的长短应该是有些?对于那多少个题材其实也尚未标准答案,而必须依照集团的轻重缓急来展开判定。对于此前我所提议的3-7人大小的社团,我会提出利用2周的迭代长度。原因在于1周太短,团队还不能成功真正有商业价值并能够拓展付出的急需;而3周的年月则太长,需求的成形所导致的风险会变得相比较大。

选取迭代式开发的时候实在长度是越短越好,大家连年竭尽的缩水迭代以便可以经过给客户的交付获得更有价值的举报以便对继续的支出进展调整,因而那些尺寸应该是团体刚刚可以完成可提交需求的最长期。大家需要严厉控制的是,迭代的尺寸应该是一个岁月概念儿不是工作量的定义,也就是说尽管2周的年华已经耗尽可是团队还没有到位方今迭代中的所有需求,那么也亟须终止迭代举办付出,而无法采取延长迭代来形成未尽需求。这样做的结果有多少个:1)当前的迭代会以失败告终;2)通过对已经做到需求的付出,大家得以获取客户的申报。很引人注目,战败的迭代是我们不乐意见见的,可是客户对于曾经成功需求的举报比保全虎威将军的信誉更加重大,因为后者是保证我们软件质量(符合要求)的根本手段。

理所当然,这里隐藏着其它一个很重大的题材,在协会不能完全形成需求的意况下怎么还是能提供可提交的成果,这即将借助咱们对此急需定义形式的变迁和Visual
Studio 2010
中对不断集成和更加快捷的测试辅助来贯彻了。在需求定义上,大家需要使用业务导向的要求定义,保证每一个急需的成就都得以交到一定的商业价值。以往的需要往往是功能导向的,不过意义导向的需求对于用户来说不自然有所商业价值,可是工作导向的要求则足以确保这或多或少,比如:我们得以如此定义一个User
Story,作为市场老板,我希望对客户数据开展询问以便可以找到本市的客户并和她俩举办交换。使用这样的急需定义意味着一旦大家完成这一需要对客户就是有价值的,因为它不是一个效能碎片,而是一个用户交互用例。虽然在一个迭代中我们无法成功具有的急需,只要做到其中一个,那么都是可以向客户提交的。此外,借助Visual
Studio
2010对频频集成和测试的支撑,我们可以动用每一日构建的不二法门确保所有完成的代码都符合质料要求,也就避免了在迭代末期举行集中测试而拖延交付的可能。

Sprint Planning Meeting的支持

在Visual Studio 2010中提供了一个叫Agile
Workbook的Excel模板,可以帮助大家很好地形成Sprint Planning
Meeting。在这几个会议中,最重大的职责就是将PBI转化成SBI,并且由协会提交完成这一个SBI的允诺;团队要做出这么的答应最关键的基于就是这个要求所关联的工作量是否足以承受。Agile
Workbook正是援救我们回复这一题目标强硬工具。从下图我们得以见见,当大家制订了迭代上的人士配备并将Task分配给各类开发人士未来,模板会付给非凡直观的柱状图,帮忙社团判断工作量是否管用。

lovebet爱博体育 9 
图8:对迭代1-3上的工作量举办横向相比较,依据历史数据判断后续迭代是否有效

lovebet爱博体育 10 
图9:在当前迭代上对各类开发人士的工作量分配进行相比较

Daily Scrum Meeting支持

其一会议特别简单,所以大家更加需要异常直观的图纸以扶植协会对进度举行审查,在TFS中提供了燃尽图为团队提供那么些音信。

lovebet爱博体育 11 
图10:迭代燃尽图

遵照各样开发人士对于工作量的翻新,从上图大家得以很容易对成就时间展开前瞻,图中粉色实线和横轴的主题就是最近迭代的恐怕成功时间。

Sprint Review & Retrospective Meeting 的支持

Sprint Review的襄助更多地反映于Visual Studio
2010的不止集成力量,因为这一个会议是对于需要完成意况的核对,假如我们可以确保要求是工作导向的并充裕利用Visual
Studio
2010的自动化构建和测试集成力量。那么我们就足以确保在那些会议上付出一定的商业价值。具体什么运用Visual
Studio 2010来贯彻在后头做详细介绍。

Retrospective
议会实际分外简单,需要我们公司成员对当下迭代的运行举办总计,但为了使这么些音讯可以完全的保留以便后续使用,我们得以选取TFS提供的派别站点,定制一个SharePoint的列表分类的笔录这一个反映以便团队询问。

Visual Studio 2010对此产质地料的保证

 提升产品质地是Visual Studio
2010在设计阶段就规定的严重性对象,在2010本子所添加的新特点中,已经想着这个目标形成了一套完整的缓解方案。对于Scrum情势以来,交付高质料的产品也一如既往是其终极目的,而且我们需要在迭代时刻很短的图景下依然保证质地,这就进一步需要借助工具的匡助。

自动化构建

于是把自动化构建列在第一位,是因为软件工程发展到明日,自动化构建已经是另外一个想要实现高质量的软件开发团队都无法不运用的工程措施;另外,对于Visual
Studio
2010系统的话,自动化构建也起着承上启下,贯穿全局的要紧位置。当开发软件进入第一个迭代的支付时,所要举办的率先项工作并不是起始实际的编码,而是创建出符合协会需求的构建模板。那样做的目的在于团队在晚期的骨子里支付中可以进一步小心于需求的开销,而不必花费额外的年月和生命力来集成开发人员的代码;起最先段的代码量很少,团队能够有越来越清楚的笔触将迁入策略,架构验证,自动化测试列表设置好并保管构建能够健康运转;假若把这么些工作放到迭代末期举行,往往会因为代码中的缺陷和见仁见智开发习惯导致构建模板不可能正常运转。

在Visual Studio 2010中,提供了尤其便民的模版创制工具,特别是添加了Gated
Check-in 构建的接触模式,可以保证所有嵌入源代码库的代码都是经过验证的。

lovebet爱博体育 12 
图11:Gated Check-in 构建触发器

Gated Check-in
触发情势和过去的触及模式所不同之处在于,开发人员执行迁入操作的时候代码并不会一向进入源代码库,而必须先通过构建的申明:保证编译成功和概念好的迁入验证测试能够成功运行,然后TFS才会把代码真正松手服务器。以前的随地集成(Continuous
Integration)
模式也会在迁入的时候进行构建,可是这种构建是将代码先迁入,然后再运行构建,假使代码中早已存在了缺陷,那么在服务器上就会留下缺陷代码;Gated
Check-in
借助TFS源代码管理中的“搁置”效率,先把代码搁置到服务器上暂时存储中,在构建成功后才会规范迁入,所以缺陷代码不会进去服务器。

lovebet爱博体育 13 
图12:构建参数配置

TFS的自动化构建可以合二为一测试列表,图中的上方的丙午革命区域中就是要求构建从类别文件中的测试列表文件中提取单元测试并自动运行;另外一个在Visual
Studio
2010种的首要立异就是下方青色区域中的架构验证参数。要是我们的序列文件中富含了架构层次图(Layer
Diagram)的话,那么我们就是增长这些参数让构建自动的注脚项目标代码是否吻合架构设计的渴求。

lovebet爱博体育 14 
图13:Visual Studio 2010的层系架构图 Layer Diagram

Scrum情势开发中的架构设计给我们提议了十分大的挑衅,由于我们拔取业务导向的要求定义,开发人员必须从数据层一向兑现到表现层;在那个历程中如何确保项目标架构仍旧符合要求分外不方便;而Visual
Studio
2010的架构验证效用则足以协理大家在每一趟迁入代码的时候都开展认证,保证违反架构正式的代码不会跻身最后的交付产品。

排除不可能再现的Bug

没辙再次出现的Bug一直都是麻烦开发人士的题目,开发条件,测试环境,生产条件的不等;开发人员,测试人员和末了用户的例外都是造成Bug不能被重现的客观因素。在Visual
Studio 2010中,提供了广大无敌的调节和测试工具来赞助我们解决这一个题材。

  • AMDliTrace(历史数据调试)
  • 经合调试
  • 测试管理器和手工测试(Test Manager)
  • 实验室管理(Lab Manager)

AMDliTrace——历史数据调试器

IntelliTrace在开发过程中的名称就叫Historical Debugger
(历史数据调试器),后来以此用来举办市场宣传的称呼反而不可能反映它的精神。英特尔liTrace可以把程序运行过程中的所有历史数据都记录下来,使得程序员可以回滚到其余的野史点来查看程序状态,这对于开发人士调试复杂逻辑万分管用;在此以前我们在做相同工作的时候必须反复运行程序,以便找到题目,而近期则可以让程序反向运行。

lovebet爱博体育 15 
图14:AMDliTrace调试器重所记录的次第历史数据

除此以外,AMDliTrace还足以把这一个调试数据另存为tdlog文件;当开发人士A发现了B的一个题目的时候,他得以把自己调节环境中的tdlog发送给B,开发人士B就能够使用这多少个文件让Visual
Studio苏醒到开发人士A的调剂处境,从而保证B可以使得的重现A所见到的问题。

合作调试

经合调试实际解决五个开发人士在调节过程中的此外一些信息共享问题的办法,上边的IntelliTrace可以共享调试历史数据;不过用过Visual
Studio
的开发人士都精晓,像“断点”是无法保留到调试数据中,也不会被保存到品种文件中;所以协作调试就提供了开发人士共享断点音讯,并且还足以让开发人士在断点消息上添加一些验证,以便帮忙任何的开发人员明白问题。

测试管理器和手工测试(Test Manager)

测试管理器是Visual Studio
2010系统中为测试人士特意开发的可以独自运转的测试环境,它完全独立,不借助于Visual
Studio
IDE,提供非常强劲的测试录制等效果。在面前介绍构建的时候自己一度将单元测试集成到构建中去自动运行,不过单元测试只好针对后台逻辑举办,不可以化解UI测试,或者叫黑盒测试问题。微软的测试管理器的出现,就是为缓解UI测试的题目。

TFS 2010中特地提供测试用例(Test
Case)工作项项目,那么些工作项允许测试人员对切实的测试步骤举办设计,并且付诸预测的结果;同时,借助测试管理器的录制功效,还足以把测试人员换的操作全部都录制下来,一边后来自动播放;或者生成Coded
UI 测试,一旦有了Coded
UI测试,我们就足以把那个针对UI的测试也合并到自动化构建中去。

lovebet爱博体育 16 
图15:测试用例(Test Case)工作项

实在,真正可以利用单元测试覆盖的测试仅占所有的测试的30%都不到,此外这70%的测试以往都是依靠于测试人士手工的拓展;现在凭借微软测试管理器的意义,我们可以将那一个测试集成到低度自动化的开发流程中。可以协理我们更是快捷的做到测试,为开发人士提供报告。

在Scrum格局中,业务导向的急需也要求我们的测试团队可以更加神速的交付测试结果,前一天落成的需求最好可以在第二天就将测试结果反映给协会;倚重于每一天构建,我们得以在每一日晚校官前一天的代码生成一个新本子,共测试团队采纳;测试团队在其次天就足以把测试结果反映给支付社团,同时将得以自动化运行的测试继承到每日构建中;在第三天的时候大家的集体就能够应用这一个已经自动化的测试来证实我们的先后了。

是因为天天都举办测试,那么新增的代码量就老大有限,也就使得Bug的多少得以获得有效的主宰,从这一个方面上说,测试管理器所提供的手工测试,自动化测试录制和重播,并且和构建的存续为我们提供了一个非凡迅猛的高质料的开发平台,从流程和工程技术上为质地提供了保证。

实验室管理(Lab Manager)

实验室管理是自我在Visual Studio
2010系统中见过的最酷的效用,也是微软无冕了和谐的多项产品为开销团队提供的最完好的测试解决方案。在测试中一个至极难落实的题材,就是对此不同环境的创办,还原和气象的保存。如果同一个用例在不同的环境中运行,结果往往是不同的,而且大家客户的运用条件也屡次很复杂,所以就要求我们的测试人士可以搭建很多不等安排的测试环境,以便验证应用程序可以适应他们要求。

微软看重自己的Hyper-V虚拟化平台,为测试团队搭建这样的测试环境提供了要命好的支撑,比如:我们可以使用SCVMM和TFS协同工作,当TFS需要测试环境的时候,通过SCVMM部署一台符合要求的虚拟机,并把需要测试应用自动的布置到这个虚拟机中,最终在这些环境中运行指定的测试。这样的测试环境制止了测试人士自己的机器不到头而招致的结果不是,而且还足以经过环境快照的模式吧虚拟机的某个状态一贯交付给开发人士举行自我批评。

在上头所介绍的这多少个意义中大家得以看来,实际上大家解决了3个不同测试的不可重现问题:

  1. 开发人士本机上的不行重现:IntelliTrace
  2. 开发人士和开发人士之间的不可重现:AMDliTrace, tdlog和搭档调试
  3. 付出和测试环境之间的不足重现:微软测试和实验室管理器,Hyper-V

这个意义在工程技术上为社团保证了高质地,同时匹配Scrum形式所进行的时间箱管理,业务导向的需求定义以及流程上的管教,Visual
Studio 2010系统和Scrum一起帮忙大家成立更好的制品和更好的团协会。

结束

自我动用Visual Studio Team
System是从二零零五年伊始的,最初的目的只是为了满意远程迁入代码的急需;但随着2008和2010本子的昭示,对于流程定制和全部性的成色解决方案的需要越高。幸运的是,那个时候集团为自家提供了到澳大林茨承受Scrum
Master培训的机会,使我可以体系化的摸底了Scrum情势的精华,回来之后就对大家的开支团队开展了一多样的优化。

还要,作为Scrum Master我也同时取得了提供Professional Scrum
Developer培训的机会,PSD课程是微软和scrum.org共同开发的一套基于实践的scrum开发人士培训科目,它采纳Visual
Studio
2010系统作为平台,将参训人士分为不同的集体,进行实际的开支工作,在付出的进程中让学员体会Scrum的妙处和Visual
studio
2010的强大。近期我们早已在澳大华雷斯布宜诺斯Ellis和意大利吉隆坡成功运行了这么些课程。作为在北美洲去唯从来中国提供这一课程的提供商,我也指望可以和更多的开发人员分享这个内容。

[注:此文在二零一零年十月28日刊出于InfoQ的SCRUM开发频道,原文地址: http://www.infoq.com/cn/articles/visual-studio-2010-agile-scrum-development]

相关文章