【8044】敏捷开发方法

一句话评论:复习一下敏捷的12条原则,然后看看,Marty如何理解雷火电竞登录经理在“敏捷团队”里的角色定位。

Marty Cagan 发表于2009年6月1日,原文地址,译者:蒋彬 / 审校:周舜莉 徐定翔

许多雷火电竞登录开发机构都尝试过所谓的“敏捷软件开发”方法,其中最为流行的是“极限编程”(XP),此外还有其它一些敏捷方法,比如Crystal、Adaptive、Scrum和Pragmatic Programming等。
在使用这些敏捷方法时,雷火电竞登录经理常常弄不清自己的角色定位。有些雷火电竞登录经理甚至担心采用敏捷方法会影响雷火电竞登录质量。

我打算首先总结敏捷开发的核心原则,然后以极限编程(XP)​为例,指出极限编程的难点,以及如何更好地发挥它的作用。

敏捷方法一览

各种敏捷方法的要求千差万别,但是它们都遵循以下12条原则。​

1、最重要的是通过尽早地、频繁地交付有价值的软件来满足客户——尽早交付有价值的软件。

2、​频繁地交付可运行的软件,数周或者数月交付一次——频繁发布新版本。

3、可运行的软件是衡量进展的主要标准——软件比文档更重要

4、接受​需求变更,即便是在开发最后阶段——倾听,并快速学习

5、项目期间业务人员与开发者共同工作——紧密协作​

6、找积极主动的人来开发项目——为他们提供所需的环境和支持,相信他们能做好自己的工作

7、开发团队里最节省时间最有效的信息传递方式是面对面的交流

8、​自发组织的团队才能做出最好的架构、和设计——架构要敏捷,好主意无处不在

9、​持续关注先进的技术和优秀的设计能促进敏捷性——频繁地重构

10、​敏捷过程促进可持续的开发——此举应能维持相对稳健的节奏——而不是​导致失败

​11、简洁是一切的基础——少即是多

12、​团队定期反思如何提高效率,并调整​工作流程——事后反思​

极限编程概览​

要阐述​遵循敏捷方法到底意味着什么,​不妨看看敏捷方法中最为流行的极限编程的详细规范。该方法的发明者强调,极限编程并非万能,应该有选择性地加以使用。其主要原则如下。

-结对编程——两位程序员使用同一台电脑开发同一款软件

-简单设计——只设计和开发你现在就需要的东西,不考虑将来的潜在需求

-现场客户——客户代表入驻开发团队,他代表了所有雷火电竞登录的需求,在开发过程中不断的说明需求并帮助决策

-增量开发——频敏小规模发布雷火电竞登录​,快速推动雷火电竞登录​进入理想状态

-做好规划——工程师只做评估,客户决定​每次发布的功能和时间

-持续评审代码——基于结对编程的模式,两位开发者相互评审对方的工作

-持续测试——开发者在编码时就撰写单元测试,客户则撰写用例中规定的功能测试,​这些测试均是自动、持续地进行

-持续构建——持续开发和整合软件,这样能及早发现问题,系统也一直处于可构建的状态

-持续重构——软件开发人员不懈努力,通过重构代码来简化和改进工作,同时保证所有测试正常运行​

-代码共有——与每个开发人员“独享”​自己的代码这一模式不同的是,极限编辑模式中每个开发人员只要认为有机会有必要,就可以优化系统中任意处的任意代码​

-开放的工作场所——指整个团队都在一个在房间里共同工作,其中开发人员坐在中间

-每周工作40小时——限制加班以提高工作质量​

-代码即文档——最有用的文档就是软件本身,整个团队应该遵循编码规范

当然了,这种方法是从软件开发人员的角度提出来的。在他们看来,除了程序员和用户(客户),就不需要其他工作人员了。这正是让雷火电竞登录经理感受担忧的地方。​

雷火电竞登录经理的工作至少包含以下三个方面。​

定义雷火电竞登录

首先弄清楚要开发什么雷火电竞登录。极限编程方法是针对定制化软件项目提出来的,目的是满足特定客户的特定需求(比如内部员工薪资系统),它并不适用于通用雷火电竞登录。事实上,在描述极限编程方法的图书和文章里,几乎很少提及雷火电竞登录管理或是界面设计。

最让人担忧的通常雷火电竞登录经理能否代替现场客户的作用。只有在深入研究目标用户、理解用户需求、使用环境以及竞争格局,雷火电竞登录经理才能发挥最大的作用。

更让人担心的是雷火电竞登录设计(界面设计)角色的缺失。对于雷火电竞登录来说(不同于那些签署合同后开发的定制软件),用户界面和用户体验至关重要,需要专业设计师运用其专业技能进行设计,因此在工作流程中引入这一重要职位非常重要。

