敏捷外包的14条原则

虽然软件项目的外包趋势已经是一个不争的事实,但是还是有很多项目由于错误的外包而失败了。抛开诸多优势不谈,软件外包确实带来了额外的复杂性、风险以及消耗。本文将基于实际项目经验以及丰田公司的制造过程,讨论如何把外包变成一种成功的模式,我们将这种方法论称为 “精益敏捷外包”。

我们的目标是利用当地的广阔人力资源,更加高效、迅速地交付软件。鉴于Scrum和丰田模式在开发新产品上的成功表现,我们决定采用它们来进行外包项目管理。丰田原则可以很好地被应用到任何软件开发项目中。我们将在下面讨论丰田模式,以及如何使用这些原则让我们的外包过程“精益”起来。 这种保留了Scrum和丰田模式的工作方法,帮助我们每天都在提高。

采用此方法开发的项目,是一个中心社会保障机构的批处理系统。系统的工作流程是从税务部门获取老板和雇员的数据,校验这些数据,然后生成某人某一个阶段的收入申报资料。系统每个月要处理1600万条数据记录,每秒钟大约50条数据。

原则1:制定一个长远的价值观,并且坚持下去

我们开始外包项目的时候,心中存在一个信念:我们不仅仅是为了这一个外包项目而工作,而是心中有一个长远目标:通过努力,让我们成为最好的敏捷公司,并且拥有稳定的、可重用的外包模式。这种模式可以使得整个软件行业受益。我们不会采取任何危及项目质量的捷径。 我们会积极创新,改进工作方式,提高整个行业的敏捷外包项目成功率。

原则2:创建连续的工作流程,使问题浮出水面

我们决定全面采纳敏捷实践,并且不遵从任何以计划驱动的方法论。然而,没有计划很容易迷失方向,因此频繁的交流和持续集成就变得至关重要。我们定期派遣专员进行跨越地域的旅行,让业务知识和上下文不受地域的限制,通过电话和网络进行指导,并建立和加强信任关系。 沟通不是问题,因为我们的通讯工具时刻在线,拿起麦克风就可以跟远方的团队交流了。 对于多个地点的开发,我们都采用统一的代码库并进行持续集成。这样问题很快就能浮出表面,并很快得到妥善的解决。

原则3:使用“拉”模式来避免过度生产

依照上面的原则,我们决定采用利益相关者来“拉”的模式,而不是让团队去“推”。毕竟我们的意图是编写具有商业价值的代码,而不是为了完善代码库。如果“拉力”不是很强,我们就减少迭代的大小,或者利用剩余的时间进行重构,以提升开发过程和交付的质量,确保我们高质量地满足客户的需求。

原则4:平准化(heijunka)

丰田提出要减少资源的浪费(muda)、人员的过劳(muri)和分工的不均(mura)。 在外包项目中,它们的表现形式为:不必要的功能、过度的需求、在客户和团队间额外的抽象层;寻找不相关的信息;测试没能找出缺陷;与客户低效率的沟通。我们要谨记这些,它们是外包项目中最大的浪费。

在实际项目中,为了去除浪费,我们只开发本次迭代的用户故事,使用的故事卡片上也仅仅记录了足够开发使用的信息;我们根据用户故事进行编程,为了澄清业务细节,即使是离岸团队也可以直接跟客户取得联系;不管是开发人员测试还是客户测试,我们都秉承测试优先的做法。为了确保工作的平准化,我们总是根据团队的速度来衡量工作,并确保完成的用户故事数量没有不平衡的趋势。在软件项目中,使团队成员精疲力竭是最有害的行为!团队的速度决定了团队的工作量以及每个人的工作内容。

原则5:建立停下来解决问题的文化(自动化)

我们文化的提倡:如果产生了影响交付质量的问题,团队就要停下手中其他的工作并解决这些问题。

