铁路软件研发技术管控机制研究

/ 5

铁路软件研发技术管控机制研究

阳淦婷1,郭歌2,王喆3,丁晓萌4

(1~3.中国铁道科学研究院集团有限公司电子计算技术研究所,北京市 邮编:100081,4.国铁集团,北京市 邮编;100844)

摘  要:近年来铁路业务和信息技术的迅速发展,铁路软件研发技术取得显著成效,但由于铁路分布广,主体单位多,人员水平不同且管理方式不尽相同,随着传统行业在数字化、智能化转型升级,铁路软件研发技术管控面临着供应链安全风险、技术迭代更新快等诸多挑战,如何提升技术管控水平快速适应不确定性环境的变化成为关键。本论文基于IT治理理论,针对软件研发技术管控机制的发展历程和治理模式进行了深入研究,通过对国内外大型企业和开源基金会的软件研发技术管控阶段和模式的调研,分析了不同的企业在不同的技术管控阶段下相应的技术管控模式,并提炼总结了相关特点。在此基础上,结合铁路软件研发技术管控的特点,提出了一套适合铁路软件研发的技术管控方案,旨在提高铁路软件研发的效率和质量,推动铁路系统的现代化发展。

关键词信息技术;软件研发;IT治理;技术管控机制;铁路技术管控方案

中图分类号:U29TP39文献标识码:A


0引言

随着软件和信息技术服务业发展,传统行业在数字化、智能化转型升级中,铁路系统的软件研发需要不断跟进技术的更新和发展,可能涉及多个外部供应商和合作伙伴,需要对外部供应链的安全性和可靠性进行评估和管理,同时随着铁路业务的发展,铁路系统涉及大量的用户信息和敏感数据等涉及到安全性和隐私保护、开发周期和成本的控制,以及需要遵循各种法律法规和标准等等面临的这些挑战,需要综合考虑技术、管理和制度等方面的因素,建立健全的软件研发技术管控机制,以确保铁路系统的安全、稳定和高效运行。

目前,国内外在软件工程、铁路运输等领域已经有了大量的研究成果。然而,针对铁路软件研发技术管控机制的研究相对较少,尤其是针对铁路软件特殊性的研究还较为匮乏。本研究将通过文献综述、案例分析等方法,结合IT治理和软件工程管理的理论,提出一种针对铁路软件研发的综合技术管控机制为铁路软件研发管控提供一种新的管理思路和方法。

1铁路软件研发和技术管控现状

铁路是国家的经济和社会发展的重要支柱,保障铁路的安全和可靠是第一要务,铁路软件技术研发管控一直处于传统的标准化和规范化阶段,以结果为导向,通过标准和规范的制定进行技术管控。近年来随着国际局势变化,战略博弈逐渐向科技聚焦,软件供应链安全面临风险,技术体系复杂度不断提升,开源成为软件开发的重要模式,铁路技术选型也从过去oracleIBM等确定性方式选型开始转向开源的方式传统确定性的技术管控方式已经难以满足不确定性的环境变化。

同时,随着铁路业务发展迅速,中国国家铁路集团有限公司(以下简称国铁集团)高度重视软件和信息化技术工作,铁路的软件技术也发展到新高度,信息系统建设数量和规模越来越大,复杂程度也日益提升,加上铁路地域分布广,主体单位人员水平不同等客观情况,软件研发安全、质量等问题,以及风险管控难等困难愈发突显。“十四五”铁路网络安全和信息化规划明确提出以信息化驱动发展方式和治理方式变革,深化信息技术应用,提高软件研发技术管控水平具有重要的现实意义。

2 软件研发技术管控机制

软件研发技术管控是IT治理的一部分,为IT治理提供了关键的技术支持和技术管控机制,在IT治理中,涵盖了更广泛的信息技术管理范畴,包括了战略规划、组织结构、决策机制、资源管理、项目管理、风险管理、绩效评估等方面。软件研发技术管控作为IT治理模式中的一个分支,专注于软件研发过程中的技术方面,本研究主要参考IT治理框架和体系,具体如下图1

