您好,欢迎访问本站股票配资开户网站平台
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧
  • 网站所有资源均来自网络,如有侵权请联系站长删除!QQ:596123666

美国防部建约50个软件工厂,标准化铸就精品软件

美国国防部将软件工厂定义为具有独立流水线的体系——每条流水线配备自有工具、工作流、脚本及环境——并在开发生命周期中实施一系列自动化活动。

作为其"软件现代化战略"的一部分,美国国防部已建立约50个软件工厂,旨在"比对手进化更快、适应性更强"。尽管其他机构的风险等级可能较低,但采用更系统化的代码编写、测试与部署方式仍具显著价值。

软件工厂核心要素_统一软件开发过程之路_美国国防部软件工厂定义

标准化体验铸就精品软件

软件开发在过去二十年中经历了从定制化构建到标准化构建,再到源代码标准化结构的演进。红帽首席架构师克里斯托弗·耶茨指出,这种演变使得传统"手工艺式"开发方式——即两人以不同方式实现相同功能,或同一开发者在不同场景采用不同解决方案——不得不退出历史舞台。

"软件工厂就像您构建的精密机械,能够以可重复的方式创造复杂产物,"耶茨表示。

类似地,"师傅带徒弟、徒弟带学徒"的传统知识传承模式已被证明过时。

"这是以人为中心且线性的过程,单次只能培养有限人员,"耶茨解释道,"在软件工厂中,您可建立指导轨道和最佳实践,无需依赖个体间的知识转移即可影响团队行为方式。"

雷茨格强调软件工厂的三大核心要素:

"软件工厂的通用标准与流程如同连锁餐厅——菜单与氛围风格统一,但实体场所各具特色,"雷茨格比喻道,"这种一致性既确保体验可预期,又实现成本效益优化。"

自动化技术筑牢软件工厂安全防线

在三大要素中,流程自动化往往构成最大实施障碍。雷茨格指出,许多组织满足于实现持续集成便停滞不前,但政府机构应追求更深层次的自动化。

典型案例是自动化底层基础设施配置。若开发者在部署代码前无需手动搭建测试或生产环境,即可显著回收时间资源,且无需等待基础设施就绪。

另一关键在于提升安全性。尽管持续集成自动检入、审查与集成代码具有价值,但止步于此可能引入潜在漏洞。

"这种模式实则是将缺陷更快推送至生产环境,因为配置与测试仍依赖人工操作,"雷茨格指出,"流程耗时过长且易错,返工成本严重侵蚀生产效率。"

雷茨格强调安全自动化实践的优势,例如静态与动态应用安全测试。此外,交互式应用安全测试可监控运行时行为,基础设施即代码扫描能识别云配置风险,软件成分分析可评估第三方组件间依赖关系。

这些最佳实践结合代码质量扫描与单元测试自动化,有助于在代码投产前凸显安全隐患。

美国国防部软件工厂定义_统一软件开发过程之路_软件工厂核心要素

"自动化既压缩周期又提升质量,"雷茨格表示。该技术同时降低运维成本,通过制造业类比可清晰阐释原理:

"产品每次改造都需要投入时间与资金修复。若产品出货后被迫召回,成本将极为高昂,"雷茨格解释道,"软件领域同理,遗憾的是人们常忽视这一关联。"

领域专属的软件工厂体系

尽管软件工厂标准化了大部分开发流程,但其并非单一僵化模式。

"需通过不同工厂应对领域划分、法规遵从、地域差异及文化接受度等多元需求,"耶茨强调。为此,红帽正与国防部合作,基于平台部署分布式软件工厂体系。

国防部运营的医院与电信网络系统即存在差异化需求与监管环境。即便同一领域内,软件功能也可能截然不同——例如人力资源系统需同时处理考勤审批与国家安全许可等场景。

雷茨格指出,管理众多软件工厂将带来挑战,建议机构应识别冗余系统。"鉴于软件工厂旨在构建可重复流程框架,使用频率低或未能实现一致性目标的工厂应考虑淘汰。"

但保持多工厂体系仍具战略价值:除支持特定领域外,更有助于培育可持续的微创新。"200亿美元级项目追求速赢压力更大,"耶茨分析道,"从小规模起步可实现滚雪球式成功,即便失败,其影响范围与恢复难度也显著降低。"

勿忘软件工厂对人员的影响

耶茨指出,组织实施软件工厂的重要启示在于:通用标准与流程的约束未必构成限制。

开发团队可采取更聚焦的工作模式,取代"先编码后认证"的传统流程。耶茨将其类比为在三款与三十款冰淇淋口味间抉择的差异:"当选择无限时,决策反而困难。适度约束能加速创新,激发创造力。"

后续看点:政府的AI计划逐渐清晰

此外,平台工程自动化显著提升效率——开发团队减少基础设施管理耗时,更专注于创造性工作。雷茨格强调,在评估国防部软件工厂效益时,不可忽视其对内部人员的深远影响:"必须说服拥有数十年经验的员工接受工作方式变革,这极具挑战性,尤其当自动化替代某些需专门技能的核心职能时。"

"必须尊重并聚焦人员要素,"雷茨格警示道,"若要求员工在完成本职工作的同时实施变革,他们可能采取各种消极抵抗策略。"

最佳实践是分步推进:机构应评估自身在软件工厂三大核心要素的成熟度,制定兼顾现有系统与人员状况的迁移路线。

"向软件工厂转型必须进行战略性管理,"雷茨格总结道,"任何变革举措都需要周密规划与精准执行。"