如果客户处的离岸团队觉得沟通效率低下,那么我们就用专门的机器来安装skype,并保持一直在线。使用skype提供的语音和在线视频聊天功能来相互沟通。一旦团队觉得sprint评估效率太低,没有达到当初预期的目标,那么我们会中止评估,进行头脑风暴,讨论如何才能做的更好,并按照一个既定的日程来指导我们减少在代码审查上花费的时间。 如果在持续集成或者性能测试环境设置上有问题,那么我们就要停下来修复它们,然后再进行其他用户故事的开发。 如果我们完成了很多用户故事,但是功能测试人员没有来得及进行测试,那么我们就等所有已开发的用户故事得到测试团队认可,然后再来开发新的用户故事。

所有这些这不仅仅是对策,也是预防措施。

原则6:标准化过程

标准化是支撑持续改进、雇员授权、规章制度和过程的基础,同时是支持组织学习的架构。我们创建的标准流程包括:使用TDD的开发、问题跟踪和解决、构建和测试等等。这并不是说这些流程都是一成不变的,它们一样是灵活且敏捷的。这些标准可以确保我们拥有稳定的平台,而且这个平台可以被团队不断完善。

原则7:使用可视化的管理来避免隐藏的问题

我们的格言是:每一件事情对团队成员都应该是可视的,当然对客户也是如此。

我们在Jira里面为客户现场和离岸团队创建了公用的产品功能清单,公用的燃尽图和问题日志。客户可以使用它来了解产品的问题,甚至查看我们每天的详细状态。使用Cruise Control可以让我们方便地了解构建的状态。每次构建结束,一个小兔子玩具会报告构建的成功与否。

墙和白板可以向客户展示足够的信息。他们可以走到墙或者白板面前,10分钟的时间,他们就能获得足够的信息。

我们还在wiki上创建了一个虚拟的团队公告板,把所有的可视化信息都保存进去。之后把有用的打印出来,贴到团队的墙上。

原则8:采用适合团队成员和过程的技术

真正的精益项目有2个关键特性:其一,它传递给开发人员最大数量的任务和职责,从而生产出有业务价值的产品。其二,它有着一个缺陷跟踪流程,保证在缺陷发生时立即处理。

一个敏捷团队最重要的资产是团队成员,我们应该让团队成员采用最适合的技术而不是听从某些技术鼓吹者的最佳实践。例如,我们把整个表现逻辑从Struts迁移到Spring MVC,是因为后者在当前的背景下更加实用,并且这个迁移的决定是由整个团队共同提出的。当团队拥有自主权的时候,也是他们能够做出最好的决定和承诺的时候。自组织的团队知道如何采用适合的技术和流程来适应每一个成员。

原则9:从团队内部发掘领导者

人比体制更重要已经是广为人知的概念。 我们致力于从团队内部来提拔外包项目的领导者。我们会让客户现场或者离岸团队中的一部分人去参加Scrum master培训,而不是从其他地方请来Scrum master。毋庸置疑,这些人肯定是最了解团队的人。

原则10:发掘杰出的团队成员

无障碍的沟通、高效的团队协作、形式追随功能的团队、良好的收入、顶级的工具、舒适的工作环境、劳逸结合的生活、持续的进步、岗位的轮换。 所有的这些在正确的精神指导下,将会创建明星团队。

对于一个高效的跨地区团队而言,健康的交流是核心。为此,我们在项目早期会有很多探访,目的是创建良好的关系,然后用定期的探访来维持这种关系。

提出问题、谈论困难、担心无法按期限完成工作,或者对于来自上级的指令给出不同的解决方法。人们经常因为这些行为遭到责难。使团队变得更加积极主动是一场艰苦的战斗,需要花费很多的时间。因此我们鼓励多问问题。 一旦人们意识到他们有自由,同时也有责任来做决定的时候,他们会进一步做出贡献,并因此成为杰出的团队成员。

原则11:与合作伙伴和供应商建立长期的合作关系

公平和互相尊重的商业关系,是和合作伙伴和供应商长期合作的关键。 我们根据这个精神对客户公开wiki和Jira,同时也对负责该项目其他模块的软件商公开。 这可以使我们清楚了解谁在做什么,并且能够同利益相关者和供应商一起来制定明确的期望。 这样做的好处是:我们建立了信任关系,保持了透明度,而且没有隐瞒任何事情。

这不仅仅提升了我们外包的可信度,从长远来看,能为软件行业提供一个扩大合作伙伴的成功实践,对软件行业来说也是有积极帮助的。通过燃尽图和Sprint迭代的记录,我们与合作伙伴互相了解和学习。

