企业的数字化转型工作中,通常伴随这IT系统的开发和建设。IT系统是数字化建设工作的重要物理交付形式,同时也是数字化能力表现的核心技术载体。
自信息化时代起,为了解决各种业务需求,企业就开始推动大大小小的IT项目。IT项目作为一种特殊的项目类型,在执行方法和管理流程上已经日趋成熟。了解数字化相关的IT项目的基本过程和特点,有利于积极推动数字化项目实施落地,保证数字化系统建设质量和总体应用效果。下面对数字化IT项目的一般标准化流程以及这些流程的典型特征进行详细介绍:
图26. 数字化IT项目标准化流程
1. 需求分析
在数字化项目启动时,首先是要开展需求分析。通过调研的方式了解企业的业务现状,挖掘企业经营痛点,洞察潜在的数字化机会。和信息化时代相比,数字化项目需求分析难度更大,企业的数字化变革需求更加隐晦。数字化需求往往建立在企业数据价值的基础之上,如果认识不到数据的价值潜力,那么就无法有效地识别企业的真实需求。
企业的数字化需求一般为两大类:一是面向数据管理,解决数据本身质量和可用性的问题,通常对应数据管理系统的建设;二是面向数据应用,解决数据价值释放的问题,通过数据分析技术手段把数据资源真正使用到实际业务场景中,通常对应数据服务系统的建设。
数字化需求的获取方式可以基于访谈的形式,也可以通过直接观察。进行需求分析的数字化专家需要具备扎实的业务能力基础,在业务创新具有更加充分的想象力。数字化场景建设需要的是增量思维和开拓思维,在缺少足够数据科学知识的条件下,业务方已经越来越难主动地提出需求,这反过来也给数字化实施方增加了进入“门槛”。
2. 系统设计
在确认了数字化需求之后,需要根据需求进行IT系统的设计工作,在技术上定义项目内容以及具体的实施路径,同时,还将讨论项目落地的可行性。在设计阶段,包括架构设计和详细设计两部分内容。
架构设计是针对系统建设方案的顶层总体设计,IT系统架构具体包括应用架构、数据架构、技术架构等不同维度的内涵定义。其中,应用架构是关于系统中各种应用程序的功能、模块、流程和交互关系等方面的设计,其作用是将企业的业务需求转化为具体的应用程序;数据架构是关于数据的组织、存储、访问和管理等方面的设计,其作用是解释说明系统如何存储、处理并对数据进行传输;技术架构是关于系统硬件、软件、网络和安全等方面选型的设计,其作用是将业务需求转化为满足应用上功能和性能要求的技术方案。
在架构设计的基础之上,接着要进行系统的详细设计。IT系统的详细设计需要针对各个功能模块进行具体展开细化,目的是给开发者提供具体的技术实施参考。常见的详细设计包括数据库(表)设计、信息流设计、算法逻辑设计、应用界面设计、功能菜单设计、账号权限设计、网络拓扑设计等。
在经过架构设计和详细设计后会形成详细的系统设计文档,系统设计文档在进入开发环节之前,需要进行需求设计的确认,保证最终确定的技术方案能够满足业务方的实际需求。
3. 系统开发
系统开发活动遵循前面阶段生成的系统设计方案。数字化系统的开发工作涉及大量的数据逻辑处理,如数据的采集、同步、存储、分析、查询、展示等。数字化系统的开发工作通常会以构建数据服务作为核心任务。数据服务是系统数据能力的基本呈现单元,通过构建一个个具体的数据服务,最终实现业务方的数字化需求落地。
在系统的开发阶段,需要为系统的不同组成部分进行单元功能测试来保证系统开发内容的准确性。有时,开发过程难以获取真实的数据,因此需要模拟一定的数据来保障对数据链路的测试验证。对于涉及到多个阶段的数据处理逻辑,可以将数据处理逻辑进行过程切分,对每一关键的处理逻辑区段分别测试验证。
数字化系统的开发语言,除了传统意义上的软件开发语言,如Java、C++、C等,还涉及对数据分析处理兼容性较好的程序语言,如Python、R、Scala等。数字化系统的开发需要考虑对数据逻辑的处理,对数据分析功能的实现,以及对数据模型的训练等特殊的数据类服务建设需求。
4. 测试与验收
在系统开发完成之后,就要进行系统的测试和验收环节。尽管在开发过程中,已经进行过系统单元的测试,但是各个开发单元的有效性并不能满足整个系统的有效性,例如,不同数据服务的调用协同可能存在不一致或不匹配的问题。于是,需要针对开发后的系统进行整体的功能测试,该过程也称为集成测试,在集成测试之后一般会出具集成测试总结报告。
除了集成测试之外,系统正式验收前有时还要进行用户测试阶段。用户测试是指站在用户的立场上、按照用户的思维去进行系统测试。通过用户测试,可以得到界面是否友好、操作是否流畅、功能是否达到用户使用要求、是否符合用户使用习惯等方面的具体信息。
通过集成测试、用户测试,整个系统就可以进入到测试验收阶段。之后,系统可以进行上线部署和试运行的阶段。如果试运行阶段没有问题,则可结合试运行的反馈数据,同步撰写项目验收报告,完成整个数字化项目的验收工作。