1IT治理框架体系

2.1 软件研发技术管控机制研究内容

本研究内容主要针对IT治理框架体系中的组织机构和职责分配,以及决策机制和流程两个核心模块。

2.1.1 组织机构和职责分配

主要包括以下内容:

1组织结构设计: 设计合理的组织结构,包括部门设置、层级关系、职能划分等,确保组织结构清晰明确,能够支持信息技术的有效管理和运作。

2职责和权限划分: 划分各单位、部门和岗位的职责和权限,明确工作职责和权限范围,避免职责重叠和权限冲突。

3角色定义和说明: 定义各个角色的职责和任务,明确每个角色在组织中的作用和责任,确保各个角色能够清楚地了解自己的工作职责和目标

4绩效评估和激励机制: 设计和实施绩效评估和激励机制,通过设计合理的利益动力机制激发员工的工作积极性和创造性。

2.1.2 决策机制和流程

主要包括以下内容:

1决策层级和权限: 确定决策的层级结构和各级管理者的权限范围,包括了战略级、管理级和操作级的决策权限。

2决策流程和程序: 建立决策的流程和程序,包括了决策的发起、讨论、审批和执行等环节,确保决策过程的透明、公正和高效。

3决策支持系统: 提供决策支持系统和工具,为决策者提供必要的信息和分析,帮助其做出准确和明智的决策。

4风险评估和决策控制: 在决策过程中进行风险评估和控制,考虑到潜在的风险和影响,确保决策的可行性和可控性。

5决策记录和追踪: 记录决策的过程和结果,追踪决策的执行情况,及时发现和解决存在的问题,确保决策的有效实施。

6决策的评估和反馈: 对决策的效果进行评估和反馈,分析决策的成败原因,及时调整和改进决策流程和机制。

2.2 软件研发技术管控的发展历程

软件研发技术IT与业务看齐,到目前走向业务技术。技术管控的发展历程可分为以下几个阶段:

1早期阶段80年代初至90年代中期)

个人主导阶段在计算机科技发展初期,软件开发通常由个人或小团队主导,缺乏统一的技术管控机制,决策权掌握在个人手中

优点:灵活性高,个人能够快速作出决策和调整。

缺点:缺乏规范和标准,容易导致项目管理混乱,质量无法保障。

2初级阶段(90年代中至2000年代初)

集中式管理:随着企业规模的扩大和项目复杂度的增加,出现了集中式的管理模式,决策权力逐渐集中在高层管理人员手中。

优点:决策权集中,有利于统一规划和资源调配,便于管理和监控。

缺点:可能导致决策效率低下,创新受限,员工参与度不高,创造力受到抑制。

3发展阶段(2000年代中至2010年代初)

标准化和规范化:随着互联网行业的迅速发展,企业开始注重建立统一的技术规范和流程,包括需求分析、设计、开发、测试、部署等各个环节的规范和流程,以确保项目的可控性和可预测性。

优点:建立统一的技术规范和流程,确保项目的一致性和质量,提高可控性和可预测性。

缺点:可能过度规范化,影响灵活性和创新,导致创新受限,项目进度缓慢。

4成熟阶段(2010年代中期至今)

分布式管理:随着互联网技术的不断发展和企业的快速扩张,分布式管理模式逐渐成为主流。决策权力分散到各个团队和部门,各个团队具有较大的自主权和决策权,以更好地适应市场的变化和客户需求的变化。

优点:决策权下放,各个团队具有较大的自主权和灵活性,能够更快地响应市场变化和客户需求。

缺点:可能导致管理混乱,协调成本增加,需要更强的沟通和协作能力。

5创新阶段(2010年代中期至今)

开放式管理:进入21世纪,随着云计算、大数据和人工智能等新技术的兴起,开源社区和开放的平台上共同参与软件开发,软件研发技术管控机制逐渐向开放式治理的模式演变。在这一阶段,开发者和利益相关者可以通过开放的平台和标准参与软件开发过程,共同制定开发计划和技术方向。

优点:鼓励员工创新和合作,促进了知识共享和团队协作,提高了创新能力和竞争力。