原则12:身体力行

亲临现场是了解真实的情况的最佳方式。所以我们团队中没有只说空话的设计师和架构师。无论他曾经担任过什么其他的角色,每个人都要写代码,这没什么可商量的。 这有助于我们条理分明地为自己和他人分派任务,根据实际的资料请教专家,分析并理解当前的形势以及解决方案。

原则13:充分评估各种方案,达成共识之后迅速执行

我们积极地遵循一条原则:在充分考虑各种方案之前,不会选定任何方向。但是一旦我们选择了正确的道路,我们就加速并且持续地走下去。

好几次我们都试图对各种各样的issues寻求替代解决方案,比如如何使外包团队理解荷兰语文档。我们应该手动翻译还是使用一个能翻译60%内容的工具?最后我们决定让荷兰团队根据他们的文档在Jira上创建一些issue,离岸团队来研究这些issue,并且对此进行提问。这种方法非常迅速并有效。

原则14:通过深刻的反思和持续的改进,成为好学的组织

正是这条最重要的原则帮助我们达到了今日的高度。我们执行严格的迭代评价,深刻反思,对好的方面进行坚持,对可以提高的地方进行改善,从而使得迭代越来越好。我们渴求不断地且及时地征求客户和团队的反馈,从而高效地达到软件的最终目标。 除此之外,当遇到任何问题的时候,我们会一直询问“为什么”5次,直到弄清了问题的根源为止。

总结

在本文的最后,我想说:“我们仍然还在学习”。“精益生产”已经被成功地应用于软件外包行业,但是仍然可以改善。丰田原则一旦应用于软件外包,将会给现有的软件外包模式带来显著的变化。我们将会通过不断的改进,最终达成我们的目标——白盒精益敏捷外包。这种模式下外包的透明度和质量都将会达到极致。

最后对外包行业提一个建议:在遵循Scrum和丰田原则的时候,不要试图稀释其中的“精华”,把它们应用到你的工作上去,然后等着奇迹发生吧。

转载于:https://www.cnblogs.com/chinaqiao/archive/2009/05/17/1458579.html

PMP--一、二、三模--分类--14.敏捷--技巧--宣言 A:向团队成员强调团队章程及项目治理要求。B:无论什么时候,团队都应该配合完成项目总结。C:与项目干系人就可能有个别月份无法按时提交月度总结的情况进行沟通处理。D:避免在需要周末进行总结开会的月份进行月度总结汇报。DC。 阅读详情

相关推荐

【OpenClaw从入门到精通】第09篇:企业级实践——将OpenClaw接入钉钉,打造7×24小时数字员工(2026实测版)

本文聚焦OpenClaw的企业级落地实践,以“招聘数字专员”为核心场景,完整演示从钉钉接入到全流程自动化的实现路径。内容涵盖企业级部署架构设计、前置环境搭建、核心技能开发、流程串联、安全权限管控及运维监控六大模块,详解简历解析、岗位匹配、外呼集成、CRM同步、日历提醒等关键技能的构建逻辑与代码实现。借鉴中关村科金、网易智企的企业级实践经验,重点突破企业知识融合、安全权限管控、业务系统连接三大核心门槛,提供可直接参考的配置示例与操作步骤。所有技术方案均基于公开文档与实测验证,兼顾新手入门与进阶实操。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1038

敏捷外包工程系列之一:序言(敏捷外包工程,敏捷开发,CMMI,软件外包,政府项目,银行项目,电信项目)...

本文是敏捷外包工程系列的第一篇。 本系列是中科院研究生院《软件工程硕士-外包方向》的《敏捷外包工程》课程的课外扩展阅读材料(本人是此课程讲师)。同时也适合软件外包公司在本公司推行敏捷开发时参考。 定义 这里的“外包”指广义的外包,包含了传统的欧美外包、对日外包,也包含国内以销售合同驱动的项目型外包,如政府、银行、电信项目。 由于整体上外包工程属于管理活动,除了需...

weixin_34223655的博客 240

在日企及对日软件外包公司工作的十原则

在日企及对日软件外包公司工作的十原则,竞技。

