视野
发布新的应用程序或数字产品并非易事,完全有理由庆祝。但多数企业很快就会意识到,成功创建数字资产的时候,在许多方面,战争的号角才刚刚吹响。
面对数字能力创新、转型和拓展的重重压力,企业在软件和技术投资方面的管理负担也越来越重。据估计,应用程序的维护和更新成本在其总拥有成本中占比高达 70%,更不必说为了保证应用程序继续吸引最终客户并且保持卓越性能而需付出的集体努力。
Thoughtworks DAMO™ 托管服务总监 Nivetha Padmanaban 说:“观察一下任意数字资产的整个生命周期,就会知道,构建阶段时间很短。假设一个应用程序的生命周期是十年,那么构建可能需要两年。在剩下的八年里,不仅要使应用程序正常运行,保持良好状态,还要保证可以随时发展演进,因为业务和客户要求会不断变化。”

“观察一下任意数字资产的整个生命周期,就会知道,构建阶段时间很短。假设一个应用程序的生命周期是十年,那么构建可能需要两年。在剩下的八年里,不仅要使应用程序正常运行,保持良好状态,还要保证可以随时发展演进,因为业务和客户要求会不断变化。“
Nivetha Padmanaban
Thoughtworks DAMO™ 托管服务总监
这样就形成了一种艰难的态势:软件支持和维护需求持续存在,多数情况下还会不断增多,然而可用资源不仅成本高昂,而且数量也不可能永远充足。Stepsize 的一项研究估计,开发人员将三分之一的时间用在了老系统的维护和改造上,其中大部分时间是在试图处理技术负债,即弥补传统基础架构和当前业务需求之间的鸿沟。这不仅影响公司的交付速度和能力,还会影响团队士气。
维护和技术负债消耗了开发人员的大量时间
开发人员一周大约要用 1 天的时间处理技术债


来源: Stepsize
公司往往别无选择,只能将创新工作的重心从打造新产品转移到巩固现有业务的弹性上。Forrester 估计有 80% 的企业在做这样的调整。
为了保持运转,公司迫切需要探索软件维护的替代方法,尤其是,寻求外援。研究表明,即使很多行业面临衰退,全球应用程序管理服务市场规模到 2026 年也仍将翻一番以上,接近 600 亿美元。
“以往,公司认为软件开发就是集中一段时间紧张地进行开发,然后就可以将开发出来的软件转交给生产支持或维护团队,或委托托管服务提供商来接手后续工作,这类情况很常见。”Thoughtworks 技术总监 Scott Shaw 说,“而且一般来说,这些提供商会采用工单系统。他们负责修复故障程序,按照相应服务级别让程序恢复运行,但不一定能解决根本问题。”
但是观念在变。“人们对软件交付的看法改变了很多。”Shaw 解释道,“人们明白软件是‘有生命’的产品,需要随着时间的推移不断演进,不能像对待实物资产那样,只要完成构建,整个项目也就结束了。”
实际上,“应用程序的生命周期比人们预想的长多了。”他指出,“有些应用程序刚部署时,没有人会想到,直到今天这些应用程序还在维护,而且仍然对整个大公司的运营发挥着至关重要的作用。所以,在改进和增强软件方面,有必要确保软件更易于更改,与现代技术保持同步,而且在整个生命周期始终保持安全、稳健、有弹性。”

“有些应用程序刚部署时,没有人会想到,直到今天这些应用程序还在维护,而且仍然对整个大公司的运营发挥着至关重要的作用。所以,在改进和增强软件方面,有必要确保软件更易于更改,与现代技术保持同步,而且在整个生命周期始终保持安全、稳健、有弹性。”
Scott Shaw
Thoughtworks 技术总监
对于人才或资源短缺问题而言,托管服务关系这种解决方案可能会很受欢迎。但是,如果有开阔的思维和适当的合作伙伴,托管服务的作用可能而且应该远不止如此。最高水平的服务和支持不仅仅是助力企业简单地维护软件,而是促进软件升级,紧跟技术能力的最新发展水平,为企业的战略腾飞扫清道路。
“在当前环境中,企业尽管预算有限,但依然希望不断促进数字产品升级换代,使之能够灵活适应、快速响应,增强业务弹性。”Thoughtworks 总监级顾问刘阳说,“但这样就意味着,维护不仅仅是保持软件正常运行,还需要开展工程工作,从而减轻技术负债,改善架构,提高软件质量。”