缺点:可能导致信息泄漏和混乱,需要更严格的安全控制和管理。

6智能阶段(2010年代中期至今)

智能化管理:随着人工智能、大数据分析等技术的发展和应用,智能化管理模式逐渐成为趋势。利用先进的技术手段对决策过程进行优化和智能化,以提高决策的准确性和效率。

优点:利用先进的技术手段对决策过程进行优化和智能化,提高了决策的准确性和效率。

缺点:依赖技术和数据,可能存在数据质量问题和技术风险,需要投入大量资源和精力进行技术研发和维护。

因行业发展、技术进步、市场变化等因素而有所不同。在实际情况中,不同企业可能会处于不同的阶段,甚至同时处于多个阶段之间的过渡阶段。

2.3 软件研发技术管控治理模式

根据不同的划分维度软件研发技术管控治理模式可以分为以下三大类:

1)集中式管理VS分散式管理。根据权力和决策权的集中程度不同进行区分,集中式管理模式下,决策权通常集中在高层管理者或中央机构手中,而分散式管理模式下,决策权可能分散到各个团队或部门。

2标准化和规范化模式VS灵活性和自由度模式根据规范和标准的程度进行划分,标准化和规范化模式下,团队需要遵循统一的规范和标准进行工作,而灵活性和自由度模式下,团队可能更加自主和灵活地选择工作方式。

3开放式和封闭式。根据参与程度和透明度进行划分,团队成员和利益相关者可以自由参与到决策过程中,决策过程更加透明和民主;而封闭式模式下,决策权可能更加集中,并且决策过程相对封闭和不透明。

治理模式通常反映了一个组织或社会的价值观、文化、历史和制度安排。在不同的软件研发技术管控发展阶段,适应不同的技术管理治理模式:

1)个人主导阶段

治理模式:集中式管理或封闭式管理。

描述:决策和管理主要由个人或少数核心团队负责,决策权和资源控制在少数人手中。当企业面临稳定的市场环境和简单的业务模式时,封闭式模式可以有效地集中决策权力,确保管理的高效性和统一性。

2)集中式管理阶段

治理模式:集中式管理或封闭式模式。

描述:决策权力集中在高层管理层,决策和管理由中央管理机构或领导小组负责。此外,对于一些涉及到保密性和安全性要求较高的项目,封闭式模式也能够更好地控制信息的流动和保护企业利益。

3)标准化和规范化阶段

治理模式:标准化和规范化管理。

描述:建立统一的技术规范和流程,通过标准化管理来规范项目的执行和管理。

4)分布式管理阶段

治理模式:分散式或分布式。

描述:决策权下放,各个团队具有较大的自主权和灵活性,能够更快地响应市场变化和客户需求。

5)开放式管理阶段

治理模式:灵活性和自由模式或开放式。

描述:当企业鼓励创新和合作,注重员工参与和团队协作时,灵活性和自由模式能够激发员工的创造力和潜力,促进团队之间的交流和合作,推动企业的创新和发展。开放式治理鼓励员工创新和合作,促进了知识共享和团队协作,提高了创新能力和竞争力。

2.4  国内外典型技术管控机制案例

2.4.1 国内大型企业

腾讯、阿里巴巴等国内大型互联网企业已经进入了智能化阶段的技术管控阶段采用分散式管理和灵活性和自由度模式结合先进的技术手段,如人工智能、大数据分析等,对决策过程进行优化和智能化,以提高决策的准确性和效率。决策权力在团队和项目组之间分散,鼓励员工自主创新和实验倾向于采用一种敏捷的开发方法,注重快速迭代和灵活响应客户需求的能力。团队成员在软件开发过程中享有较高的自由度,可以根据实际情况调整和优化工作流程。

此外,互联网企业也倡导开放的沟通和协作,鼓励员工之间的交流和分享。通常建立了一系列的内部平台和工具,以促进团队之间的合作和知识共享。因此,这些互联网企业的软件研发模式更加灵活和自由,能够更好地适应市场的变化和客户需求的变化。

