用户名 密码 联盟服务 关于我们 联系方式 收藏本站
返回网站首页 PgMP认证,美国项目管理协会高端项目管理认证!大型项目与项目群管理Program Management全球权威认证


网站登录:会员 企业 专家 服务商
企业服务:PMP培训  内训课 公开课
工 具 箱:发表文章 提问题 发案例
首页动态 | 文库 | 下载 | 书架 | 访谈 | 专栏 | 专题 | 人才 | 培训 | 软件 | PMC 互动:活动 | 案例 | 问答 | 论坛 | 博客 | 圈子 
应用:基础工程软件制造活动研发  认证:PMPNPDPACPPgMPIPMPP2ISPMPIMCP建造师MPM  特色:热点奖项

PMI-ACP®认证

适合敏捷开发项目
敏捷项目管理最佳实践

5月开课 | 实战课

PMI-PBA®认证

重视项目商业分析
商业价值与需求分析能力

4月开课 | 新闻

NPDP®认证

产品管理国际认证
全球产品管理最佳实践

北京 | 上海 | 感受

PMP®认证

单项目管理经典指南
年轻项目经理首选

北京 | 杭州 | 网络

PgMP®认证

大型复杂项目全球标准
定位高级项目管理层

北京 | 上海 | 深圳

PfMP®认证

链接战略与项目
实现组织资源投资回报

17计划 | 北京 | 上海

软考项目管理

信息系统项目管理师
系统集成项目管理工程师

计划 | 报名 | 经验

敏捷项目管理ACP认证培训
国际产品经理NPDP认证

微软架构团队敏捷开发实践(1)

作者:人月神话   提交人:项目管理者联盟[人月神话]   属性:提交人转载   发布时间:2012-4-27   点击:3645   【收藏本文

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

  在我深入这一议题前,请允许我介绍一下团队:我们属于微软开发工具部(Developer Division,以下简称DevDiv),这个部门拥有几千名软件工程师,核心产品Visual Studio系列的用户从软件开发爱好者一直到大型企业里的专业开发人员及架构师。项目管理者联盟

  大量而且复杂的依赖关系、代码改动、紧迫的开发周期等因素使管理软件开发生命周期并按时发布高质量的Visual Studio产品极具挑战性。为了降低风险和复杂度,DevDiv在开发Visual Studio 2008过程中采用了功能分支架构(Feature Branch Structure)和功能小组模型(Feature Crew Model)。其实这一方式之前已在Office开发团队的实践中取得不错的效果。它的最大好处之一就是使负责某个功能的团队在独立开发过程中有更大自由。由于篇幅所限,在这篇博文中我将侧重介绍我们团队是如何进行敏捷软件开发的。项目管理者联盟

  我们团队负责Visual Studio系列中的Visual Studio Team System Architecture Edition,帮助架构师、运营经理及开发人员以可视化方式构造面向服务的解决方案、降低(软件产品开发的)复杂度。目前我们已开发了基于UML和 DSL几个建模工具。这基本上是一个全新项目。项目管理培训

  从产品开发来看,我们属于全球分布式开发,团队分布在三大洲的四个城市,包括亚洲的上海,北美洲的雷德蒙和夏威夷,以及欧洲的剑桥。为了尽可能减少分布式研发对团队间交流所造成的障碍,我们尽量使功能小组的成员集中于一地。基本上,每个功能小组的核心部分都在某一个城市完成,在其他城市可能会有个别工程师参与相关开发。例如,我们在上海就有一个功能小组,其他一些工程师在雷德蒙的公司总部工作。但有时,基于客户场景的特殊要求,我们也会将一个功能小组拆分成若干个,由多个城市的团队同时开发。项目管理者联盟

  在本文后半部分和之后的系列文章中,我所谈及得敏捷软件开发流程都是同一个功能小组所遵循的,即是我们中国团队所遵循的。项目管理者联盟

  我们中国团队主要负责开发基于UML的核心图形设计工具,包括即将发布的Logical Class Designer, Use Case Designer。此外,我们还负责在项目中提供建模元素视图功能的Model Explorer。我们所采用的敏捷开发方法是Scrum的修改版。就如我之前提到的,我们认为敏捷开发方法和技术没有哪一种是万灵丹,适合自己才是最好的。我们的团队中已有两位工程师参与过Scrum实践,也因此促成我们最终选择了它。blog.mypm.net

  下面是一个我们敏捷软件开发流程的概要视图:项目管理者联盟文章

  