“在当前环境中,企业尽管预算有限,但依然希望不断促进数字产品升级换代,使之能够灵活适应、快速响应,增强业务弹性。但这样就意味着,维护不仅仅是保持软件正常运行,还需要开展工程工作,从而减轻技术负债,改善架构,提高软件质量。”
刘阳
Thoughtworks总监级咨询师
1. 改变思维方式,忘记软件“维护”这个词
Nivetha 认为,软件明显状况不佳或即将发生故障时,企业常常会向托管服务提供商寻求帮助。但到了那个时候,企业声誉和收入可能均已严重受损。
“企业看待支持和维护的方式已经完全变了。”她解释道,“二十年以前,情况很被动。如果软件出现故障,你就花时间去修复。然而,技术的发展让一切都转移到了云上,人们把高可用性视为理所应当。哪怕停机几秒钟,都会带来巨大的损失。在我们所处的这个时代,如果软件出现故障,它应该自动进入其他节点,或尝试自我修复。”

“企业看待支持和维护的方式已经完全变了。二十年以前,情况很被动。如果软件出现故障,你就花时间去修复。然而,技术的发展让一切都转移到了云上,人们把高可用性视为理所应当。哪怕停机几秒钟,都会带来巨大的损失。在我们所处的这个时代,如果软件出现故障,它应该自动进入其他节点,或尝试自我修复。”
Nivetha Padmanaban
Thoughtworks DAMO™ 托管服务总监
这些趋势表明,出现故障还会导致更严重的后果。客户对停机的容忍度日益降低。英国的一项研究发现,如果首选品牌出现故障,大约有三分之一的客户在 30 秒内就会准备查看竞品网站。
提起 2022 年底和 2023 年的一系列系统中断事件,包括导致美国航班瘫痪的系统维护问题,Shaw 说:“不重视应用程序,把软件看做是一种资产,完成构建之后就置之不理,任由各种问题越积越多,我们都知道美国航空业因为这种做法而付出了怎样的代价。这对很多企业来说是一个教训。他们很关注这个情况,开始探索如何不仅能运行应用程序,还能确保应用程序在面临灾难性事件或意外情况时具备弹性恢复能力。”
这些“意外情况”包括安全漏洞。Skybox Security 数据显示,过去十年,软件和系统漏洞增加了两倍多。平均一次数据泄露造成的损失高达 400 万美元,这就意味着简单的补丁无法充分抵御风险,一旦出现问题,综合损失可能达到数十亿美元。
软件漏洞暴增,企业疲于应对
过去十年,漏洞增加了两倍多


来源: Skybox
与此同时,企业还面临经济压力,现代化和安全问题不一定是其最关注的事情。刘阳表示,当务之急可能是“怎样减少 IT 或产品开发方面的投资,节省资金。”
执行这样的策略之前,企业“真的需要看看技术负债可能会导致什么后果。”他补充道,“如果企业减少对新功能或软件维护的投资,添加没有经过充分测试的代码,可能不会马上产生技术债务,缺陷也不会太明显,因为他们尚未投资建立可观察性。这会带来严重风险,导致发生后果极其严重的事件,尤其是对医疗保健或金融行业。”
信息和软件质量联盟 (CISQ) 数据显示,仅在 2020 年,美国企业因劣质软件而蒙受的损失就超过 2 万亿美元,其中大部分是运行故障所致。同时,据估计,最终需要修复的缺陷导致累积的技术债务超过 1.3 万亿美元。
在软件质量上偷工减料,代价巨大


来源: CISQ
与其认为可以推迟或完全避免维护支出,不如以其他方式平衡财务和战略目标。
本质上,“对待应用程序的运行要像对待开发一样。”Nivetha 表示,“开发的时候那么认真,那么重视代码的质量,对吧?即使到了应用程序的生产阶段,也要同样认真,同样重视。这是我们认为很重要,但常常会被忽视的做法。”