国有企业例如银行、电力等传统大型国企主要集中在标准化和规范化阶段向智能化阶段过渡,由于其组织结构相对稳定且决策层次清晰软件研发机制通常倾向于集中式管理和标准化模式。决策权力集中在高层管理人员或者专门的决策机构手中,例如技术委员会,以确保决策的效率和一致性。此外,国有企业的软件研发过程也会倾向于采用一系列的标准化流程、工具和规范,以确保项目的质量和合规性。

尽管如此,随着市场竞争的加剧和科技进步的推动,一些国有企业也在尝试引入更加灵活和开放的管理模式,以提升创新能力和适应市场的变化。因此,在某些情况下,国有企业的软件研发机制也可能会借鉴私营企业或者互联网企业的管理模式,注重员工的创新和参与。

2.4.2 国外大型企业

GoogleMicrosoft等公司处于智能化阶段的技术管控阶段,采用的治理模式是集中式和开放式模式。在软件开发过程中通常具有明确的组织结构和决策层级,决策权力集中在高级管理人员或特定的技术委员会手中。此外,它们倾向于采用一系列标准化的流程、工具和规范,以确保软件开发的质量和一致性。

虽然这些公司在某些方面可能会有一定的灵活性和自由度,但总体上更注重规范化和标准化,以确保项目的可控性和可预测性。此外,它们也通常采用开放式的研发模式,即允许员工在一定程度上自由地提出新想法和创新,但这些创新通常要符合公司的整体战略和目标,并经过严格的评审和审查。

2.4.3 开源组织

开源基金组织通常采用的是分散式管理和开放式模式。软件研发过程通常更加分散和民主,决策权力不仅由特定的管理层或委员会根据社区成员反馈结果进行决策某些时候社区成员可以自由地参与项目的开发和决策,共同推动项目发展。

此外,开源基金会通常倡导开放的沟通和协作,鼓励社区成员之间的交流和合作。开源项目的开发过程更加透明,任何人都可以查看和参与项目的开发,提出建议和改进。因此,开源基金会的软件研发模式更加灵活和自由,充分发挥了社区的创造力和智慧。

2.4.4 案例分析小结

通过对国内外大型企业和开源基金会的软件研发技术相关议事和决策机制的分析和对比,可总结如下特点:

1目前国内外企业所处的技术管控阶段集中在标准化和规范化向智能化过渡阶段;

2都有技术委员会或管理会等专业的技术决策机构;

3都注重和采用灵活开放的研发方式激励员工充分发挥创造力;

4都采用一系列的平台和工具确保效率和质量。

3铁路软件研发技术管控机制

铁路系统作为一个高度安全和复杂的系统,对软件研发的质量和安全性要求较高。软件研发技术管控在标准化和规范化和分布式管理混合阶段,尽管标准化和规范化的治理模式在许多情况下是非常有效的,但也存在一些潜在的问题和挑战,传统的铁路技术管控方式依赖规范和标准往往是基于过去的经验和最佳实践制定的,无法及时适应新的技术和市场变化,落实规范和标准也可能会导致项目变得过于复杂化,增加了开发和管理的成本和复杂度,如果过于严格地遵循规范和标准,也可能会导致项目或产品的创新性和竞争力受到影响。如何建立一套与时俱进的软件研发技术管控机制具有非常重要的现实意义。

3.1 组织机构和职责分配

结合铁路行业特点以及所处的技术管控阶段,以及参考国内外大型企业、开源基金会以及互联网企业等的成功经验和最佳实践,借鉴其在软件研发领域的管理模式和决策机制。设计的铁路软件研发技术管控决策组织铁路技术监督委员会如下图2

2铁路技术监督委员会

铁路信息技术委员会由“专家组”和若干“技术工作组”共同构成。专家组和技术工作组成员来自国铁集团具有信息系统研发和运维能力的各下属单位,包括信息中心、铁科院、各铁路局、集装箱公司等。

委员会主席由国铁集团科信部领导兼任,并设常务副主席一名负责代理主席执行日常委员会事务;以及副主席两位,协助主席和常务副主席开展日常工作。

