Visual Studio Team Architect团队的敏捷软件开发(第二部分)

为了延续整个系列的行文思路,我也会涉及一些我们团队计划sprint的方法以及sprint过程中发生的 事情,并穿插着回答你们提出的那些问题。

首先,我想说的是,不存在敏捷无需计划的神话。可是,敏捷开发中的计划的确和传统软件开发中的 计划有着很大区别。正如我在上一篇博文中所说,我们针对利益攸关方(stakeholders)给出的上层需求创 建了带有优先级的产品待开发事项(product backlog)。这一带有优先级的任务列表形成了最基本的 sprint计划。在这一过程中,我们一般遵循三阶段的步骤:在主管间进行的预计划阶段,所有团队成员都 参加的计划阶段以及包含利益相关者的计划提交阶段。这里的关键是:计划是在所有成员的通力合作中进 行,最重要的是由组员自发来制定标准、而不是依赖于某个项目经理。

预计划阶段在上一个sprint的最后一周进行,在这一阶段中,团队中分别带领项目经理,开发和测试 的几位主管会聚集到一起讨论出在即将进行的下一个 sprint中,需要开发的故事(story)列表。这个过程 取决于很多因素,其中最重要的是:上一个sprint的进展情况,从利益相关者那里得到的反馈,需求或故 事优先级发生的变化以及预计的团队速度。项目经理(有时甚至是开发人员或者测试人员)在阐述故事的时 候会尽量简短到只描述出目标、故事的简单介绍以及故事的具体流程。我们发现OneNote很好的满足了我 们这一需求(稍后会给出一个故事的截图)。

产品待开发事项总是列出对客户有价值的条目,同时它也可以增加这个团队要求的条目。但是,只有 那些最终会给客户带去价值的条目才可以出现在待开发事项中。举例来说,创建并维护一个持续集成服务 器以持续保证最终产品的质量,这样的条目被允许出现在待开发事项中的。

计划阶段通常在sprint的第一天进行。在开会前,项目经理会把OneNote页面的链接发送给组员,以便 大家评估,并且为计划会议做好准备。通常,组员会在OneNote页面中交换意见,从而在会议之前澄清那 些不明了的地方。在计划会议当天,团队组员会聚集到一起,过一下所有的故事,解决之前发现的任何问 题,把故事进一步细分成一些任务,并描述每个故事的验收测试。组员同时也会对完成这些故事所需要的 时间做一个大致的估计,然后根据这些估计决定在这个 sprint中,团队可以完成哪些故事。

计划提交阶段在之后的一天进行,主管会再度聚集在一起并且向利益相关者介绍团队承诺完成的任务 。此时,利益相关者可以提出建议对优先级进行调整。比如,如果团队成员可以完成故事A,B以及C,但 是不能完成D和E,利益相关者可以建议团队在这一个sprint中完成A,B,D以及E(假设D和E消耗的总时间和C 相同)。然后,项目经理会把这些故事输入用来管理我们项目的Visual Studio Team Foundation Server 。

注:我们花了好几个sprint来学习并总结出以上这个计划流程。这就是sprint回顾(我会在以后的博文 中提及)发挥的重要作用。

时间: 2024-11-08 19:14:35

Visual Studio Team Architect团队的敏捷软件开发(第二部分)的相关文章

Visual Studio Team Architect团队的敏捷软件开发(第三部分)

在开始之前,首先来回顾一下我们是如何得到在sprint中需要实现的用户故事(User Story)列表的 :首先,团队会根据开发团队在以往sprint的经验中得出的团队开发速度评估,以及对产品待开发事项( Product Backlog)的粗略的成本评估.基于这两个评估,开发团队从产品待开发事项中挑选出一个用户 故事的候选列表,提交给产品利益相关者(Stakeholder)进行讨论.在讨论的过程中,伴随着用户需求 的进一步明确与细化,该列表的优先级可能会有相应的调整.回顾这个过程,不正是敏捷开发

Visual Studio Team Architect 团队的敏捷软件开发(第一部分)