“对待应用程序的运行要像对待开发一样。开发的时候那么认真,那么重视代码的质量,对吧?即使到了应用程序的生产阶段,也要同样认真,同样重视。这是我们认为很重要,但常常会被忽视的做法。”
Nivetha Padmanaban
Thoughtworks DAMO™ 托管服务总监
尽管“零维护”软件这个概念很有吸引力,Nivetha 建议企业要控制自己的雄心壮志。
她说:“如果周围的一切都在不断变化,那么零维护软件就很难实现。即使代码库没变,但使用软件的方式、技术格局和框架也可能变得先进了。与其追求实现零维护,企业应该把目标放在提高应用程序的灵活性上。”
然而,在完成开发后将灵活性放在首位,这种情况相当少见。刘阳认为,IT 服务管理 (ITSM) 和信息技术基础架构库 (ITIL) 等框架尽管很有用,但有时会让人认为,软件维护必须在很大程度上由流程推动。
“我不是说(这些框架)不好,而是说它们会限制企业对于支持阶段的创新和想象力。”他解释道,“我们相信,在流程中,人们可以而且也应该进行创新,因为这样会促进学习。”
例如,如果团队拘泥于流程,一旦遇到非常规问题,他们可能会认为自己没有突破常规的余地,无法得出创造性的解决方案。
“(流程)会让人害怕出错。”刘阳说,“到了要提高软件质量,寻找缺陷或事件背后的原因的时候,这样就不行了。维护不应该以流程为重点,而应该以人为本。”
如果不够灵活,那么不可避免地,“软件就会非常僵化,完全没有发展演进的可能。”Nivetha 表示赞同,“很多大企业对自己的软件不敢改动哪怕一丁点地方,因为它们没有安全网,不知道自己是否可能会因为改动而造成别的什么破坏。几年后,他们会不得不重新编写全部代码,或者直接弃用软件。”
企业可以将支持和维护看做开发阶段的延续,打破这个循环。Nivetha 建议:“要将运行阶段或运行问题看做开发问题,而不是支持和维护问题。这可能很难,因为通常业务主管考虑的是业务问题,而运营人员则看重成本,以及如何逐步削减成本。他们注重不同的优先事项,但有必要达成一致。这就是为什么我们认为更有必要的是改变思维方式,而不是提升能力或技能。”
过于注重成本的危害在于“会让人想砍掉可能不应该砍掉的部分。”她补充道,“说到支持和维护,我甚至都不喜欢用这两个词,我会说持续和演进。尽可能减少技术负债,这样未来就可以更灵活地实施演进,延长软件的使用寿命。”
2. 人才在自我修复型企业中的作用
除了不该过于注重成本,将维护视为“价值低廉”的活动这种观念也需要改变。
Shaw 表示,“有人将支持或运行应用程序视为比软件交付技术水平更低的工作,这种观念是错误的。我们认为应用程序的运行和演进是一个连续的过程,同样需要技能,同样需要关注细节。”

“有人将支持或运行应用程序视为比软件交付技术水平更低的工作,这种观念是错误的。我们认为应用程序的运行和演进是一个连续的过程,同样需要技能,同样需要关注细节。”
Scott Shaw
Thoughtworks 技术总监
Nivetha 表示同意,指出客户及其服务提供商经常认为应该让入门级人员来负责提供支持,但事实远非如此。
“企业必须认识到,如果开发了完善的代码库,支持团队就必须维护它,如果出现任何问题,支持团队也必须对代码库进行修复。”她解释道,“所以企业真的需要聘请开发人员和工程师来担任这样的职位。”
刘阳指出,有些服务提供商主要依靠价格竞争,承诺仅收取低廉的预付费用,以期达成交易,他们一直宣扬能够提供“物美价廉”的支持和维护服务。
企业常常在出现问题或需要廉价服务合同范围之外的支持时才开始意识到这类服务的真实价格,因为供应商可能会采取锁定策略,趁机“针对企业的变更需求,收取平时三到五倍的费用。”他说。
只有通过实施先进的自动化才能真正持续降低维护费用,而这需要专家级技术和才能。
刘阳说:“如果我们提供的应用程序管理服务费用低于常规软件交付团队的费用,并非因为我们的劳动力更廉价,而是因为我们采用了工程方法来提高自动化水平。“通过高水平的自动化减轻人员的工作量,不仅可以削减成本,还会降低因人为失误而向软件系统引入新缺陷的可能性。”
“如果有任何步骤重复了第二遍,那就说明还有实施自动化的空间。”Nivetha 说,“我们推行的就是这种思维方式。但在有些情况下,企业会试图通过增加人力来解决问题。”
在 Nivetha 和 Shaw 看来,业务主管往往主要关注应用程序能否运行,通常缺乏改进程序所需的专业技术。这就更要保证现场工程师可以提供咨询服务,能够识别问题并见机行事,不断增强应用程序,使其更加有助于实现业务目标。

