且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《企业软件交付:敏捷与高效管理精要》——3.5 软件工厂的关键要素

更新时间:2022-09-22 14:07:09

3.5 软件工厂的关键要素

建立一个软件工厂,需要一张蓝图来组织和搭建提供必要能力的方法和工具。从一个简化的角度来看,企业软件交付关注若干虚拟的卓越中心[43]。图3.1描绘了一个软件工厂的蓝图。它是一组能力的集合,支持企业软件的管理和交付,并涵盖了五个关键领域[44]。我将按顺序简要讨论这几个领域。

《企业软件交付:敏捷与高效管理精要》——3.5 软件工厂的关键要素

3.5.1 业务管理
高效的业务和IT规划以及投资组合管理,有助于实现更快更明智的决策并优先考虑支持业务目标的企业软件投资,由此精简业务并降低成本。如果这一方面最终非常成熟,就可以让战略意图转换成可执行的流程与可衡量的业务成果。要达到这种程度通常需要几个要素:
企业架构管理帮助管理者做出更快、更明智的战略和战术决策;为企业软件的投资排定优先级以支持业务目标;分析、计划和执行风险已降低的变更。
业务流程管理通过发现、记录、自动化和持续改进业务流程来提高效率和降低成本,帮助优化业务业绩。
需求定义和管理最大限度地减少了不准确、不完整或遗漏的需求。这有助于团队和利益相关者高效协作,减少返工,加快产品上市时间,并更好地应对变更。
3.5.2 资产的生产和维护
知识管理和重用的***做法让企业能够发现并充分利用现有的数据和资产。有了对关键资产的了解,就有可能实施政策和***做法、管理模式中的依赖关系甚至追踪资产的工件版本等。
对于机构来说,通过提供跨多个资产库和数据仓库的搜索和选择能力,了解存在哪些资产,把资产彼此关联起来并调配现有的资产进行重用是非常重要的。这种解决方案还可以帮助管理员实施政策和***做法,管理模式的依赖关系,并追踪资产的工件,由此在系统、子系统、代码、需求、测试用例和交付的解决方案之间建立联系。最后,团队会创造新的资产,将代码转换成标准化的工件,比如Web或业务流程执行语言(BPEL)服务可以用作构建增值应用的部件。
3.5.3 应用开发和交付管理
智能的产品设计和交付优化,需要团队之间进行合作来交付优质的企业系统。此外,对卓越中心里纪律严明的团队运用精益流程,可以确保灵活性并协助分布在全球的企业软件交付。要实现比使用传统的手工导向软件开发工具更高的生产力和一致性水平,贯穿整个软件开发生命周期的协作服务、自动化和测量反馈是必不可少的。
为了提供这些能力,管理解决方案必须注重以下方面:
变更和发布管理可以管理从收集需求到部署的变更过程,有效地统一分散的团队,从而提高质量和生产力。
质量管理会提高在整个软件交付生命周期中的质量,从需求、设计、开发、质量保证、安全性、合规性直到部署。各个团队会通力协作以消除业务风险、降低成本、实施自动化、提高生产力以加快产品上市时间,并进行分析以便不断改进质量,提高项目可预测性。
架构管理引入了一系列软件开发工具,使设计、开发和交付能够利用适当的高级语言进行建模和编码,并具有一系列分析能力来保持交付的解决方案的架构质量。
3.5.4 应用基础设施和部署管理
今天的应用基础设施让企业能够经济地构建、部署和管理应用软件和产品,满足各种业务需求。跨越组织边界和生命周期阶段来整合服务交付,有助于缩短产品上市时间,降低成本和风险,同时提供交付能够适应不断变化的业务需求的动态基础设施所需的可见性、控制和自动化。这些解决方案会带来下列能力,帮助企业建立一个强大的应用基础设施:
产品部署能力可以帮助在整个生命周期中自动部署、跟踪和管理应用软件。
应用基础技术,支持在整个大型机和分布式环境中进行构建和部署的任务。
连接和应用集成促进整个机构中的协作、深入了解和成本经济的数据和知识重用。
3.5.5 治理
监视运营环境并向企业软件交付过程提供反馈的自动化能力至关重要。迭代改进贯穿整个生命周期,确保及时解决问题,并确保适应当前商业环境变化的灵活性。这些解决方案为运营提供多种能力,帮助企业开发一套稳健的做法进行自动化运营监视和测量。这些解决方案在以下几个方面提供帮助:
应用健康监测,确保关键业务能力持续运作在所需的服务水平上。
绩效管理,收集当前系统及其环境在运营方面的统计数据。
安全和合规性,确保生产系统拥有适当的运营裕量,并且足够强健,能够应对各种类型的错误或攻击。
服务管理,确保处理事件、变更和其他管理活动的方法一致,实现优质服务交付和支持。
性能优化,持续监测并改善最终用户体验的系统性能。
监视和测量,关注关键的服务水平和性能指标,以获得当前运营、趋势和方向的真实状况。