小白应届生的面试经历。。。

写一写我的面试经历          到了该找工作的时候了,我也早早的在智联招聘和前程无忧上面写了自己的简历,而且想我自己喜欢的android手机开发的相关职位投递了简历,也去参加了一些招聘会,最后我把我去找的公司情况和相关信息给大家分享一下吧。。。   成都北岸科技有限公司 这家公司是我的第一次,老实说这家公司叫我去面试,我什么都没有准备,连简历都没有打印好就直接去了,其实就是为了体验

ljz2009y的专栏 2万+

敏捷外包就像婚姻一样-5步敏捷外包操作方法

在离岸软件开发外包中有很多恐怖故事,但有时您会听到优质的合作伙伴关系。 听起来很像婚姻,不是吗? 婚姻实际上有很多相似之处–您必须花费大量时间来认识很多潜在的伴侣,直到找到一个伴侣。 然后您仍然不确定,因此您需要经历一段“相互了解”的漫长时期。 最后,您做出了承诺,但是您需要投入大量时间和精力来维持和发展这种关系。 就像婚姻一样,如果情况恶化,那将是精力的大消耗,而且如果不浪费很多时间...

danpu1174的博客 262

告别“黑盒”开发:透明、协作的敏捷外包体验

我们为每个项目配备经验丰富的项目经理,他们不仅是沟通的桥梁,更是您项目的"守护者"。我们相信,通过这种透明、专业的工作方式,我们能够为您的项目成功提供坚实保障,让外包合作变得简单、可靠、值得信赖。在软件开发外包领域,存在一个令人痛心却普遍的现象:客户满怀期待地启动项目,却在开发过程中逐渐陷入"信息黑洞"——需求响应迟缓,进度无从知晓,最终交付的产品与初始预期相去甚远。通过定期的视频会议、即时通讯和面对面的交流,我们的团队能够深入理解您的业务需求和目标。我们认为,卓越的软件开发,过程管理与最终成果同等重要。

xunluglobal的博客 324

敏捷软件外包的挑战和策略

2005年8月我在麻州Vicor公司(半导体制造业)做了5年CIM软件工程师后离职回国,正式跨入中国软件外包行业,直到2014年12月,这一干就将近十年。下面结合这10年的外包经历和敏捷实践,一起探讨敏捷软件外包的挑战和策略。 我与外包的10年情结 我当时在长沙创智集团(Powerise)旗下的创智国际任项目级(program)总监,有3个外包项目,其中一个项目客户是微软,当时据说是通过李开复牵线搭桥,签的项目是Business Dynamics ERP 产品的本地化。我们团队人数大约有25人,瀑布

ScrumDavid的博客 830

技术社区活动组织实战:从翻车到温度的12血泪经验

技术社区活动不是PPT宣讲或流程复刻,而是围绕程序员真实需求展开的动态协作实践。其核心在于理解技术传播的本质——将抽象知识转化为可感知、可验证、可传承的价值。这要求组织者兼具流程设计能力、现场应变能力和人文洞察力,尤其需重视物理空间约束、注意力衰减规律与弱连接构建逻辑。本文基于博客园北京俱乐部线下活动的真实复盘,深度拆解投票机制失灵、投影串扰、GC调优脱节等典型问题,融合‘自然架构’‘前端工程化’等热词场景,提供覆盖场地确认、设备调试、讲者支持、反馈收集等12个关键环节的可落地方法论,适用于技术沙龙发起人、

lanmh的专栏 399

外包月薪5K到阿里月薪15K,专题解析

都说程序员是一个青春饭,而我也不知不觉进入行业七年多了,自己也马上要进入而立之年了。都说30岁是每个程序员必会经历的一道坎,而自己也快到要面对这个坎了,我时常会想我能不能跨个这道坎。 于是请教了一些年过30还发展很好的前辈。让我对"程序员的中年危机"有了进一步的看法。 其实我们应该看到互联网的本质,它本就是一个生命周期及其短暂的行业,快速的迭代、敏捷的开发、风口的来去,这个行业充满了机遇也充斥着非常多的浮躁,如何学习,如何看待行业,如何处理自己的职业规划,优雅并且顺利的走过瓶颈期,就是"程序员中年危机"的

