通常一提到ITIL大家都会习惯的认为它就是为IT运维工作服务的一种方法论,好像只对运维人员的工作有帮助而对于IT部门中很重要的开发工作好像没什么关系,其实这种看法是比较片面的。我们先来看看实际工作中开发和运维是个什么样的关系,存在什么样的问题?再来看看ITIL是否对于我们的软件开发工作也有一定的帮助。
中培ITIL专家王老师指出,在实际的工作中经常会遇到这种现象,软件开发人员开发几个系统以后就经常被其相关的售后工作所累,很难再有时间去开发新系统或者是正常的开发工作计划经常被原有的系统问题占用;软件开发项目中业务方需求不断变化,开发工作遥遥无期,运维人员也经常遇到新的软件系统上线的前半年基本上要忙得不可开交的情况,甚至开玩笑说我们就是给开发擦屁股的。大家都很痛苦,那有没有什么办法使这些问题能够理顺呢?
随着时间的推移,行业及技术都发生了很大变化。ITIL是最佳实践经验总结,于是它也从v1发展到v2,继而扩展到v3。ITIL v3定义了服务生命周期的五个阶段:服务战略(Service Strategy)、服务设计(Service Design)、服务转化(Service Transition)、服务运营(Service Operation)、服务持续改进(Continua Service improvement)。在这五个阶段中提供了IT服务生命周期内进行IT服务管理所需要的各种流程。
服务战略是服务发计、服务转化、服务运营和持续改进的基础,这个阶段涵盖了服务管理的实践、服务原则、服务评估、服务战略流程、服务管理的财务模型等内容,从整体业务目标和管理层期望出发,保证IT发展战略与业务相致。
以下几个ITIL流程在软件开发和测试中都能起到关键的作用。
(1)需求管理
需求管理是整个服务管理的重要内容,糟糕的需求管理导致的需求不确定性对于服务提供商来说是个巨大的隐患。在软件开发中也是如此,只有超过有效的需求管理来捕获所有的需求,才能知道用户需要的是什么,并且将可用资源中在优先级最高的业务上。同时需求管理的流程还能够帮助确定采用伺种方法来满足不同用户的需求。
(2)财务管理
财务管理流程就是为了帮助有效平衡成本和回报的。在软件测试中,财务管理能够帮助评估开发工作和相应的成本的关系,也能帮助回答是否需要购买自动化测试工具来取代部分人工测试等问题。
(3)服务级别管理
服务级别管理流程的目标是确保能够维持双方约定的IT服务级别。在软件开发中实际上就是项目范围的界定,例如交付的应用必须能够满足100个并发用户同时登录,并且响应时间必须在20秒内。准确地定义SLA将有助于制定合理的开发、测试计划及配备相应的资源。
(4)可用性管理
可用性管理在软件开发和测试中也非常重要,软件开发的根本目标之一就是保障应用的可用性。于是一方面我们需要在应用上线前做大量的业务性能测试,以确保应用上线后能够在突发高峰时仍能够保障其可用性,另一方面,上线后需要可持续的手段来实时监控业务,主动跟踪应用的可用状况,一旦发生可用性问题,可以及时自动化响应处理,如重启服务、报警人工干预等。
其次,从执行层面上说ITIL可以使开发和运维有明确的工作标准。
在软件开发过程中,我们通过服务资产和配置管理流程,确保软件的测试是在相应标准的测试环境中进行,同时所有的测试都是针对正确的应用版本进行的。
变更管理流程能够帮助对客户业务需求的变化做出快速响应,使IT服务能够适应业务的需求。软件开发过程中需求变更比比旨是,通过变更管理流程对软件开发中的变更进行有效的管控,可以使软件开发工作中的需求更加可控,在实际操作中需要将软件开发的项目变更管理有机地与运维的变更管理相关联。
知识管理流程的目标是确保在整个生命周期中都能获得安全可靠的信息数据,从而提高组织知识共享的能力。从软件测试角度看,很多测试中的人为积累非常有惯值,这包括所有的测试计划、测试脚本、测试中遇到的问题和解决方法、测试方法论等。因此有效的测试管理必须能够统管理所有的测试资产(包括文档、脚本、知识库等),并青自够有效地为其他测试人员共享,以帮助今后的回归测试。
因此ITIL v3这个服务管理的最佳实践并非IT运维的”专利”,它同样适用于软件开发领域。将ITIL的最佳实践合理地融入到软件开发的方方面面,企业的业务应用质量控制将”更上层楼”。
想了解更多IT资讯,请访问中培教育官网:中培教育