acm-header
登录

ACM通信

实践

颠覆时代的软件开发


世界地图上的冠状病毒分子,插图

图片来源:蓝色星球工作室

回到顶部

最近的大流行带来了前所未有的挑战。它使我们看到了一个高度全球化、能力强大、以资源和手段高度相互依赖为特征的世界,但它也很脆弱,有很高的受污染的可能性——不仅在物理意义上,而且在信息、思想、过程和其他方面。

鉴于这种情况的新奇性,人们可能会认为这是一种独特的情况,很快就会克服,最终恢复到以前存在的(表面上的)稳定。然而,现实表明,这种观点充其量只是一种幻想,我们生活在一个社会脆弱和不稳定将日益明显的时代(乐观地说,对这些问题的意识也将变得更加敏锐)。换句话说,危机一直是人类进化的一部分,必须把它们视为不可避免和反复出现的现实,需要迅速和有效的反应。关键是要做好准备,并采取相应的行动。

正如历史经常证明的那样,困难时期提高了社会的适应能力,并导致寻求更好的解决办法。近几十年来,信息技术给人们和企业的生活带来了革命性的变化——有时或多或少是悄无声息的,有时则带来了巨大的影响——这是不可避免的,因为在这个相互联系、相互依存的世界里,信息技术为日益复杂的问题提供了具有成本效益的解决方案。这很容易从一个简单的例子中理解:如果在这次大流行中,支持互联网的技术基础设施在全球范围内被关闭,世界确实会经历一个比我们现在生活的更加复杂和混乱的现实——这对每个人来说都是相当困难的。

正是在这种背景下,本文中描述的软件开发项目才值得报道,因为它涉及到几个颠覆性的方面,而这些方面在一个需要“今天思考的”解决方案“昨天就可以使用”的世界中是基本的。从市场机会意识到全功能软件产品的可用性,这个项目花了三周时间来完成,并涉及几个最先进的实践和工具:快速决策;敏捷项目管理;以及极低代码的软件开发技术。

回到顶部

从机会意识到前进的决定

2020年3月12日,世界卫生组织正式宣布新冠肺炎疫情为大流行。同一天,中型软件公司quidest的首席执行官将这次大流行视为公司的机遇,并撰写了一份基于网络的软件产品开发计划,以及一份初步需求清单(与监测、控制、创新管理和根除疾病有关)。然后将该计划发送给销售和市场团队(包括国内和国际),以及研发团队,征求反馈。请注意,销售和营销团队与政府行政部门、医院、养老院等建立了若干联系,这些联系为项目的市场潜力提供了广泛的见解。

所有团队的反应都是迅速而积极的,所以公司决定在3月13日继续推进这个项目。

回到顶部

产品、需求和开发里程碑

该产品名为virvi——健康警戒和控制软件——以“应对全球流行病学挑战的超敏捷应急软件”的形式呈现。根据quidest的描述,VIRVI是“一个信息系统,旨在支持在紧急时间框架(即在数小时内开始运行)内,在任何国家或地区监测和控制COVID-19等病毒流行。VIRVI健壮、可靠,并能够不断进化,为应对病毒流行的良好关键管理和通信奠定了基础。”

正如附图中的时间轴所描述的,VIRVI发展很快。3月12日,项目开始时估计有207个功能点,这些功能点测量软件的大小,定义为信息系统(作为产品)向用户提供的业务功能的数量;复杂性级别为941(根据公司内部的衡量标准,考虑了数据表、数据字段、外键、数组、公式、表单、表单字段、菜单、多语言和其他方面的数量,以及维护和文档要求)。在三周后的产品发布会上,总共实现了1365个功能点,复杂度水平为4387。

这说明需求的波动性很大,在项目执行期间根据疫情演变和预测的市场机会定期更新需求。在研究了国家和国际上的最佳实践和趋势后,quidest决定将其解决方案集中在养老院(抗击疫情的一个重点)、国家卫生当局、医院和卫生实验室。

VIRVI的第一个全功能原型于3月22日发布,在接下来的一周内,它在四个国家进行了展示,并产生了三个正式的演示和两个lead。这获得了合作伙伴的反馈,并确定了其他所需的功能。此外,它还证实,有可能对每个客户的特殊需求作出快速反应,并适应新的要求。

uf1.jpg
数字项目里程碑。

该软件的一些最终功能如下:在一个集中的信息存储库中注册和收集数据;参与应对这一流行病的实体之间的协调,不同的准入级别;实时监测和决策;外部分析的开放数据的可用性;数据可视化,实时提供指标、统计数据和地图;支持官方应急渠道;公民/实体与保健专业人员之间的直接沟通;以及实体和供应商的集中市场。

VIRVI准备在项目启动三周后的4月3日发布。最终产品有117个数据表、506个数据字段、156个外键、31个数组、115个公式、106个表单、867个表单字段和274个菜单。

回到顶部

团队、项目管理和开发技术

quidest是如何在一个高度不稳定的环境中开发出功能齐全的产品的?本节提供一些见解。