只要把最初的迭代作为持续演进的原型并不断检验,以确保开发团队能开发出正确的雷火电竞登录,然后再在接下来的迭代中实施雷火电竞登录执行,就能更好地利用极限编程方 法。关键是确保你开发的雷火电竞登录是客户想要购买的,而且客户能搞清楚该如何使用。只有一个客户或是雷火电竞登录经理理解这个雷火电竞登录并不足够,它应该为目标市场的广大群体 所检验。

开发雷火电竞登录

其次要考虑的是,​​这些用来开发可扩展、​高性能、可靠、易维护雷火电竞登录的技术会带来什么样的后果。这些担忧使人马上陷入一种近乎宗教狂热的争论,争论的重 点是,什么才是开发和测试软件的最佳方法,而这完全在雷火电竞登录管理职责之外。​雷火电竞登录经理​只需要清晰地确定需求,然后让技术团队按自己认为最合适的方式来控制 风险。​

极限编程过程依靠客户来定义用例(又被称为用户故事)​,以此作为功能测试的基础。这用在小型项目上或许还不错​,但如果是大型、通用雷火电竞登录的话,有必要请 专人来负责设计必要的测试用例,以确保可扩展性、功能、性能、容错性和本地化特性等。这些通常都是QA的职责,极限编程的方法完全也可以借鉴。关键是让开 发人员负责单元测试,QA人员负责其它测试(比如系统、集成和功能测试等)​。​

部署雷火电竞登录

最后一个为人们所关注的,是雷火电竞登录的发布。人们长期以来一直认为随着时间的推移,做出改变的成本也越来越高,但极限编程挑战了这一看法。换言之,只要遵循极 限编程实践,你可以降低开发中系统需要变更带来的影响。这对于定制化软件来说这没错,但对于许多商业软件雷火电竞登录来说,变更带来的影响仍然很大,尤其是对于拥 有大量活跃用户群体的互联网服务来说。

我曾经探讨过“平滑部署”的​策略,这些方法有助于降低极限编程项目所提倡的频繁发布和更新策略所带来的负面影响。

​总结

大到敏捷开发,小到极限编程方法,都是为了解决传统软件开发方法中的实际问题而创造的,尤其是致力于增强开发人员与客户的沟通,节省时间及早弄清楚你所开发的雷火电竞登录是否正是客户需要的,并减少增量开发过程中的风险,同时优先开发高优化级的功能。此外还有另外一些颇有价值的技术,尤其是结对编程、增量开发、持 续集成与自动化测试等。​

​然而,对于提供商用雷火电竞登录及服务的公司来说,更重要的是将这些方法与雷火电竞登录管理、雷火电竞登录设计、质量保证结合起来,确保你开发的雷火电竞登录能为广大用户和消费者使用。这样的话才能覆盖较广的消费者群体。

本文节选自《启示录:打造用户喜爱的雷火电竞登录》作者Marty Cagan的博客。该书从人员、流程、雷火电竞登录三个角度介绍了现代软件(互联网)雷火电竞登录管理的实践经验和理念。特此感谢Marty Cagan先生授权。

【8043】雷火电竞登录原则和雷火电竞登录评审团

本文选自《程序员》杂志2012年04期@七印部落 翻译。

文 / Marty Cagan  译 / 黄捷文,唐丰能

Marty Cagan是享有世界声誉的雷火电竞登录管理专家,曾经担任网景副总裁、eBay雷火电竞登录管理及设计高级副总裁。本文是他回顾自己二十多年来从事软件雷火电竞登录管理工作的总结和经验分享,描述了雷火电竞登录开发需要遵循的雷火电竞登录原则以及成立雷火电竞登录评审团的必要性。

雷火电竞登录原则

雷火电竞登录原则是对团队信仰和价值观的总结,用来指导雷火电竞登录团队作出正确的决策和取舍。它体现了雷火电竞登录团队的目标和愿景,是雷火电竞登录战略的重要组成部分。从形式上看,它是一系列明确的、体现团队特色的雷火电竞登录价值准则。

每次加入新团队,我要做的第一件事都是制定雷火电竞登录原则。这意味着要决定什么重要、什么不重要,哪些原则是根本的、战略性的,哪些是临时的、战术性的。

雷火电竞登录原则不是雷火电竞登录功能的清单,不依赖于任何单独的雷火电竞登录,而是整个雷火电竞登录线的战略指南和公司的价值宣言。好的雷火电竞登录原则还可以激发设计雷火电竞登录的灵感。制定产 品原则的过程也是学习的过程,可以从中了解新公司的企业文化,以及公司创始人设立的企业目标。雷火电竞登录原则是一套价值判断的框架,帮助公司作出正确的决策。

