如何提升软件开发速度
2020-02-22MaryK.Pratt
Mary K. Pratt
作为游戏行业中的初创公司,Polystream 主要通过3D 互动流媒体平台与其他游戏公司展开激烈竞争。为了获得竞争优势,Polystream需要快速交付新的功能。
该公司的工程副总裁Cheryl Razzell 和人才主管Simon Sparks 认为, 新功能的交付速度也是一项竞争优势。Sparks 称:“为了获得竞争优势,我们必须充分利用包括速度在内的一切优势。”
要想获得速度优势,企业必须要采取相应的措施,并展开相应的工作。否则,开发人员可能会陷入官僚主义的泥潭,或是被大量无关紧要的想法和无休止的请求干扰。想法和请求会增加编码的时间,并导致版本和新产品的发布出现延迟。为了更快地满足用户需求,这些首席信息官们承受的压力也变得越来越大。
Polystream 工程副總裁Cheryl Razzell
麦肯锡公司的高级合伙人Aamer Baig 称:“ 对于首席信息官来说,这就像一场完美的风暴。我们已经进入了疫情的首个阶段。在这个阶段,首席信息官是实现远程办公和确保与客户建立稳定联系的明星。管理团队现在也在跟进。他们正在思考在2021 年和2022 年如何跟上时代的发展步伐,如何弥补之前被浪费掉的时间,以及如何加快业务的发展。如果首席信息官认为以前压力很大,那么现在他们面临的压力只会更大。”
在重压之下,首席信息官和他们的IT 团队发现自己的快速迭代速度可能无法满足速度不断增长的业务需求。据项目管理协会(ProjectManagement Institute) 的调查显示,86%的IT 决策者认为软件开发人员数量过少是数字化转型过程中的最大挑战。
Baig 认为,IT 领导者可以在不折腾IT 团队的情况下,通过部署新的流程和技术来加快开发进度。为此,Baig 提出了5 个可以在不影响团队士气的情况下加快应用程序开发进度的建议。
将应用程序的开发工作与业务紧密整合在一起
麦肯锡的研究显示,在实施了应用程序开发与业务整合策略的企业当中,47%的公司的收入增长了10%以上,这表明综合程度较高的数字战略可提供更大的价值。
Baig 指出,许多技术企业都将技术团队嵌入到了业务流程当中,并创建了联合交付流程,从而便企业能够快速地交付代码。
云解决方案提供商Ahead 的首席技术官JoshuaPerkins 也提出了类似的观点。他认为,团队必须与项目专家进行良好的协作,同时提高自身技能,以确保能够快速交付高质量的代码。
云解决方案提供商Ahead 首席技术官Joshua Perkins
Perkins 称:“ 如果我们想更快地交付应用程序,那么企业就必须调整资源,吸引并留住人才。我们希望创建一个功能全面的团队,以使软件能够正常运行并具有影响力。只有打破传统,让更多的人员参与到流程当中,让他们更好地为业务目标提供信息,这些具备开拓创新精神的首席信息官才能取得成功。”
Perkins 举了一家保险公司的例子。他说,这家公司成立了一个包含有熟悉承保和索赔流程的开发人员、数据科学家和业务经理的软件开发小组。公司自一开始就加快了编码进度,从而减少了开发出最终理想产品所需的工作强度和迭代次数。
充分利用工具
尽管许多开发人员在使用大量工具来帮助他们更快地完成工作,但是在整个开发团队中,工具的使用率并不高,自动化等新技术的普及率也不高。
GitLab 的2020 年DevOps 前景调查显示, 只有38%的受访者表示他们的devops 部署中包含了持续集成/ 持续交付(CI/CD),只有 29%的受访者表示他们的devops 部署中包含了测试自动化。这表明目前这部分仍然有很大的改进和提升空间。
此外,受访者认为扩大对技术的部署可以加快工作进度。因为47%的受访者认为目前最大的瓶颈是测试,但是只有12%的受访者表示已全面实现了测试自动化。
Priceline 的首席技术官MartinBrodbeck
线上旅行社Priceline的首席技术官 MartinBrodbeck 表示,为了加快公司内部的应用程序开发速度,公司已经部署了Harness 等大量工具,并正在推进部署更多技术来支持公司的开发团队。
Brodbeck 说:“ 我们的目标是让在公司环境中部署代码的工作实现全自动化。从部署的角度看,这一举措可以显著提升部署速度。如果我们能够更快地推出更多功能,如果这些功能可以发挥作用并且受到广泛的欢迎,那么我们可以迅速对其进行扩展。如果存在问题,那么我们可以迅速取消部署。”
Brodbeck 称, 他自己没空时刻盯着部署的进展情况,因此他也没有办法量化某一具体工具究竟是如何帮助提高开发速度的。不过,Brodbeck 说:“我们知道我们的速度会更快。”