"相关人员真的需要非常积极,即使没有出现问题,也要主动寻找可以实施自动化和优化的地方,因为业务主管无法告知哪些方面需要自动化和优化。”
Nivetha Padmanaban
Thoughtworks DAMO™ 托管服务总监
Nivetha 说:“在开发阶段,任务很明确,你知道一周的工作是什么,下个版本发布的时间是什么时候,每个团队成员都知道这些安排。但在运行阶段却不是这样的。你不知道会不会遇到生产事件,也不知道你明天是不是就只需要处理一个事件。相关人员真的需要非常积极,即使没有出现问题,也要主动寻找可以实施自动化和优化的地方,因为业务主管无法告知哪些方面需要自动化和优化。”
因此,理想的支持团队不仅要技能高超,还要愿意积极推动改进。如果一个团队安于被动应对,在运营中积压的问题最终会让他们不堪重负。
Nivetha 认为,“如果把重点主要放在生产事件上,那你解决的只是表面问题,并没有找到问题的根源。”
成立支持团队的关键是广度,而非深度。“我们成立团队时,不只看成员的技术技能和运营经验,还考虑他们的其他能力。”Nivetha 解释道,“我们要的是‘多面手’,会写脚本,会多种语言,接触过云部署,做过事件管理。”
尽管技术行业正忙着整合和裁员,这种复合型人才依然紧俏,促使企业探索采用像 Thoughtworks DAMO™ 托管服务这样的产品,来加强其内部运营。
新一级托管服务的重点和优势
DAMO™ 托管服务彻底改变了数字资产管理方式


来源: Thoughtworks
有些客户开始将软件交付视为创造有生命且不断演进的产品的过程,对于这样的客户,诸如 DAMO 托管服务等解决方案可帮助他们将在开发阶段与技术合作伙伴建立的密切关系延续到运行阶段。
Shaw 说:“为客户开发软件的时候,我们会与产品负责人紧密合作,努力了解他们的业务目标,并迅速给出反馈。应用程序进入运行阶段,必须不断演进,这样可能会有改进,而且随着时间的推移,可以降低拥有成本。一般来说,客户会希望和同一个团队合作,共同增强产品功能。”
Shaw 指出,在有些企业,技术对于其业务具有至关重要的作用或核心作用,比较基本的托管服务可能不足以满足这类企业的需求。“这类企业有着非常高的技术标准,会不断增强并改进自己的应用程序。随着业务发展,他们会将这些应用程序的一部分交给合作伙伴维护,希望自己可以信任这个合作伙伴,也知道合作伙伴会同样认真维护这些应用程序,保持应用程序的技术完整性,就像我们在开发应用程序时那样。”
另一方面,刘阳指出,有些传统企业在经历了艰难的数字化转型后,可能依然缺乏深厚的内部数字化专业知识,这类企业可以将 DAMO 托管服务作为对其内部能力的补充,来弥补关键差距。
即使企业极力控制开支,Thoughtworks 专家指出,聘请服务提供商分担维护责任,也是一项合理投资。
Shaw 说:“在当前的经济环境中,客户的一大优先事项是维持收入来源,留住客户群,同时花小钱办大事。所以,他们会将内部人才集中到几个关键应用程序上(这类应用程序对其保留客户和增加收入的影响最大),这样就会导致他们几乎无暇顾及其他应用程序。如此一来,他们想要将这类应用程序的改进工作外包出去,也就不奇怪了。”
3. 高效合作伙伴关系的特点
和任何关系一样,企业和外部服务提供商之间的关系也会面临挑战。一个普遍关注的问题是,随着服务合作伙伴承担更多的责任,越来越接近客户的技术战略或核心业务,如何在依赖外部服务供应商和发展内部创新能力之间划清界限。但 Shaw 认为,这两方面并不相斥,也不属于零和游戏。
“比如,DAMO 托管服务团队接管了我们客户的一个应用程序,立即做出了改进,大大减少了从作出变更到将变更投入生产环境所需的时间,客户随后在内部采用了该方法,也分享给了内部团队。”Shaw 指出,“只有让合作伙伴和客户保持持续沟通,并分享这些改进机会,才有可能取得这样的进步。”
因此,企业评估其服务关系时,沟通频率和深度是应该考虑的关键因素。“你需要知道团队是否可以提供你所需的信息,让你能够确定该如何处理应用程序。”Shaw 指出,“你有没有拿到帮你将应用程序的性能可视化的反馈?你有没有获得相关数据,了解应用程序的使用情况和客户体验?你需要获得相关报告,帮你更好地管理并规划应用程序的长期发展轨迹。”