常务副主席和副主席由专家组内部推举产生,任期为一年可连任。

1组织结构设计:

技术委员会:负责制定铁路软件研发的技术规范和标准,审核重要决策和技术方案。

各单位技术部门:执行技术委员会的决策,负责具体的软件研发工作,包括需求分析、架构设计、编码实现等。

2职责和权限划分:

技术委员会:决策铁路软件研发的技术路线和方向,审核关键技术方案,解决技术难题。

各单位技术部门:执行技术委员会的决策,负责软件研发的具体工作,包括项目管理、质量控制等。

3角色定义和说明:

技术委员会主席:负责召集和主持技术委员会会议,协调各方利益,确保决策的执行。

各单位技术委员会成员:负责各单位的技术部门的日常管理和运作,指导团队成员完成软件研发任务。

4绩效评估和激励机制:

技术委员会成员的绩效评估应当与其在项目决策和技术指导中的表现相关联,根据贡献程度给予相应的奖励和激励。

技术部门团队成员的绩效评估应当与其在软件研发过程中的表现相关联,包括工作质量、效率、创新等方面

3.2 决策机制和流程

技术委员会技术委员会作为最高决策机构,负责制定铁路软件研发的技术规范和标准,审核重要决策和技术方案。各单位技术部门负责执行技术委员会的决策,负责具体的软件研发工作,包括项目管理、质量控制等。项目组负责具体项目的执行和实施,负责具体的软件开发任务。具体的决策过程如下图3

3铁路软件研发技术决策过程

1决策层级和权限:

技术委员会:最高决策机构,负责制定技术规范和审核重要决策。

技术部门:执行技术委员会的决策,负责具体的软件研发工作。

2决策的流程和程序:

技术委员会会议:定期召开,审议并决定铁路软件研发的技术方案、进展情况和重大问题。

技术部门会议:定期召开,汇报工作进展、讨论技术问题和解决方案。

3决策支持系统:

建立决策支持系统,包括信息系统和数据分析工具,为技术委员会提供决策所需的信息和数据支持。

4风险评估和决策控制:

在决策过程中充分考虑项目可能面临的各种风险,制定相应的风险应对策略,确保项目的顺利推进和安全运行。

5决策记录和追踪:

对技术委员会会议和技术部门会议进行记录和归档,及时跟踪和总结决策的执行情况和效果。

6决策的评估和反馈:

定期对技术委员会的决策进行评估和反馈,分析决策的有效性和影响,及时调整和优化决策机制和流程。

4结论

本研究设计了适用于铁路的软件研发的技术管控机制,顶层采用集中式管理和标准化模式,建立技术决策组织机构,基层采用分散式管理和开发式模式,通过两层级的软件技术管控体系设计,既能满足铁路作为传统行业通常有较为稳定的组织结构和管理模式,也能满足顺应技术发展趋势,提高创新性和竞争力。

参考文献

[1]唐志豪,计春阳,胡克瑾.IT治理研究述评[J].会计研究.2008,(5).

[2]孙晓琳,王刊良.IT治理与IT治理成熟度[J].情报杂志.2007,(11).

[3]  Devos, J., & Viaene, S. (2005). Framing the Frameworks: A Review of IT Governance Research.  Communications of the Association for Information Systems

[4]  Petersen, K., Zahran, S., & Juristo, N. (2017). A Systematic Review of Decision-Making in Software Development Projects. Information and Software Technology.

[5] Smith, J. (2012). Effective Governance of Open Source Software Development. Open Source Software Journal, 3(1), 100-120.

[6] Duboc, L. (2019). Decision-Making in Large-Scale Software Development: A Systematic Literature Review. Journal of Systems and Software.

[7] Santos, L., Silva, C., & Brito, I. (2018). Governance Mechanisms in Distributed Software Development: A Systematic Literature Review. Information and Software Technology.

[8] Pettersen, S., & Pfahl, D. (2015). Agile Governance: Empowering Project Teams to Make the Right Decisions. Information and Software Technology.