房地美公司是如何使用现代交付模式提高开发速度和质量的

CIOAge
房地美公司(Freddie Mac)的首席信息官弗兰克·纳扎罗(Frank Nazzaro)解释了除敏捷开发方式外,现代软件开发交付模式如何提高开发速度和质量。

房地美公司的新任首席信息官弗兰克·纳扎罗知道他必须采用不同的软件开发方法。该公司及其客户要求使用数字解决方案以提高效率,同时提供更先进的、以客户为中心的产品。

为了提高速度和打破组织内部的孤岛,纳扎罗从公司内部召集了他的团队和业务合作伙伴,以全新的方式开展工作,这将有助于这家拥有50年历史的二级抵押贷款市场巨头进行转型。

最近,我与纳扎罗探讨了他的现代交付方式及其对IT和业务部门的影响。以下是经编辑后的谈话内容。

[[334259]]

玛莎·海勒(Martha Heller):您如何定义您给房地美公司带来的现代交付方式?

弗兰克·纳扎罗:现代交付方式是思维和行为上的长期转变,这是推动我们进行数字化转型和为企业创造价值的关键。它由三个基本要素组成:技术支持、敏捷执行,以及组织和文化。

通过将我们用于构建、测试和交付应用程序的产品进行互连和自动化,技术支持会简化软件生产过程。敏捷是一种设计实践,其针对于团队如何进行交流,如何生成需求,以及如何分配工作以更快的速度和更低的风险交付工作。但最重要,也是最具挑战性的部分是,将组织机构的思维方式转向这些新实践。我再强调多少次也不为过,现代交付思维方式与我们(以及许多其他公司)过去的思维和工作方式有根本的不同。

什么使现代交付方式如此不同?

在传统的软件开发工作中,您需要进行分析、确定范围、制定预算和概念验证。该过程很艰巨,并会产生很多摩擦,部分原因是需要进行持续地控制,以确保您可以管理风险、成本和期限。

在现代交付方式中,您首先从发现阶段(产品的构想)开始,而并非启动一个庞大的单一项目,您会将项目分解为更小、更易于管理的组成部分。您将这些组成部分分配给各个团队,或组建新的团队将这些组成部分进一步分解为可衡量的交付任务。这样,您可以更频繁地进行交付和测试,并且可以更轻松地确定每个交付结果是否都符合最初的构想。添加一些必要的反馈渠道,这一过程可降低风险,降低成本和提高质量。您经历的迭代次数越多,您交付高价值、高质量产品的可能性就越大。

这种软件交付方式会对组织产生什么影响?

我们曾经在一种垂直的、孤岛式的组织机构中工作,其具有典型的层级制度,在这种制度中审批是自上而下进行的。在现代的交付方式中,我们间接地使组织机构发生了转变。我们替换了这种层级制度,并授权跨职能执行团队根据所定义的衡量指标来管理自己的交付产品。通过这种转变,我们极大地改善了业务与IT部门之间的协作。

财务控制的责任是另一个已消失的矛盾领域。通过将资源直接投入到产品中,我们促进了所投入资源的更有效分配、管理和透明度。开发团队和业务部门直接控制交付结果。

提供资金的模式有何不同?

现代交付方式是基于批量提供资金的方法。在创建某一产品时,我们会确定所需资金的数量,产品团队将在一段时间内消耗掉这些资金,然后根据资金消耗率来衡量产出结果。这是我们的价值衡量标准。现代交付方式之所以如此不同,是因为我们没有预先为项目提供全部资金。我们使用一种持续交付的提供资金模式,在这一模式下,根据您所处的产品生命周期不同,提供资金的量可能会增加或减少。这意味着产品负责人可以像管理任何其他产品的资金使用那样来管理该产品,本应该如此。

您是否将该产品模式用于非创收或非面向客户的解决方案?

是的。我的目标是使一切工作与产品相一致,因为当您与产品保持一致时,您就对愿景、路线图和预算负责,并可以与客户(无论是公司内部,或是外部客户)进行清晰的沟通。例如,存储、桌面即服务和平台即服务都是我们服务目录中的产品。我们也在朝着将产品团队分派到这些领域的方向发展。

对于想要转为现代交付思维模式的首席信息官,您有什么建议?

做一名教练:您无法设计出一个现代交付方式,但可以组建多个团队,并假设一切工作都将顺畅进行。如果您没有一种监控执行、提供反馈和纠正路线的机制,那么您将会失败。组织机构内的固有记忆会将人们拉回到层级制度中;他们倾向于寻找权威人物来获得答案,而不是依靠自己或团队去找答案。突然意识到自己拥有权力和责任的产品团队可能会立即投入工作,但其他团队可能会回避他们的新职责。这时就需要教练来激励、教导和支持他们以使他们走上正轨。

作为首席信息官,我将大部分时间都用在指导和提问:该模式是否有效?人们是否在遵循该模式?我们是否有合适的人在合适的岗位上?如果该模式没有效果,我们需要如何解决?如果一个团队比另一个团队表现得更好,这是为什么?我的很大一部分工作内容就是不断进行评估和对项目进行调整。

让您的业务合作伙伴来做领导:在IT部门从整体上推动数字化转型时,大多数参与该项目的人并非来自IT部门。我们邀请了各个学科和业务部门的主管来帮助推进该项目。这是一项跨部门的工作,需要有具备适当个性、韧性和毅力的合适人员将该项工作推向终点。

建立一种强大的咨询合作伙伴关系:您需要一个曾经做过这项工作并且可以提供外部见解的合作伙伴。作为一名开发人员,我对敏捷开发方式投入了精力,但没有对现代交付方式进行投入。一位咨询合作伙伴让我相信,现代交付方式不仅仅是敏捷实践。当我真正地研究了该模式,并了解了我们消除工作摩擦和劳累的方式后,我便开始将这些点点滴滴连接起来,然后成为现代交付方式的热衷传播者。

对组织机构采取敏捷开发方法(将组织机构视为软件):不要沉迷于您的设计。尝试不同的方法。倾听团队的意见,了解哪些方法可行,哪些无效。愿意依据反馈意见进行调整。

 

责任编辑:赵宁宁 来源: 企业网D1Net
相关推荐

2014-09-09 09:37:04

开发速度代码质量

2021-04-25 08:00:00

开发软件质量保证

2021-10-26 10:11:24

丰田人工智能信贷决策

2019-09-27 12:14:15

低代码程序平衡

2014-12-15 09:09:30

Perforce

2023-08-25 15:44:16

自动化测试软件开发

2017-08-18 13:02:15

大数据数据质量

2023-01-06 18:31:46

准确命名

2022-08-04 09:01:45

TypeScriptMicrosoft

2011-05-30 13:28:00

PHP

2010-03-12 15:49:46

Python字串查找

2017-02-07 10:11:14

大数据交通

2024-07-08 09:46:19

2024-06-27 11:00:07

2016-09-07 15:02:03

ElasticSear索引速度

2020-10-26 14:32:39

AI 数据模型

2020-05-26 13:25:00

语言编译代码

2016-02-23 11:03:03

代码质量编写函数

2016-02-24 16:03:34

代码质量编写函数

2024-08-05 11:17:20

51CTO技术栈公众号