在最近几次与客户面对面的交流中,我有幸分享了我们团队如何在日常工作中进行敏捷软件开发.毫 无疑问,这在中国开发人员中是个热门话题,我也想利用博客这个平台与更多的读者进行书面的交流.当 然关于敏捷开发利弊得失的争论有不少,而相关的开发模式也分成了TDD (Test Driven Development), Scrum, XP(eXtreme Programming)等流派.就我个人而言,一个团队是否严格遵循某种既定的敏捷方法并 不重要,但一定得选择并采用一种(或几种)最适合自己开发团队和开发项目的

Visual Studio Team System 2010中的敏捷规划工具

本文以 Visual Studio Team System (VSTS) 2010 的预发布版为基础.所有信息均有可能发生变更. 本文将介绍以下内容: 产品和小版本规划 产品积压工作簿 容量规划和报表 小版本积压工作簿 本文使用了以下技术: VSTS 2010.VSTS Process for Agile Software Development 1.0 "敏捷规划"存在语意矛盾吗?希望您不会这样认为,但在最近于洛杉矶召开的一次专项小组会议中,其中一位与会者指出其组织已从敏捷开发转为采

使用 Visual Studio Team Test 进行单元测试和java中的测试

原文:使用 Visual Studio Team Test 进行单元测试和java中的测试   C#中test测试地 方法一. 1.从NUnit官网(http://www.nunit.org/index.php)下载最新版本NUnit,当前版本为NUnit2.5.8. 2.安装后,在VS2008中新建测试项目StartNUnit 3.右击项目选择属性,在打开的窗口中选择调试.如图: 4.选择启动外部程序,并定位到NUnit的启动程序nunit.exe.如图: 5.在项目中添加NUnit引用,如图

敏捷模型驱动开发(AMDD):攀登敏捷软件开发的关键

Agile Model Driven Development (AMDD): The Key to Scaling Agile Software Development 敏捷模型驱动开发(AMDD):攀登敏捷软件开发的关键   Table of Contents 目录 Overview 概述 Envisioning 展望 Initial agile requirements modeling 初始化敏捷需求建模 Initial agile architecture modeling 初始化敏捷架

敏捷软件开发实践:概括

应朋友之邀,我准备写一组文章关于敏捷软件开发的实践,也帮助广大没有用过Agile的或者只停留在书本内容上的朋友亲临敏捷软件开发这个惊心动魄的历程. 所谓敏捷,书本上有很多的介绍,我也不想重复发明轮子了,反正就我的理解,敏捷的精髓就是面向变化,敏捷这个词语,我最早遇到是出现在玩各种游戏中,所谓的"力量型"英雄,"敏捷型"英雄,比如暗黑的亚马逊,比如魔兽世界的猎人,这种职业往往有很高的闪避,而且可攻可守,或者说三国杀里面最典型的赵云"闪杀杀闪闪,能进能退&qu

Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发

Scrum 求助编辑百科名片:http://baike.baidu.com/view/1528674.htm    敏捷软件开发模型--SCRUM Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发.包括了一系列实践和预定义角色的过程骨架.Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员. 目录 简介 Scrum创始人简介 历史 Scrum的特性 Scrum中的角色 Scrum会议 文档 展开 简介 S

敏捷软件开发宣言及敏捷宣言遵循的原则

http://agilemanifesto.org/ 敏捷软件开发宣言 我们一直在实践中探寻更好的软件开发方法, 身体力行的同时也帮助他人.由此我们建立了如下价值观: 个体和互动 高于 流程和工具 工作的软件 高于 详尽的文档 客户合作 高于 合同谈判 响应变化 高于 遵循计划 也就是说,尽管右项有其价值, 我们更重视左项的价值. 敏捷宣言遵循的原则 我们遵循以下原则: 我们最重要的目标,是通过持续不断地 及早交付有价值的软件使客户满意. 欣然面对需求变化,即使在开发后期也一样. 为了客户的竞争

敏捷软件开发之何为敏捷开发

敏捷开发,Agile Development,就是指能够在需求迅速变化的情况下快速开发软件.我们接触最多敏捷实践方式有:极限编程(XP).结对编程.测试驱动开发(TDD)等. 追究敏捷的历史,就必须要提到著名的敏捷开发宣言,2001年,17位业界专家(其中包括我们非常熟悉的Martin, Martin Fowler)组成了一个敏捷联盟,并且创建了一份敏捷联盟宣言,宣扬了4条核心价值观:     1, Individuals and interactions over processes and