微软架构团队敏捷开发实践(1)

项目管理者联盟

  产品待开发事项(Product Backlog,视图的左上角)可以被视作一份这个团队以优先级排列的、需要完成的功能需求单:来自相关产品利益相关者(Stakeholders)对产品提出一系列高端要求。例如,我们最初的要求是为客户增加逻辑级(更抽象的)和物理级(更靠近代码)建模提供支持,由此衍生出了高端功能需求,诸如开发在逻辑级方便客户生成逻辑模型、兼容UML的关系图和开发帮助创建无力模型的DSL关系等。然后我们会对将要支持的UML关系图种类按优先级进一步分解(UML共有13种不同的关系图)。产品利益相关者的意见会驱动整个优先级选择过程,最终我们得出五个最重要的关系图:Logical Class Diagrams, Use Case Diagrams, Sequence Diagrams, Activity Diagrams 和Component Diagrams。于是,团队依据当时对产品和市场的了解,以故事标题的形式完成一份产品待开发事项。无疑,整个开发工程中一旦要求发生变化,也会导致需求排列优先级的变更。项目管理者联盟

  在与客户的交流中,我被问得最多的问题之一是是否需要在敏捷开发过程中创建架构模型设计。和咨询公司一样,我的答复也是:视情况而定:)。围绕 Big Design Upfront (BDUF), You Are Not Going to Need It (YAGNI)以及让团队在开始实施新功能时“重构”现有的代码/设计等所存在陷阱的争论也不少,其中有不少值得借鉴。尽管如此,我坚信设计初期存在这么一个阶段可以尽责地做架构设计以生成高端架构。例如,你打算建一个网上贷款流程的应用程序,你可能需要决定在这个架构里有几层。当然,能有这样一个基于最初要求的,并可能随着项目进展有所变更的架构是很重要的。在我看来,重构在敏捷开发中有其重要地位,但是如果是变更基础架构的“大重构”代价就太大了。如果大家感兴趣,我将在之后的文章中与大家探讨架构在敏捷软件开发过程中所扮演的角色。项目管理者联盟

  在我们团队所遵循的敏捷软件开发实践过程中,我们的项目被分解成类似Scrum的若干个四周sprints或迭代开发周期。尽管没有测试驱动开发 (Test Driven Development)或结对编程(Pair Programming),但我们的开发人员会编写单元或签入测试(Unit/Check-in Test)来检查功能,开发和测试工程师也会在一起调试、调查或评审某个特定问题和变更等。我们还会使用极限编程(eXtreme Programming)中的使用者故事(User Story)模式。事实上,我们的产品待开发事项和每个迭代周期中的待开发事项(Sprint Backlog)都会以故事的形式被追溯。这些使用者故事就是描述一个系统的最终用户会如何使用某个特定功能。项目管理者联盟

  通常,我们都会在一个Sprint阶段的最后一周计划下一个Sprint阶段:通常负责某个功能的团队(主要是主管们)会依据团队需要侧重的故事来进行由下至上的计划;然后再与产品利益相关者对项目中故事优先级的规划相协调;协调后的需求优先级清单一般会在Sprint的第一天完成。团队于是评估这些使用者故事,并完成设计初稿、实施成本,确认故事完成的标志。依据这个设计和成本,团队将承诺这个Sprint将完成的内容。

service.mypm.net


<<上一页 1 下一页>>
项目管理者联盟PMP认证中心
[相关文章] [网友互动]
·IT运维管理中 如何高效控制人力成 (162)项目管理者联盟11-24
·如何成为一名优秀的IT项目经理 (239)项目管理者联盟11-02
·IT技术人员应该思考的几个问题 (148)项目管理者联盟10-24
·如何高效实现IT项目规划与管理 (180)项目管理者联盟09-29
·IT项目出现问题,足以拖垮整个公. (442)项目管理者联盟09-18
·浅谈大型IT项目的风险管理 (567)项目管理者联盟09-13
·金融行业如何进行IT项目管理? (273)项目管理者联盟08-31
·IT项目管理中常见的沟通问题的来. (360)项目管理者联盟08-15