举例来说,某电影网站的雷火电竞登录原则是相信社区用户的影评比专业人士的影评更有价值。当某家制片厂想借网站发表评论时,雷火电竞登录团队就可以根据这条雷火电竞登录原则 决定是否采纳。雷火电竞登录原则是否公开因公司而异。它既可以用做团队内部的指导工具,如雷火电竞登录战略文档,也可以公开给客户、合作伙伴、投资人,用于向公众宣传公司 的理念。此外,雷火电竞登录原则还可以用来团结雷火电竞登录团队,让雷火电竞登录经理、雷火电竞登录设计师、开发团队和营销团队形成共同的价值观,在认识上保持一致。这是任何雷火电竞登录说明文档 都做不到的。注意,只罗列出雷火电竞登录原则还不够,还要按原则的重要性排序。所有雷火电竞登录都要既易于使用又安全可靠,但总有需要优先考虑的原则。最重要的究竟是易用 性,还是可靠性?

制定雷火电竞登录原则时,容易出现以下两类错误。

  • 原则过于空泛,失去了指导作用。
  • 把设计原则误当成雷火电竞登录原则。比如,为用户提供清晰的导航路径(方便用户完成下一步操作)属于常见的设计原则,不是雷火电竞登录原则。
  • 如果你所在的团队还没有制定清晰的、有关雷火电竞登录理念的雷火电竞登录原则,那么应该把大家召集起来,花点时间来讨论分析,确定团队最看重的价值理念。

    解决意见冲突

    不少雷火电竞登录经理向我抱怨,他们受够了没完没了的会议(既无议程也无结果),以及会议中的那些争论和冲突。公司高管还时不时打断会议进程,扔下没头没脑的意见,拂袖而去,留下他们丈二和尚摸不着头脑。

    这种情况在雷火电竞登录决策过程中经常发生,原因主要有以下几点。

  • 每位同事对雷火电竞登录都有自己的看法。
  • 大家都非常在乎雷火电竞登录,明白公司盈利得靠用户,只有雷火电竞登录才能吸引用户。
  • 许多人以为自己比其他人了解目标用户,事实上并非如此。
  • 另外,雷火电竞登录团队大多不必向雷火电竞登录经理汇报工作,雷火电竞登录经理没有管理雷火电竞登录团队的实权。在需要雷火电竞登录团队的配合时,雷火电竞登录经理只能摆事实、讲道理,不能强制执行。所以雷火电竞登录经理总觉得施展不开拳脚,非常沮丧。

    有时大家各持己见,僵持不下,只能请高管出面定夺。出现这种局面,说明沟通方式有问题。雷火电竞登录创意在辩论中可以得到完善,但前提是大家形成一致意见。请高管出面决策、解决冲突会激化团队内部矛盾,得不偿失。

    制定雷火电竞登录决策的过程中存在的困难着实不少,且是不可避免的,因为建设性的辩论和论证是定义优秀雷火电竞登录的必由之路。不过即使认识到这一点,我也很难把争论当成一种享受。

    为了鼓励创新,改善讨论效果,同时降低外界干扰,在作雷火电竞登录决策之前,应该先确定决策要解决什么问题,让大家在以下几个要点上达成共识。

  • 究竟要解决什么问题?
  • 要为哪类人物角色解决这个问题?
  • 雷火电竞登录要达到什么目标?
  • 每项目标的优先级是什么?
  • 继续阅读【8043】雷火电竞登录原则和雷火电竞登录评审团

    【8042】雷火电竞登录记分板

    一句话摘要:如果你没有办法衡量自己所做的事情,那你就没办法对进行提高。除了衡量之外,建立明确的基准和目标也对激发行动及结果起着重要的作用。

    Marty Cagan 发表于2009年6月1日,原文链接,译者:张莹莹 / 审校:徐定翔​

    CEO怎么知道雷火电竞登录经理的工作与自己的经营策略是一致的呢?
    CEO怎样向雷火电竞登录经理传达业务重点呢?
    CEO怎么知道雷火电竞登录经理有没有按照经营策略制订决策,有没有获得实际并成效呢?

    令人惊讶的是,很多公司无法回答这些基本问题。大多数公司并不缺乏手舞足蹈的演讲和栩栩如生的幻灯片演示,但是却少有人准确地知道究竟雷火电竞登录经理在做什么,他们的工作是不是有助于这个公司的业务发展。

    于是跟风成了最稳妥的“创新”(“只要加上关联Facebook账号的功能,用户就会买账”)。却不清楚这些功能对于公司经营策略究竟起到什么作用。不过不要紧,如果这个功能不起作用,还有一大串的成功雷火电竞登录可供模仿。

    我们都听过这句老话:如果你没有衡量自己所做的事情,那你是没办法对它进行提高的。除了衡量之外,建立明确的基准和目标也对激发行动及结果起着重要的作用。

    这一点至关重要,不仅仅对于雷火电竞登录线的规划(确保雷火电竞登录方向和透明度)重要,对雷火电竞登录经理及雷火电竞登录团队进行管理时也是这样。

    “雷火电竞登录记分卡”是我很喜欢的一种工具,它可以用来为雷火电竞登录经理及整个雷火电竞登录团队建立关键业绩指标(Key Performance Indicator, KPI)。我们用雷火电竞登录记分卡来制订决策和管理开发进度。

    我举个例子:

    假设你是雷火电竞登录经理,负责为电子商务平台的大卖家提供解决方案。商业策略因公司而异,这里假设你的公司的大部分收入来自这些卖家,因此他们是你们发展业务的关键。这种情况下,你的雷火电竞登录记分卡看起来可能会是这样:

    1.    每个卖家的平均营收(鼓励卖家卖出更多的商品)
    2.    上架商品的平均促销营收(鼓励卖家促销)
    3.    大卖家绝对数量
    4.    大卖家的净推荐值(NPS)——(让大卖家满意,留住他们)

    确定关键业绩指标以后,该如何建立具体的KPI,以及怎样按优先级对它们进行排序呢?你应该讨论每个KPI的具体设计和它的优先级,以确保你对经营策略的理解是正确的,同时实施雷火电竞登录开发时的做法也是正确的。

    雷火电竞登录经理经常抱怨说,他们没办法控制影响雷火电竞登录的所有因素,这样他们怎么能对结果负责呢?有点道理。如果雷火电竞登录处于维护期(只是修改Bug),那就不能要求产 品经理增加雷火电竞登录功能。通常情况下,目标KPI与投入的成直接相关。如果一名雷火电竞登录经理,一名设计师,6名工程师和两名QA,在某个雷火电竞登录上整整工作了一年,那 么你应该知道,这笔投资是期待你做出相当可观的回报。

    雷火电竞登录经理不能控制所有因素,这不能成为借口,还与他所处的领域有关。如果雷火电竞登录经理嫌客户数量增长缓慢,他可以向营销部门施压,优先展开网上营销/SEO。 如果没有可以用于制作用户文档的资源,那么他需要和设计师沟通,减少或取消这种文档的需求,或者联系与有这种业务的公司签合同,让他们做这些文档。

    雷火电竞登录记分卡能让我们受益良多,我最喜爱的原因是:它可以过滤不必要的功能。如果某个功能与雷火电竞登录记分卡最重要的KPI都不直接相关,那就可以忘掉它了。

    其他一些应该注意的问题:

    – 经营战略能够而且应该灵活,随时间而改变。例如,前面讲到的我们关于卖家的雷火电竞登录经理记分卡,如果比起增加新卖家,企业更看重发挥现有卖家的作用,那么我们应该调整KPI以反映这一点。

    – “平衡计分卡”与雷火电竞登录记分卡类似。我认为它的想法不错,但太过具体和正式。以我的经验判断,它对于大多数团队太复杂了。但如果你的公司已经在使用它了,那么请继续使用,但如果没有的话,建议使用更清晰、简明、可衡量的KPI。

    – 有些团队使用我说的这种记分卡,但是每位雷火电竞登录经理的列表上都有20个或更多的KPI。雷火电竞登录记分卡的价值在于帮助使用者集中精力,所以,最好减少KPI的数目,最好不超过五六项。雷火电竞登录经理可以跟踪大量的数据,但每次只应该有几个最优先的目标。

    – 记分卡可以帮助团队更好地分工协作。每一位雷火电竞登录经理都应该有明确的工作责任。如果雷火电竞登录经理有太多相同的KPI,你可能需要考虑为他们重新分配职责。

    – 每个KPI应该直接对应一个或多个关键业务。这一点应该没有任何异议。每个高管都可以看到这些KPI,并了解为什么它们是雷火电竞登录项目的重点。

    – 仅仅创建和跟踪这些KPI是不够的。你需要让整个组织知道他们,以确保每个人——营销、销售、高管、工程师、客服——理解为什么这些是你工作的重点。有时需要调整KPI以适应其他部门的工作。这种情况经常发生在销售、营销和雷火电竞登录部门之间。但是,决定权在你手上。

    一旦领导认可这些KPI和优先级,雷火电竞登录经理也清楚考核方式和自己的职责后,就可以使用记分板来考核雷火电竞登录经理的工作了。

    本文节选自《启示录:打造用户喜爱的雷火电竞登录》作者Marty Cagan的博客。该书从人员、流程、雷火电竞登录三个角度介绍了现代软件(互联网)雷火电竞登录管理的实践经验和理念。特此感谢Marty Cagan先生授权。