快速、高质量地交付软件,不再是互联网公司的专利。现在,越来越多的单位除了少数研制周期较长的型号任务外,也会有很多周期短、交付质量要求高的软件项目。
那么,对于这些组织来说,怎样才能实现短周期、高质量交付的目标呢?
要达到快速、高质量交付的目标,必须对软件开发过程做出一些改变。
1、提高软件复用率
软件复用就是快速、高质量地进行软件开发的不二法门。假设我们已经建立起足够丰富的软件复用库,当有一个新的软件任务到来时,我们可以直接从复用库中选取所需的可重用构件,像搭积木一样将它们组合起来,直接进行一些集成测试、配置项测试、系统测试,不是很快就可以交付满足需求的软件了?
2、迭代开发
一个新的软件项目,总会有个别需求在项目早期尚不明确的。对于长周期的软件来说,还可以等一等需求沟通、确认的过程;对于短周期来说,没有多少时间可以浪费,所以对于此类项目应当采取迭代开发的方法:确认一部分需求,就开发、实现、验证一部分需求。
3、快速反馈
在软件开发过程中,及时获得用户或其他利益相关方的反馈,并且及时响应反馈也是快速、高质量交付软件过程中重要的一环。
基于“内建质量”的原理,缺陷越早发现修复成本(耗费的工作量)越低。所以,不要把对软件的验证和确认工作都放到软件开发完成之后,在开发的过程当中,完成一部分功能之后就要及时获得反馈,并且响应反馈,是能够帮助开发人员快速、高质量地完成开发任务的。
4、自动化
把软件开发过程中能够自动化的事情都实现自动化,也是我们实现快速、高质量交付的必由之路。因为实现自动化,不仅会比人工更加快速,而且也不会引入由于个人疏忽导致的缺陷。这些自动化的活动包括但绝不限于以下这些活动:自动化构建、自动化测试、自动化安装和部署、自动化生成和发送报告……
5、授权
短周期的项目不应有管理者的更多干预。管理者应当充分授权项目团队,让他们自主选择技术方案,制定开发计划,只在必要的时候给予他们资源上的支持、精神上的鼓励。
6、全员参与
要实现快速、高质量地交付,绝不是一个人或者一个团队的事情,它需要所有利益相关方都能积极主动地参与,每个人都能履行好自己的职责,开发做好开发的任务、测试做好测试的任务,管理者协调好资源……这样才能实现大家共同的“快速、高质量地交付”的项目目标。