论实现敏捷开发
Posted Pivotal
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论实现敏捷开发相关的知识,希望对你有一定的参考价值。
虽然敏捷开发有一套清晰的程序和策略(比如:站立会议、迭代、持续交付等),但这套程序和策略并不是放诸四海而皆准的。从来没有一种流程能做到如此。多年来我们与各种客户进行了沟通,希望了解客户的心态和方法,也由此一再深刻地体验到这一真理。例如,一家小型初创公司与一家拥有 900 名员工的企业所采用的敏捷软件开发方法必然不同;一个在敏捷开发方面经验丰富的团队开始新项目时,其做法必然与刚接触敏捷开发的团队也有所不同。一家在数十年间一直采用瀑布式流程的公司试图向敏捷开发转型时,又会如何呢?那番场景无疑又完全不同,有不寻常的重重挑战有待克服。
全球500强公司的Humana恰好属于这最后一类。这家公司是美国医疗健康服务的主要提供者,他们为会员提供的网络资源和在线服务帮助他们了解到最新的健康受益计划。经过不断的技术创新,虽然他们已成功过渡到敏捷开发,但其成功并不总是一帆风顺的。
Humana 数字体验中心的 Antonio Melo 表示:“可以说我们在一定程度上做到了敏捷,但只有这些团队所在的整个企业现了敏捷,你才算真正实现了敏捷开发。在 Humana,一直以来都是你需要的每项资源都有对应的负责部门,您可以向他们提出申请并与他们沟通。而他们为您提供完成工作所需资源的速度各不相同,时间从几周到几个月甚至到更久。企业确实需要持续关注这一方面。”
Humana 使用 Pivotal Tracker
通常情况下,大家对新的工作流程和思路会有顽固的抵触心理,普遍害怕做无用功。但 Melo 表示,这不应该是让人气馁或停止前进的原因。“不要让系列无法回答的问题、与未知的遭遇或对最终结果的恐惧成为阻止您开始的障碍或理由。可以小步推进,但也要迅速行动。只需基于您的起点及关注重点,您自然会发现相关问题,并在工作过程中迅速解决这些问题。”
太阳能行业的初创公司 Off-Grid Electric的首席信息/产品官 Thor Muller 在敏捷开发的理念引入其公司时,也注意到了类似害怕不确定性的情况。“商务人士都有个问题,那就是总是要为交给你做的事情设置一个最后期限。对此我总是问他们:‘你翻修过房子吗?’ 不管他们想不想听真话,我总会向他们介绍不确定性原则。他们也总能理解这一点。但进入实施阶段时,他们又想获得一个时间表,想获得保证的承诺。坦白来说,我也想获得保证的承诺。我希望我的团队有目标,然后通过工作实现那个目标。但我也希望他们能够明白整个过程中是存在权衡的。就像你经常做得那样:一旦你意识到‘噢,工作量太大了’,那就说明必须要放弃一些东西了’。”
Notion 在处理一些用户故事
Notion开发了分析仪表板,其联合创始人兼 CPO Kevin Steigerwald 担心出现类似的掺杂了恐惧与一定程度的威胁的抵制。“我认为有些人将会过分依赖流程和那些术语。如果你试图做一些不够敏捷的工作,有人就会说:‘这不敏捷,我们不能这么做’。而这其实成了障碍。”
对于 TINT 这样的全新初创企业,挑战也决不多,但情况又十分特殊。这家从事社交媒体内容聚合的公司在实现敏捷开发之前,经历了一段试错期。CTO Nikhil Aitharaju 表示:“我们有过过渡期。最初,我们是以一个团队的形式进行产品规划的。就像去年,我们所有人都坐在一起规划。但是,这样的做法可扩展性不高。因此,我们分成了三个不同的团队。效果并不是立竿见影的:人人都有自己的最后期限和流程,整体进展并不顺利。我提议尝试敏捷开发,以便我们能真正进行迭代规划、产品规划,并坐在一起为用户故事分配故事点。如此一来,更易落实责任。这一过程慢慢演进,我们也从错误中汲取了经验”。
TINT 的办公室
至少在初期,敏捷开发对这个团队来说似乎是一个理想选择。“在过去两个月,我们一直在尝试这种方法。这种方法不是指结对,因为我们之前已经采用了结对方式。它是指我引入的关于敏捷规划的整个流程。我认为,到目前为止,我们已经能够提前很久做出规划,而不只是提前一周。我们的准备更充分。每个团队对事情的结果预期亦都协调一致。我们在预估方面仍面临着挑战,但我们会努力在这方面做得更好。”
在小型非营利性公司 Whole Whale,实现敏捷开发对 CEO George Weiner 来说是理所当然的选择。“我推行了敏捷开发,因为敏捷开发是必然的选择。”Weiner 表示,“数据驱动的瀑布式开发流程通常会以悲剧收场。如果产品的迭代性变得更强,那么从总体上来说,你所想到的就是一个更好的方法。所以我们在内部细分了冲刺期,每个冲刺周期时间为两周。我们在软性任务和技术任务中都这么做。就我而言,敏捷开发是最有意义的事。我们的客户评价都说我们内部对敏捷开发相当狂热。”
当然,您所喜爱的敏捷开发方式可能有所不同。但只要您的团队愿意实现敏捷开发,选择以何种方式来实现并没有那么重要。毕竟,我们采访的这些团队都给出的一条最重要的建议是:不要过于害怕未知或过于依赖规则。换句话说,如果您可以承受困难,如果您希望团队以灵活、机敏且可预测的方式工作,那么您应该试试敏捷开发。
什么是敏捷软件开发?
敏捷软件开发是一种随着不断变化的业务需求逐步构建软件的方式。它以不间断的终端用户反馈为基础,通过迭代的开发方式来促进产品的改进。这种软件开发方式与“大爆炸式”不同,并不是每隔几个月才会发布一次软件更新。敏捷开发主张软件应该更频繁地进行构建和部署,甚至是几小时就构建或部署一次,并通过即时的反馈来不断地将产品打磨成型。越来越多的应用开发领头人都在寻求和采纳敏捷开发的方式,从而克服程序自身和技术上的惰性。
为什么敏捷软件开发是当今应对业务挑战的不二之选?
根据2011年至今VersionOne的某项调查研究发现,敏捷开发拥有三大压倒性优势,即:改善管理不断变化的优先级(87%)、提高团队工作效率(84%)和增加项目可见性(82%)。
有哪些广泛应用的敏捷技术?
目前, 应用最广泛的五大敏捷技术主要包括每日立会——每天进行短暂而集中的项目组会议,提高工作连续性;短迭代——每天、每周都会进行迭代,不断满足最新的业务需求;优先级——通过Pivotal Tracker创立优先列表,随时管理待完成工作;迭代规划——整个迭代过程都拥有良好的规划,采用积分制度;回顾——每周进行一次团队回顾,审视工作进程并提出改进。
敏捷究竟有什么好处?
在敏捷的工作方式下,公司的软件开发团队能显著提高工作效率、提高数字化产品和服务的发布速度并改进客户体验。一项研究证实,采用敏捷开发公司可以把代码开发和构建的平均天数从89天减少至15天,仅为原本所需时间的17%。
我们还想用151位采用了敏捷实践的专业人士一项权威调查数据来说明敏捷的好处:
自1989年以来,Pivotal实验室已经成为敏捷开发运动的领军者。我们采用的极限编程(XP)敏捷方式,包括了初期构想、迭代规划、每日立会、测试驱动开发、结对编程和回顾过程。Pivotal 实验室敏捷地统一了设计和产品的策略,构建出了最符合用户心意的产品,也正因为在最开始我们就采用了敏捷的方针,在激烈竞争的全球软件开发图谱上,我们才有了今日的一席之地。
推荐阅读:
本文节选自medium.com 的《 Built to Adapt》,这是一本由 Pivotal 出版的刊物,围绕软件如何改变业务构建方式介绍了相关故事和观点,作者Steve Lichtenstein。
以上是关于论实现敏捷开发的主要内容,如果未能解决你的问题,请参考以下文章