在项目开始和前两周,团队由两名全职的系统分析师/开发人员组成;1名兼职用户体验设计师(25%);全职项目经理1名;兼职开发技术专家1名(50%);市场团队兼职5人(25%);四名兼职(25%)来自销售团队。在最初的两周后,团队变成了两名兼职(50%的系统分析师/开发人员;兼职项目经理1名(50%);兼职开发技术专家1名(25%);一名兼职(50%)公共卫生顾问; four part-time (5%) people from the marketing team; and four part-time (20%) people from the sales team. Taken together, this corresponds to about 3.25 FTEs (full-time equivalents) for the development team and nearly 1.84 FTEs for the marketing and sales teams during the three-week development timeline. Considering the total of 1,365 function points for the final product, the average weekly productivity of the analysts/developers/technology expert was nearly 220 function points.

由于没有常规的需求制定,项目的开始仅仅基于对产品重要特性的“感知”(主要基于CEO和公司在该领域的经验,以及对文献和新闻的回顾)。该小组还有受过卫生部门培训和专门知识的成员,并与卫生保健专家进行了几次接触。后来魁地斯特的健康协调员加入了团队,推动建立了一个自愿咨询计划。所有这些声音的结果就是软件需求的日常发展。最终,实际需求来自公司的经验、与专家的接触、来自媒体的新闻、科学研究和有关大流行的官方报告。

考虑到项目的特点,公司的标准项目管理方法在这种情况下是不可行的,因为市场机会窗口非常紧,最终必须适应不同利益相关者的需求。因此,有必要将敏捷方法运用到项目管理的极致,因为几乎每天都需要接受新的需求。

Microsoft团队中的Planner用于支持过程,关注于团队、任务和优先级(根据里程碑建立)。创建了一个看板,它可以由整个团队编辑,有六个状态:(1)正在分析的任务,(2)等待,(3)在进行中,(4)执行,(5)测试,和(6)完成。定期召开团队会议,审查关于优先级、过时和需求澄清的任务。该项目另一个引人注目的方面是,它完全是远程执行的(截至3月16日,由于大流行封锁限制,该公司开始远程工作)。

项目成功的另一个关键因素是软件开发采用的低代码技术。考虑到需求的巨大波动性和快速提供全功能解决方案的需求,挑战是如何在不影响软件质量、文档或进一步维护的情况下实现这一点。

在这种情况下,低代码或极低代码技术的强大和有用性变得更加明显。这些技术目前包括IBM自动化平台,Zoho Creator, Appian, Mendix, OutSystems, AgilePoint,谷歌App Maker, Nintex, TrackVia, Quickbase, Service-Now, Salesforce App Cloud, Microsoft Power Apps, Oracle Visual Builder和Oracle APEX (Application Express),仅举几个例子。这些技术的显著特点是它们能够以最少的手工编码创建软件应用程序。对于这个项目,魁地奇使用了它的专有平台Genio。Genio是一种极低代码(介于低代码和无代码之间)的开发技术。开发是面向模式的,Genio具有基于建模(模型驱动工程)的代码生成特性。


从市场机会意识到全功能软件产品的可用性,该项目花了三周时间完成,并涉及几个最先进的实践和工具。


选择的技术允许每天发布软件的进化版本。通过这种方式,开发过程可以简化。即使需求不断演变,第二天也可能已经有一个功能性的解决方案来支持它们。低代码技术的优势也是解决方案维护的基础。在此环境中,通过在不影响软件工件(包括文档)质量的情况下支持需求的持续发展,可能会有更明显的好处。

总的来说,尽管需求和应用场景的不稳定以及解决方案的紧迫性导致了高风险,但为这个项目定义的目标还是得到了满足。在很短的时间内,魁地斯特的项目不仅带来了几条销售线索,而且有助于组织学习和公司的知名度。

回到顶部

结论

在这个项目中,挑战是“部署软件的速度要快于冠状病毒的传播”。在具有这种特殊特征的项目中,有几个因素可以影响成功,但有一些因素很明显:高层管理支持、敏捷性(在决策和管理方面)、项目团队的理解和承诺,以及使用的技术。传统的发展方法和技术根本无法迅速满足要求。

这里描述的项目反映了目前在决策和行动能力方面对公司的要求。它将市场眼光和快速决策能力与行动结合起来。该公司发现了一个机会,定义了一个项目,并决定向前推进,通过采用一种不同的项目管理方法(一种精简的敏捷方法)来组织和组织一个团队,并采取一种积极的营销姿态。然而,如果没有支持软件快速开发和部署的技术,项目就不可能在如此短的时间内实现——在需求高度不稳定和快速演变的环境中。

IBM在2009年发表的一份研究报告《未来的企业——对CIO的影响》指出:“未来的企业渴望改变,超越客户想象的创新,全球一体化,本质上的颠覆性,真正的,而不仅仅是慷慨。”这些是当今组织比以往任何时候都更基本的特征,可以明确地加入,“由稳定的、破坏性的信息技术支持”。在人工智能等创新技术的支持下,低代码、极低代码和无代码软件开发肯定会在这种情况下产生影响,并有望迅速加速在全球范围内被采用,成为数字转型的主要推动者。

回到顶部

作者

若昂Varajao是葡萄牙米尼奥大学信息系统系的信息系统和项目管理教授。他也是ALGORITMI研究中心的研究员。此前,他曾担任私营公司和公共机构的IT/IS顾问、项目经理、信息系统分析师和软件开发人员。


版权由作者/所有者持有。授权给ACM的出版权。
请求发布的权限permissions@acm.org

数字图书馆是由计算机协会出版的。版权所有©2021 ACM, Inc。


没有发现记录

Baidu
map