“你需要知道团队是否可以提供你所需的信息,让你能够确定该如何处理应用程序。你有没有拿到帮你将应用程序的性能可视化的反馈?你有没有获得相关数据,了解应用程序的使用情况和客户体验?你需要获得相关报告,帮你更好地管理并规划应用程序的长期发展轨迹。”
Scott Shaw
Thoughtworks 技术总监
在紧急情况下,尤其应该如此。Shaw 指出,“就算是在最好的情况下,也会发生故障。所以另一个挑战是,合作伙伴与您的沟通交流有多顺畅高效。你对团队的技能有多满意,尤其是在故障情况严重而你急切想要知道应用程序什么时候才能恢复时?”
在安全方面的高超技能和最佳实践是另一个重要的考虑因素,也是一个不同合作伙伴的潜在区别之处。
“跟踪所有已经发布的安全公告和开源软件的所有补丁,并迅速采用这些补丁,这项工作很艰巨。有时候这才是企业真正面临的一个问题。”Shaw 指出,“能够将这类工作交给合作伙伴,对于这些企业来说意义重大,因为这类工作可能就是这些团队的立身之本,他们的工作就是让应用程序以最新的版本安全、正常运行。”
拥有全球业务的企业尤其需要权衡供应商满足数据驻留要求的能力,以及供应商的数据治理策略强度。支持各企业谨慎建立并维护其伙伴关系的理由有很多,这便是其中一点,无论合作伙伴的行业地位或专业能力如何,企业都应充分参与。
刘阳表示,“理想情况下,企业应该设立一个合格的内部团队,与软件合作伙伴合作,这个团队要有广博的领域知识并且获得采用新技术的公开授权。如果企业将一切工作都外包给供应商,就不再完全了解自己的数字基础设施、应用程序和资产,一切都由供应商控制管理,对于供应商为满足更改需求而收取的费用,企业也就没有能力讨价还价了。”

“理想情况下,企业应该设立一个合格的内部团队,与软件合作伙伴合作,这个团队要有广博的领域知识并且获得采用新技术的公开授权。如果企业将一切工作都外包给供应商,就不再完全了解自己的数字基础设施、应用程序和资产,一切都由供应商控制管理,对于供应商为满足更改需求而收取的费用,企业也就没有能力讨价还价了。”
刘阳
Thoughtworks总监级咨询师
Shaw 认为,要决定哪些应用程序需要外包或哪些应用程序需要内部保留,一个适用原则是让内部团队负责具有战略意义的应用程序,也就是那些需要使用企业内部独有的专门技术或特殊知识的应用程序。相反,“重要但不需要太多企业运营相关信息的应用程序,则适合外包出去。”
在合作过程中,企业及其服务合作伙伴可能会发现,他们的工作进度不同,而这会产生问题。
刘阳说:“例如,内部团队采用敏捷方法,而与之合作的供应商采用的却是传统方式,这样就会出现障碍。”
同样地,保守的企业与不断推陈出新的软件合作伙伴合作,前者可能会不适应后者的创新步伐。刘阳认为,“在这种情况下,我们在运行阶段仍然采用的敏捷工作方法,就成了一个关键的工具,可以用来快速呈现某些结果、证明创意的价值、帮助客户决定他们是否想要进一步推进相关工作。”
最重要的是,企业选择的服务提供商,应该要和企业一样愿意积极开始并持续投入实施变革之旅,并且对成功有着和他们类似的看法,包括企业的成功,以及企业终端客户的成功。
战略合作伙伴与标准服务提供商的特点


