DevOps还没有完全发展和成熟。如果用人的一生来比喻,那么DevOps还只是个少年——虽然已经走出了婴儿期,但离成人还差得很远。就在那时,历史性挑战突然出现,要求它在COVID-19大流行的冲击下迅速演变成全面实施加速软件开发工作。作为“少年”,DevOps在核心要素上当然不需要模棱两可——协作为王,自动化至上,全面实现“持续”特性,包括持续集成、部署、测试和改进。持续改进的一个重要部分是主动识别当前阻碍成功的错误,然后尽量避免这些错误。纵观众多《财富》全球2000强企业,你会发现很多企业都在DevOps的三大失误中跌入沙场。让我们看看如何有效地避免它。开发人员负担过重2021年所有CIO都将数字化转型放在首位,因此组织希望以创纪录的速度提供改变游戏规则的能力以快速击败竞争对手是很自然的。这当然需要整个团队的共同努力,包括开发人员、产品负责人、测试人员、运营人员和站点可靠性工程师(SRE)。但是,每当某些功能或解决方案没有及时交付时,谁应该承担责任?几乎总是开发人员。另一个残酷的现实是,大多数公司都难以吸引到一流的开发人员,留住少数顶尖人才成为一项长期而艰巨的挑战。总之,企业不能向开发者索取和要求。只有给开发者留下足够的空间,他们才能承担起测试、安全防护等职责。当然,质量保证和安全工作不能仅仅依靠开发人员的自我意识,而应该从项目开始就以制度形式存在。需要强调的是,这样的工作流程绝不能进一步增加本已沉重的开发者负担。否则,顶尖的开发人才很可能会落入其他组织的怀抱。以统一的要求衡量每一个开发者。每个组织和每个团队成员都可以以正确的方式获得正确的培训和支持,进而为DevOps的成功做出贡献。但不同会员的出资方式不同,不应有统一的要求。任何行动、流程或技术的早期采用者往往是组织中最耀眼的超级明星和业务骨干。他们对自己的工作内容充满热情,关注领域内的各种新兴动向,在工作中总是有着强大的内驱力去进行各种尝试。无论是不断修改当前解决方案、寻找新的可行方法,还是为更广泛的社区做出贡献,他们始终参与其中。是的,这些都是非常重要的习惯,一定会产生令人印象深刻的结果。但不要将这些作为普遍标准。大多数应用程序交付人员不会以这种方式工作,或者不一定具有这种冒险精神和将新事物带入生活的原始冲动。他们投入数年甚至数十年的时间来完善自己掌握的技能,希望能继续以最高效、最流畅的“老办法”处理问题。此外,不同的团队通常具有不同的技能组合、舒适区、优先级,并且可能具有不同的应用程序堆栈和合规性/治理要求。具体来说,初创团队往往更关注DevOps的方法和工具集,而负责后端的团队则更倾向于传统的SAP。坚持以统一的要求衡量双方,只会徒增麻烦。当然,DevOps本身也是一项需要全面规划的业务。如果你想加速整个企业的创新,那么每个员工都应该在DevOps中发挥自己的作用,包括坚持DevOps提出的核心概念,在工具集和实践方面提供其他对员工友好的选择,引入一层可见性和跨团队和项目的治理。对整体用户体验的理解不足如今的用户往往对功能抱有很高的期望,而对问题的容忍度较低。Forrester最近发现,仅客户体验的改善就能对企业产生巨大的底线影响。他们估计,客户体验系数每增加一个百分点(0到100)就会转化为年收入的显着增加——汽车行业为11亿美元,零售行业为4.96亿美元,电信行业为3.88亿美元。反之,如果客户体验下降,则必然导致相应的收入损失。当然,团队中的每个人都希望构建和发布用户喜爱的软件。然而,不同的职能角色往往持有不同的观点、个人优势和劣势。从规划、测试、发布到监控,需要真正全面了解业务,通过每一位团队成员的参与,有效捍卫整体用户体验。许多DevOps团队仍然依赖低级技术(例如单元测试)来确定发布候选版本是否可以安全推出。不幸的是,这样的测试往往只能发现编码错误,并不能保证良好的产品体验。要达到体验提升的目的,需要做好以下三点:第一,采用基于风险的测试,根据一定的测试结果,快速判断是否需要暂停项目发布。其次,对交易进行端到端的功能测试,例如移动端到API,打包的应用程序,如SAP和Salesforce,甚至是自定义应用程序和大型机。第三,负载/性能测试确保应用程序能够及时扩展并处理需求激增。以上三个误区在任何组织中都很常见。DevOps毕竟还很年轻,有时候难免会带来一些麻烦——但只要伴随着它的成长,相信DevOps最终会成为企业发展道路上的强大助推器。
