Salesforce 敏捷(3)精益

完成本单元后,您将能够:

  • 解释精益原则。
  • 描述精益原则如何影响我们的敏捷过程。

在我们新的敏捷旅程中,我们需要创造强大的文化价值观来补充我们新的工作方式。所以,我们从精益软件开发实践中获得了一个页面,并拥有相同的价值观。

这七个值的Salesforce版本是:

  • 尊重人
  • 消除浪费
  • 提供快速
  • 准时决策
  • 优化整体
  • 创造知识
  • 建立质量
尊重人

我们不相信人们需要被告知如何去做他们的工作。我们认为管理者是“仆人领袖”,这意味着他们倾听他们的团队。我们喜欢雇用好人,然后让他们做自己的工作。如果我们把团队成员当作完成工作的手段,那么我们就不会有创造力和创新空间。

团队的成功发生在每个人都相互尊重,一起工作的时候。当个人努力超越自我时,团队往往不太成功。

那么这如何融入Salesforce呢?我们相信我们的Ohana文化对于我们的客户和我们的组织的成功至关重要。在夏威夷的文化中,奥哈纳表达了这样一个观点,即血缘关系或者被采纳关系的家庭是相互联系的,家庭成员是相互负责的。

消除浪费

难道你不想讨厌那些从未需要的东西?我们也讨厌这个。这就是为什么作为一家公司,我们努力优化资源,只为那些为我们的客户创造最大价值的项目工作。

这里有一些浪费时间的例子。

  • 多任务处理
  • 经营不善的会议
  • 工作分配的反应
  • 未完成的工作

为了确保我们不浪费任何时间,我们创建了ready的标准定义。这听起来就像是一个标准的事情列表,我们认为这是从一个工作项目开始所必需的。它旨在促进正确的对话,然后再浪费任何时间去处理某些事情,而只是为了发现它尚未准备好黄金时段,或者根本不需要。

你明白了。所以我们不要在这个特定的话题上浪费更多的时间。

提供快速