m0_56259669的博客 379

敏捷开发笔记

1,就是在一个高度协作的环境中,不断地使用反馈进行自我调整和完善 — 这个类似之前待过的外包公司的做法 2,重构:功能不变的情况下,重新设计部分代码,改善代码的质量。 3,工作中一定要将解决问题设为最高优先级别,对事对人!解释清楚你想要什么,并清晰地表面你的目的是解决问题, 而不是职责或者进行争辩。团队就是要有互帮互助的精神! 4,不要坠入快速的简单修复之中,要投入时间和精力保持代码的整洁、清...

追梦赤子心 948

2010年1月21-22日 中文ScrumMaster课程

中文ScrumMaster课程(LeanScrumer):(北京)讲师:刘松 (CSM) (中文授课)时间:2010年1月21-22日(9:00AM-5:30PM/2天)地点:北京大学英杰交流中心联系我们:lin.li@cocomputing.com 010-62669011如何报名:网上报名 或 发报名Mail到lin.li@cocomputing价格:3500元/2天/

李林的个人专栏 3158

2026年6月PMP考试:60天倒计时开始,这份“项目经理搞定项目式”备考清单请查收

【PMP备考60天通关指南】距离6月14日考试仅剩60天,这份高效备考清单助你稳拿证书。核心策略:1)抢报6月考位(4月16-23日中文报名);2)三阶段备考:前20天搭建知识框架,中间25天重点攻克敏捷(42%分值)、变更管理(22%)等核心模块,最后15天全真模考;3)掌握五大题型口诀(变更/敏捷/冲突/风险/职业道德)。特别提醒:2026年将启用新考纲,本次是旧规则最后机会。备考关键:每天1.5-2小时专注学习+3次以上模考+错题精研。持证可获20-30%薪资溢价及多项城市人才福利。立即行动吧

2601_95424749的博客 416

别再花几周做3D动画了!用Wan2.2-T2V-A14B API,10秒生成你的第一SMT产线演示视频

本文介绍了如何在星图GPU平台上自动化部署Wan2.2-I2V-A14B镜像,快速生成工业演示视频。该平台简化了部署流程,用户可通过API调用,利用该镜像将文本描述高效转化为动态视频,典型应用于快速创建SMT产线、装配线等工业流程的演示动画,极大提升内容制作效率。

weixin_35751412的博客 395

软件项目管理期末复习题

** 第一章软件项目管理概述** 一、填空题 1、敏捷模型包括___个核心价值,对应____个敏捷原则。 2、项目管理包括()、()、()、()、()5个过程组。 二、判断题 1、搬家属于项目。() 2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。() 3、过程管理目的是要让过程能够被共享、复用,并得到持续的改进。() 4、项目具有临时性的特征。() 5、日常运作存在大量的变更管理,而项目基本保持连贯性的。() 6、项目开发过程中可以无限制地使用资源。() 7、相比传统过程的预测性

qq_51481704的博客 1万+

软件项目管理课程期末复习一

填空题题库(教材内容) 1.敏捷模型包括()个核心价值,对应()个敏捷原则。 答案:4|12 2.项目管理包括()、()、()、()、()5个过程组。 答案:启动过程组|计划过程组|执行过程组|控制过程组|收尾过程组 3.项目立项之后,项目负责人会进行()决策,确定待开发产品的哪些部分应该采购、外包开发、自主研发等。 答案:自造-购买

xiaobai__1S的博客 405

【转】用正确的方法来写出质量好的软件的75体会

1. 你们的项目组使用源代码管理工具了么? 应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。 2. 你们的项目组使用缺陷管理系统了么? 应该用。ClearQuest太复杂,我的推荐是BugZilla。 3. 你们的测试组还在用Word写测试用例么? 不要用Word写测试用例(Test Case)。应该用一个...

weixin_30810239的博客 81

B2910-90110_keysight_Measure_B2900B/BL_

Keysight B2900B/BL Series Precision Source/Measure Unit

上一篇: 22条经典的编程引言
下一篇: Beautiful Code and Beautiful Software
anchengshe9751
博客等级 码龄10年 4粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值