Salesforce 敏捷开发

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每年为我们的客户提供三个主要版本的关键。

你可能也会喜欢...