由于我们是一家始终走在创新前沿的领先企业,我们必须快速转型,跟上变化,保持竞争力。我们短暂的冲刺意味着我们不断学习什么是有效的,哪些是行不通的,并相应地做出改变。 (我们目前在技术和产品团队工作2周。

准时决策

我们避免了前期设计,而是倾向于拖延关键决策,直到最后一个负责任的时刻。这种做法有助于我们更好地了解客户需求当然,最后一个负责任的时刻是由团队自己决定的,这取决于工作的范围。

优化整体

Salesforce生态系统不仅仅是其部分的总和。为了保持对客户的信任和高质量,我们必须确保团队不在真空中工作。

我们授权我们的团队思考大,行动小,协作,失败,快速学习。

创造知识

我们希望尽可能地扩大学习和持续改进。我们短暂的冲刺使我们能够构建可持续测试的解决方案。

换句话说,我们的短周期使我们脚踏实地,始终学习,适应和创新。我们用这种工作方式 – 快速和激烈 – 与客户建立信任;我们始终将客户反馈纳入我们所做的一切。我们通过客户的成功来定义我们产品的价值。

我们在Salesforce分享知识的方式之一就是通过Chatter。团队可以去Chatter分享文件,文件和见解。我们甚至还加入了代码审查,配对编程和棕色包分享会等方面的知识,以保持团队的知名度。

我们也希望通过获得新的技能来确保我们团队中的每个人都在成长。如果团队中的每个人都只有一个专业知识,那就会使团队的生产力下降。我们希望创造一个人人分享知识和责任的均衡的学习环境。

建立质量

信任是我们的核心价值之一,这就是为什么我们一直在努力创造高品质的服务和产品,以建立客户的成功。

为了做到这一点,我们实施了一些技术实践,使我们所有的产品具有灵活性,可维护性,高效性和响应性。通过在工作中重构(或重构代码),我们帮助保持简单,清晰和简单。

与客户建立信任关系的另一个重要部分:确保我们拥有一套健全有效的测试流程。在我们转向敏捷之前,由于其他任务的出现,我们往往没有及时完成产品测试。这导致了延误。但是现在每个人都拥有质量的所有权 – 它不属于一个人。

我们所做的一件事情就是创建“混合工程师”,在技术和产品部门内废除质量工程师的职位。 这个新的工程师涵盖了完整的编码和测试周期 – 不再有单独的人员在流程的不同部分工作。

敏捷软件包

人们经常会问:“Salesforce的流程是什么?”那么,没有一个单一的流程。

我们的团队在工作类型上是多种多样的,所以我们不要求一种流程或实践。 最终,每个团队都必须根据精益原则和持续改进的概念来定义自己的流程。

我们倾向于让Ohana的文化和精益告知团队如何工作,授权他们做正确的事情,经理们支持他们实现一系列共同的目标。

Salesforce 敏捷(2)学习

完成本单元后,您将能够:

  • 解释敏捷宣言。
  • 定义敏捷原则和实践之间的区别。
  • 描述如何真正敏捷。

现在您已经明白了为什么Salesforce变得敏捷了,接下来我们将介绍如何将敏捷应用于实践。

这听起来很尴尬,但是敏捷和敏捷之间还是有区别的。敏捷意味着你知道你为什么这样做,而不是盲目地遵循一个过程。有一些最佳实践可以使你的团队敏捷。最终,如果您对以下三个问题可以回答“是”,那么您正在变得敏捷。

  • 我们的活动是专注于人吗?
  • 我们是否不断学习和改进以改进我们的流程和产品?
  • 我们是否经常向客户传递价值和喜悦?
敏捷的价值观

我们喜欢把我们的敏捷过程想像成一种美味的冰激凌圣代,层层叠叠,令人高兴。那么我们先来谈谈我们的敏捷思维的基础:冰淇淋圣代碗!

Image shows a representation of an ice cream sundae as a metaphor of how the Scrum values, principles, frameworks and practices are layered and how they relate to each other.

早在2001年,在该公司采纳敏捷之前,来自整个行业的17名软件工程师起草了敏捷宣言 – 一系列为Scrum奠定基础的价值观。这个宣言是浪费时间,金钱和精力的大型,昂贵的,经常中止或失败的软件项目的结果。他们寻找替代以往失败的文件重复,设计全部前沿的过程。

今天,这些价值观为我们提供了一个敏捷的思维方式。这个宣言是以人为基础和与创造一个成功和愉快的组织目标的合作。

这是“宣言”的一个片段:

“我们正在发现更好的方法来开发软件,并帮助其他人这样做。通过这项工作,我们已经开始重视:

  • 个人和流程和工具上的交互
  • 通过全面的文档工作软件
  • 客户协作合同谈判
  • 根据计划做出回应

也就是说,虽然右边的项目是有价值的,但我们更看重左边的项目。“

现在让我们深入这四个值。

过程和工具的个人和互动

敏捷的一部分意味着让你的团队指定他们自己的工作流程,而不是让传统的流程​​决定这个工作流程。在Salesforce,我们使用一个名为Agile Accelerator的平台,帮助团队管理工作流程和产品开发。

在我们这个规模的公司,你可以把团队分散在不同的建筑,州和国家。敏捷平台使我们能够保持无缝的通信规模 – 无论我们的时区如何。

在综合文档上工作的软件

那么我们如何确认我们正在取得真正的进展呢?我们依靠一个有形的结果:一个经过验证的软件,服务或可交付成果。换句话说,规范性文件本身并不能证明我们做的是正确的事情,也没有提供客户的价值。

客户协作合同谈判

作为一个以客户为中心的公司,部分意味着我们不只是假设我们知道什么对客户是最好的,我们实际上正在实施他们所说的最适合他们的事情。我们短暂的冲刺和持续改进流程帮助我们快速响应客户所需的变化。我们使用IdeaExchange(客户为我们提出想法的论坛)等机制来理解我们的客户发现的吸引力,实用性和令人兴奋的特点。

回应计划后的变更

我们在Salesforce所做工作的性质是创造性的,过程也是如此。我们不可能对每一个结果都确切地说,我们也不能提前预测旅程的每一个步骤 – 当你在冒险的时候,总会有一些弯路。不仅如此,我们需要快速响应客户反馈,这意味着发生了变化,而且发生得很快。

这就是为什么我们开始我们的所有介绍与安全港通知,告诫客户购买我们的服务,根据目前可用的功能做出购买决定,而不是我们所做的前瞻性陈述。

这并不是说我们靠裤子的位置来做事。我们的团队定期进行规划,从我们全公司的规划流程到发布规划,增量规划和每日计划会议。

敏捷原则一览
在下一层冰淇淋圣代上有12个敏捷的原则,为我们的迭代过程添加了味道。考虑一下你碗里的冰淇淋勺(当然是各种口味的)。

它们包括如下内容:

  • 保持简单
  • 拥抱变革以保持竞争力
  • 面对面沟通是最好的
  • 业务人员和开发人员在整个项目中一起工作

你可以阅读更多关于这里的原则。

构架

现在我们已经把所有的冰淇淋放在碗里了,现在是时候用软糖酱发疯了!继续吧,把你的冰激凌与各种确定的框架混合在一起,为角色和会议提供方法和指导,帮助我们将自己的思维和愿望付诸实践。 Salesforce使用的一些框架:Scrum,Kanban,Scrumban(两者兼有)和eXtreme Programming(这是一组技术最佳实践)。

实践

就像我们的圣代上洒满五彩斑斓,有许多敏捷,精益和技术实践,使人们以灵活和精益的方式制定框架。在Salesforce,这些实践包括计划的节奏,团队如何检查和调整,以及人们的角色和责任。每个员工都会制定年度计划文件和积压工作来管理和优先考虑工作。这是我们的混合工程实践和自动化测试环境的补充。

正是这些敏捷的价值观,原则,框架和实践帮助我们构建了Salesforce Ohana。

Salesforce 敏捷(1)理解

完成本单元后,您将能够:

  • 解释为什么Salesforce使用敏捷
  • 列举敏捷的一些好处
  • 定义Scrum
  • 解释“完成的定义”
  • 了解为什么敏捷过程为Salesforce更好地工作

想象一下,前往Dreamforce,只能了解到没有主题演讲,没有新的产品或服务公告,也没有可用于明年的创新或生产就绪功能。

这在2006年几乎发生在Salesforce,但是我们通过实施新的工作流程来避免这种情况,这个工作流程彻底改变了我们开发和交付产品的方式。

从1999年Salesforce成立以来,我们的技术和产品(T&P)团队像发条一样交付。 T&P团队之间的沟通和协作始终顺畅而简单。但是到了2006年,我们经历了惊人的增长 – 我们拥有更多的客户,更多的收入,更多的产品和更大的公司。就像任何增长的冲刺一样,这不是无痛苦的。

所有过去容易发生的事情都不再那么容易了。结果,我们开始经历创新的放缓。

扩大沟通,协作和管理,同时满足我们的发布日期已成为挑战。很明显,我们需要一种新的方法,一种以顺利的产品交付流程为中心的方法 – 一种确保没有发布延迟的方法。

Image is a graph showing how the time between major releases increased while the features delivered per team decreased over the time period of 2000 to 2006

所以我们做了我们最擅长的事情:我们冒了风险,重新提供了解决方案。我们采取了一套敏捷的原则和做法。

为什么敏捷?

我们在Salesforce所做的大部分工作都是基于创新和迭代的。也就是说,最后的结果并不总是事先知道,到达那里的路径是一个正在进行的工作。这总是一个新的冒险!

这并不是说Salesforce的所有团队都使用敏捷流程。有些团队使用瀑布框架,这是一个不太灵活的项目管理过程。您选择哪个流程取决于您知道什么 – 或不知道何时启动工作项目。

这里快速浏览一下瀑布的做法。

  • 一切都在前面计划。
  • 要求在实施之前被详细收集。
  • 继续前,每一步都必须完成。
  • 结果是在开始时确定的。

计划与适应

如果你想要决定哪个过程最适合你,请考虑这一点:如果你正在画一幅画,并且你已经决定了你的颜色,你的设置,你将花费多少时间来绘画,以及你的最终形象会是什么看起来像,那么你已经没有多少空间去改变。这并不是说这幅画不会是一幅毕加索的作品,但是你的过程并不是为了将新的想法或反馈结合在一起,以改变最终的形象(当然是更好)。那时你可能会使用瀑布方法。

但是当你迭代绘画的时候,你可以期望根据早期的反馈,新的想法,甚至是新的学习(那些颜色冲突!)而不是以有计划的,增量的顺序进行绘画。这是一个更敏捷的方法。

以下是这两个绘画过程的视觉效果:

Image shows an illustration of a painting of a person in progress. It shows what the painting would look like in the various stages when using the Waterfall process and the Agile process.

图片基于杰夫·巴顿的工作,经许可使用,jpattonassociates.com

工作复杂性

所以现在你知道不同的过程对于不同类型的工作更好。那么如何确定哪个流程最适合您和您的团队呢?考虑这些事情。

何时选择瀑布

简单的工作:

  • 工作简单而可预见。
  • 任何人都可以决定如何完成这项工作。

复杂的工作:

  • 这项工作是可以预测的,但需要专业知识。
  • 工作可以自动化。

何时选择敏捷

复杂的工作:

  • 这项工作是基于一致的反馈,风险和创新。
    • 你想尝试一下,看看它是如何工作的,根据新的知识改变课程。
    • 你正在创造新的产品,软件和服务,而你正在做的事情从未做过。

试图选择一个工作流程时,问问自己这些问题。

  • 我们对手头项目了解多少?
    • 项目的目标和要求有多清晰?
    • 解决方案有多清晰明确?
    • 什么是团队和利益相关者使用这些方法的经验?
    • 这项工作有多复杂?
以敏捷的方式扩大Salesforce

此时,Salesforce领导层开始尝试在各个团队实施敏捷实践。有一些推迟,但Salesforce高管支持这个概念,并在2006年,Salesforce技术与产品团队重组为一个敏捷开发团队。

这是什么样子?那么,我们做了以下。

  1. 采用了新的交付思维模式
  2. 实施标准化流程
  3. 接受精益原则(我们稍后会告诉你更多!)
  4. 标准化“完成的工作”的含义

我们新的敏捷思维

这个敏捷过程究竟是什么?简而言之,敏捷是各种技术实践,流程,框架,原则和价值的总称,它们要求工作流程的灵活性和对产品的迭代改变。

这是一个时间盒式的迭代方法,工作团队从项目开始阶段逐步建立可交付成果,而不是试图最终交付最终产品。敏捷帮助团队协调一致,提高质量,并迫使每个人衡量和管理进度,以更快地为客户创造更多价值。

对于Salesforce来说,它非常合适,因为我们正在寻求解决我们的沟通和扩大成长的痛苦。

我们新的敏捷过程:从五万英尺的视野

我们选择在Salesforce选择实施的敏捷流程之一是Scrum,我们以特定的原则来支持这些流程,这些原则定义了我们今天的工作方式。

什么是Scrum?

Scrum是一个过程,具有明确的角色,会议和交付物,提供了为客户提供高质量价值的框架。

为什么我们采用Scrum?

Scrum为我们提供了一个灵活的框架,以找出哪些产品可行,哪些不适用于我们的产品,并相应地进行更改。在Scrum中,每个人都拥有所有权,并且在面对他们面前的工作时有着共同的期望。

什么Scrum过程看起来像在Salesforce?

那么当我们通过它时,有150人被组织成小型的跨职能团队,短时间迭代(我们称之为冲刺)。目标是稳定交付和组织我们的过程。目前,大多数Salesforce云团队使用敏捷和Scrum的一些变化。

什么是精益原则?

我们也接受精益原则。这七条陈述描述了我们的工作流程和交付流程。他们反映了我们的Ohana文化,突出人们如何共同努力,促进我们的成功结构。我们稍后会更详细地介绍它们。

“成就”工作的新定义

现在我们有了一种新的工作方式,团队可以在学习关于工作流程和产品的新信息时成功地重复他们的流程。但是,我们怎么知道我们真的做了工作?

简单。我们为技术和产品团队创建了完成(DoD)的标准定义,以便每个人都可以在什么时候明确地清楚完成。

这里有一个需要考虑的场景:想象一下你需要创建一个新的产品功能。您将这个新任务分配给您的团队,并要求他们在本月实施。他们这样做,继续前进。快进几个月,完成的工作项目重新出现新的问题。也许有客户抱怨,因为集成没有得到充分测试。也许安全问题没有得到解决,或者性能没有达到标准。结论:工作项目实际上没有完成,至少不够部署。

我们对“完成”的定义是一套指导方针,指导团队在完成任务之前所要做的一切。为此创建一个标准对于维护Salesforce的核心价值至关重要:信任。

简而言之
我们不断地问自己:“我们做对了吗?”这就是我们如何确保将我们的客户放在我们所做的一切的中心。

Scrum流程的严密性以及敏捷和精益的思维方式是提高我们的交付和确保顺畅的发布的核心。这是Salesforce每年为我们的客户提供三个主要版本的关键。