12-09[帖子] 大家有没有遇到过没有技术背景,很牛的i (53)
11-22[帖子] 十个最有“钱景”的IT技能 你掌握了哪个 (119)
09-25[帖子] 四川地区IT项目经理交流群欢迎加入 (199)
09-05[日志] 项目经理分享深圳证券交易所IT项目管理. (33)
09-05[帖子] 项目经理分享深圳证券交易所IT项目管理. (262)
08-31[帖子] 【PMO日志】大型IT项目的失败率竟高达91 (210)
08-23[帖子] 大型IT项目的失败率竟高达91%!——PMO. (274)
08-22[帖子] 金融行业如何进行IT项目管理? (174)
[发表评论]
本站热点
·2017年12月期PMP认证班于北京圆满
·北京NPDP新产品开发实战分享会成功举办
·敏捷项目管理( PMI-ACP)认证培训
·祝贺中海油胡雪峰经理顺利成为中国PgMP
·大型复杂项目管理PgMP专题讲座2018
·大型复杂项目管理PgMP专题讲座2017
·NPDP新产品开发实战分享会-2017年
·NPDP新产品开发实战分享会-2017年
·2017年度12月PgMP考试冲刺辅导班
栏目说明
    《文库》栏目为项目管理者联盟网站核心栏目,收录了十大行业项目管理文章5000余篇,囊括了项目管理五个阶段、九个知识领域的相关文章,是广大项目管理爱好者学习的知识库,欢迎大家发表原创文章、转贴文章,或直接发给编辑。须联盟会员且登陆后才能发表文章。
敏捷项目管理ACP培训
项目管理活动
NPDP国际产品经理认证培训【2018年度】
主办单位:项目管理者联盟
时    间:2018-1-1
地    点:北京 上海 杭州 苏州·
电    话:010-82273401-21
邮    件:club@mypm.net
项目管理者联盟PMP培训班招生简章(北京)-2018年度
主办单位:项目管理者联盟
时    间:2018-1-1
地    点:北京·铁道党校
电    话:010-82273401-11
邮    件:pmp3@mypm.net
活动QQ群:531390275
免费积累PDU,仅500人

2017年项目管理活动计划
2016年活动精彩回顾
原创排行榜
 高扬 105 项目管理 84
 人月神话 60 项目管理评论杂志 60
 郭致星 52 高国伟 46
 蒋昕炜 46 乔东 44
 肖杨 38 潘德有 36
 张为 34 周劲松 34
搜索文章
关键词:
行  业:
团 队   成 本   风 险   进 度
沟 通   采 购   质 量   合 同
更多>> 专题集锦
更多:
经理访谈
更多:
个人专栏
更多:
项目管理者联盟特刊
联盟特刊是对网站会员发行的内部刊物,刊物内容包括:案例及分析等,得到了会员好评。
电子期刊:
特刊下载:
2017合刊  2016合刊  2015合刊 
2014合刊  2010合刊  2009合刊 
2008合刊  2004合刊  2005合刊 
2006合刊  2007合刊       
施工企业管理
《施工企业管理》创刊于1986年1月,中国施工企业管理协会主办,是反映施工企业管理杂志。
浏览往期:
建造师杂志
《建造师》杂志由清华国际工程项目管理研究院主办,是中国面向建设企业管理人的高端杂志。
浏览往期:
更多>> 推荐文章
12-13·掌握这6点,有效控制工程项
12-13·什么叫完成,看看传统与敏.
12-13·项目集治理:分阶段实现收.
12-06·计划都想到了,怎么执行还.
12-06·项目经理的三个谈判技巧
12-06·别以为默默帮项目解决了问.
12-06·项目经理的四重修炼,你在.
11-27·项目进度延迟了,5步让你的
11-27·项目风险管理失效的三个主.
11-27·不可不知的项目成本管理六.
11-23·巴斯夫龚毅红(PgMP):跨文.
11-23·干货|应对创新项目风险的有
11-23·PMP®考试中情景分析题
11-21·如何进行利益相关方及其需.
11-21·项目管理:实现按时、按预.
11-21·【干货】项目管理五阶段,.
关于联盟 | VIP会员 | 培训服务 | PMP认证 | PgMP认证 | 刊物出版 | 沙龙会议 | 人才服务 | 广告投放 | 联系我们 | 友情链接
项目管理者联盟 版权所有 京ICP证070584号 | 京公网安备110102000464号
如转载本站文章,必须于文章开头处注明转自“项目管理者联盟”,并注明原作者