来源: Thoughtworks
“(成立 DAMO 托管服务团队时)我们按照聘用开发人员的方式聘用团队成员。”Nivetha 表示,“我们聘用的是具有这类项目运营经验的开发人员,而不是三级支持人员。这样我们就能够按照同样的工程实践,保持与开发应用程序相同的代码质量,甚至在运行阶段也是如此。我们采用与开发团队相同的思维方式和相同的做法,保持与他们相同的质量意识。”
“传统企业的软件开发部门和维护部门彼此独立,和这些企业不一样,我们是作为一个统一团队运作。”刘阳赞同道。
同样重要的是,将合作关系结构化,在有些阶段需要明确划分各自的责任,而在有些阶段则需要确保客户和服务提供商团队无缝衔接。
Thoughtworks“绿地”(greenfield) 项目的典型端到端交付模式包含三个不同的阶段:发布最小可行产品 (MVP)、积极开发、持续演进。在积极开发阶段,内部和 DAMO 托管服务团队密切合作。在持续演进阶段,DAMO 托管服务团队则可以接管工作。Nivetha 指出,确保客户和 DAMO 托管服务团队在一开始就密切合作,可以更加顺利地完成过渡。
对于“棕地”(brownfield) 项目,从内部团队维护应用程序到完全由合作伙伴接管,过渡过程可能会更棘手。Shaw 说:“在这个过渡阶段,DAMO 托管服务团队的开发人员会与客户的开发人员一起工作,以便了解应用程序,这样在 DAMO 托管服务团队完全接管后,他们就掌握了所有需要了解的信息,以便长期改进应用程序。”
结论:从节约成本到创造价值,助力企业实现战略目标
归根结底,除了技术和能力,服务提供商要与客户保持密切高效的合作,关键在于信任,刘阳表示,“为了建立信任,服务提供商必须不断为客户提供价值。”

“为了建立信任,服务提供商必须不断为客户提供价值。”
刘阳
Thoughtworks总监级咨询师
这并不仅是指提供最佳实践建议或被动地满足客户的要求。如刘阳所言,真正的价值是在服务提供商职权范围内对数字产品负责,“迅速了解当前的情况和挑战,并与客户一起努力改进数字产品”。
Shaw 指出,虽然成本始终是驱动企业变革的主要因素,但如果要让合作关系发挥真正的价值,重点应该放在三到五年的总拥有成本上。
他解释道,“你需要考虑的不是每个工单、每次故障或每次改进要收取多少费用,而是要考虑运行一个应用程序的成本是否会随着时间的推移而降低。你是否在改进应用程序,使它能更快地演进?你能否更高效地改进应用程序,从而降低这些方面的费用?
“传统的托管服务销售方式意味着企业为自己实际上没有获得的成果付费。”他补充道,“他们可能要支付一定数量的故障或支持的费用。然而,他们本应该按成果付费。不仅要保持应用程序正常运行,还要确保应用程序不断演进和改进,这样一来,他们支付的费用才能最终产生更大的回报。
Nivetha 认为,在合作关系中,真正的价值往往会随着时间的推移而累积。
在标准开发过程中,“第二阶段是持续开发应用程序,并添加更多功能和用户。”她说,“到那时候,你应该关注的是如何创造更多价值,而不是如何降低成本。一旦进入第三阶段,DAMO 托管服务团队会更多地关注自动化,从真实用户那里获得反馈,了解各自模式,探索是否还能做点什么来使应用程序更高效地运行。”
增强稳定性、加快交付、降低总拥有成本,付出的努力最终会带来战略改进,因为这些努力通常有助于客户了解系统的实际状态,突出潜在风险以及可以改进的领域和技能。
“至少在少数情况下,我们会从评估开始,查看代码库和所有事件,并确定可以实施改进和自动化的地方,了解安全漏洞以及测试自动化方面质量关口比较薄弱的情况。”Nivetha 指出,“我们还采用了数据面板,可以全面了解关键指标,如解决问题的平均时间和部署数量。”
她补充道,“即使是管理‘棕地’项目,也就是接管由不同供应商长期维护的应用程序,DAMO 托管服务团队也会努力改进这些应用程序,延长它们的运行时间,并随着时间的推移不断提升这些应用程序的价值。我们就是这样相辅相成、相得益彰,而且我们最终仍然会为客户增加价值。”

"即使是接管由不同供应商长期维护的应用程序,DAMO 托管服务团队也会努力改进这些应用程序,延长它们的运行时间,并随着时间的推移不断提升这些应用程序的价值。我们就是这样相辅相成、相得益彰,而且我们最终仍然会为客户增加价值。”
Nivetha Padmanaban
Thoughtworks DAMO™ 托管服务总监
在收件箱中获取《视野》
为数字领导者提供及时的商业和行业洞察。
《视野》订阅为您提供我们专家的最佳播客、文章、视频和活动,以扩展我们广受欢迎的《视野》出版物。