敏捷实践(六)-微软实施敏捷的经验
此处会介绍微软在分布式团队环境下如何实施敏捷开发的一些经验。对于面向全球市场、想节省成本的公司,分布式团队是应用非常广的一种方式。
每一个团队的组成:
产品经理:代表客户,帮助团队更好的了解需求。对Product Backlog排列优先级并为每一次迭代确定user story。微软为一个团队安排一名产品经理
教练:负责团队如何工作,例如如何TDD。一般这不是一个全职角色,由团队中敏捷经验最多的一个成员担当
团队:团队包含开发者、测试者、文档撰写者。成员有全职的,也有Contractor。整个Team对项目的交付负责。Team至少包含一个资深的开发者和测试人员
顾问:参与与客户的沟通、团队开发等各个阶段,提供第三方的建议
对于分布式团队,微软的经验:
1.Focus on 沟通
扩大沟通渠道是关键。视频会议、远程共享软件、即时消息软件、公共消息平台。沟通作为Team的职责之一,例如将某个本地团队成员作为异地团队的代表,并轮换制变会议的方式,例如每日会议的时间会长一些,因为这是很少的整个Team提出问题的机会。
微软的具体做法是:
a)每个团队的办公室里有一个专门的会议电话以及投影仪
b)每一个成员都有耳麦、分机、IM软件
c)通过耳麦、IM等进行远程的结对编程,但会有coding review补充或者取代,至少两人review之后代码才可以checkin。
d)用VisualStudio Team System在team内部来跟踪工作和状态
e)用一种parkinglot系统来处理、跟踪每日会议中提出的问题
f)将每日的白板照相并放在Wiki共享
g)开发人员、测试人员和产品经理一起为每一个故事生成Acceptance Test,这个过程和结果为整个Team ShareKnowledge非常有帮助
2.出差
在项目的初期,各个项目组(至少每个组有部分人)应该集中在一起工作,这样有助于项目组之间人员今后的沟通。在这个期间,有这样的事情需要完成:互相了解、做一些关键决定。
微软的具体做法是:
a)在项目的初期、末期(中期,如果需要的化)进行各个团队的集中
b)参加当地团队和当地公司的活动、午餐等非工作性接触
3.时差
由于时差的原因,重叠的工作时间非常少,此时就需要一些特别的方式:
a)某一方晚点走或者另一方早些来,形成重叠的工作时间
b)本地团队有一个作为异地团队的代表,前提是这个人参加异地团队的每日会议。这个人可以是弹性时间工作制,很大可能是超负荷工作。这个做法被证明是有效的,而且是很关键的。
4.Coaching 团队
a)在Team中找到一位Coach
b)对每一位新成员,推荐以下三本书:
Scrum and XP from the Trenches, Henrik Kinbergxi
Agile Project Management with Scrum, Ken Schwabervi
Extreme Programming Explained, Kent Beck and CynthiaAndresvii
c)保持至少一半的团队成员进入下一个Release。保持团队的稳定有助于经验的传递。
5.合适的工具
a)Visual Studio Team System
b)Scrum for Team System
c)SharePoint
d)Live Meeting
参考自 Ade Miller的文章:the Development Manager inMicrosoft
相关推荐
#### 微软的敏捷实践 微软作为一个全球领先的科技公司,在引入敏捷模式方面积累了丰富的经验。以下几点概述了微软在实施敏捷模式时的关键实践: 1. **小团队与短周期**:微软倾向于组建小型开发团队,采用短周期...
《微软的软件测试之道》是一本由微软内部资深测试工程师撰写的书籍,主要介绍了微软内部进行软件测试的方法论及实践经验。本书通过深入浅出的方式,揭示了微软如何确保其产品的高质量,并分享了许多宝贵的测试技巧与...
13. **工具支持**:微软提供了诸如Visual Studio Team Services(现为Azure DevOps)这样的工具,支持敏捷实践,如任务板、看板、版本控制和持续集成。 综上所述,微软研发团队的敏捷开发最佳实践涉及了从项目管理...
敏捷开发在实践中已经取得了显著的成效,许多知名公司如谷歌、微软等都在使用敏捷开发方法。例如,通过敏捷开发,团队可以更快地推出新产品特性,提高客户满意度,并且能够在市场变化时迅速作出反应。 #### 第5章 ...
【微软经典丛书-软件研发】是一本集合了微软在软件开发领域的实践经验与智慧结晶的书籍。书中涵盖了微软软件开发团队如何高效协作、管理项目、制定规范以及应用最佳实践的诸多内容。通过对这些材料的深入学习,...
总的来说,《微软项目-求生法则(MS-BOOK)》是微软项目开发者和管理者的重要参考资料,它涵盖了从项目启动到交付的全过程,提供了丰富的工具、方法和最佳实践,以帮助读者在复杂的技术环境中实现高效、稳健的项目管理...
总的来说,微软团队的成功在于其强大的团队精神、敏捷的开发流程、一致的设计原则、严格的代码质量管理、自动化测试和高效的CI/CD实践。这些经验对于任何想要提升软件开发效率和质量的团队来说,都是值得学习和借鉴...
7. **项目交付与评估**:项目结束后,需要进行回顾和评估,微软Project可以帮助分析实际与计划的差异,为未来项目提供经验教训。 8. **集成开发环境(IDE)**:Visual Studio是微软的旗舰级IDE,适用于多种编程语言...
这份报告深入探讨了微软公司在项目成本控制方面的实践与策略,旨在为其他企业和个人提供宝贵的借鉴。 首先,项目成本控制涉及到预算制定、成本估算、成本监控以及成本调整等多个环节。微软公司在这些方面表现出严谨...
这本书详细阐述了微软在项目管理及软件开发领域的先进理念和实践经验,旨在提升开发人员在实际工作中的专业技能和项目管理水平。导师的极力推荐表明,这本书在业界具有权威性和实用性,是学习和提升自身能力的宝贵...
总结来说,软件开发流程包括项目启动、规划、执行、监控和收尾,而微软的产品开发实践则体现在敏捷方法、团队协作、质量管理等多个方面,这些实践确保了微软能够持续开发出高质量的软件产品。在实际操作中,每个阶段...
Visual Studio 2010作为一款强大的集成开发环境(IDE),提供了丰富的工具支持敏捷实践。 #### 《Agile Software Engineering with Visual Studio》概述 这本书主要讲述了如何在Visual Studio 2010环境中实施敏捷...
通过对微软的测试流程和测试方法的详尽阐述,本书为有志于从事软件测试工作或者希望提升测试技能的人士提供了宝贵的理论基础和实践经验。 在微软的软件测试过程中,首先强调的是测试策略的制定。这包括确定测试目标...
"微软研发:致胜策略"深入探讨了微软团队如何进行软件工程的管理和实施,揭示了这家全球科技巨头背后的成功秘诀。本文将详细阐述微软在软件研发中的关键实践和管理策略。 1. 敏捷开发方法:微软广泛采用敏捷开发...
【软件项目实施方案】 在2022年的软件项目实施方案中...在智慧化背景下,这种结合传统方法论与敏捷实践的策略显得尤为重要,因为它允许项目团队在快速变化的环境中保持适应性和效率,同时也能够更好地满足客户的需求。
8. **软件工程实践**:除了技术细节,教材还会包含软件开发的最佳实践,如敏捷开发、测试驱动开发、持续集成和版本控制等。 9. **安全与隐私**:了解如何在微软技术环境中实施安全策略,保护数据隐私,包括身份验证...