探究改善软件发行管理的七点建议
作者:管理员 发布时间:[ 2010/2/21 14:40:20 ] 推荐标签:
软件项目若要取得成果,好的发行管理必不可少,它可以确保当软件开发完成时,能成功地提供给希望使用它的人,能够让已有客户感到满意并有希望赢得新客户。
英国一家电信提供商曾遇到了一个问题。它需要部署一台关键业务供应商交换机,这要求它重新设计其计费和账户管理系统。这些系统必须在3个月内部署到位,否则该公司面临损失数亿英镑和股价下跌的风险。但是,这家电信提供商的开发过程不佳,其发行管理存在很多问题而且不一致。
该公司请我们帮助在规定的期限内提交该软件,扭转失败的发行管理过程。在3个月内,我们要发行重新改造过的应用的待发行的版本和两个计划发行的版本。重要的是,我们建立了一个通畅的、轻型的发行管理过程来确保未来的发行按时和符合所要求的质量。下面我们将告诉您我们是如何做的――包括我们犯的错误。
1.了解发行管理的当前状况
在不了解纠正问题的对象是什么、它如何以及在何处出现了问题时,你不可能开始纠正问题。我们改进客户的发行管理系统的第一步是通盘掌握当前发行过程。我们从与涉及软件过程的关键人员的多次讨论入手。
通过这些讨论,我们确定我们的起点相当糟。当我们加入这个项目时,项目中有在完成两个月后仍在等待发行的软件。
测试环境受到限制并且缺少管理,因此它们一般都过时了,不能使用。更糟的是,启用新环境和更新已有环境需要相当长的时间。
当我们到达现场时,手工执行回归测试需要长达3个月的时间。它通常被放弃,从而大大降低要发行的软件的质量。
总体上讲,士气非常低。这些人在定期提供重要的软件上从未得到过帮助,而这消磨掉了他们的锐气。
2.建立定期的发行周期
一旦我们掌握了发行流程当前的状况,我们着手建立定期的发行周期。
如果工程团队是项目的心脏,那么发行周期则是它的心跳。在决定发行软件投入生产应用的频率时,我们必须了解我们需要做多少非功能测试以及它需要多长时间。这个项目需要回归、性能和集成测试。
建立发行周期至关重要,因为:
◆它提供讨论软件可能需要的非功能测试的机会。
◆它宣布有关人员何时可得到某个功能的时间表。如果知道这个功能将定期发布,他们可以在同意这将是什么功能上取得一致。
◆它建立一种各团队(包括营销和工程)可以遵守的程序。
◆它给予客户他们可以订购并得到某种东西的信心。
你的发行周期必须尽可能地准确,而不是你在午餐时臆想出来的虚幻的数字。在宣布发行周期之前,先检验它。对于失败的发行过程来说,没有什么比不现实的日期更糟的了!
我们从建议一个星期的周期开始。这个计划证明是不可行的;客户的数据库环境不能很快刷新。然后我们尝试两个星期的周期。这种作法没有受到参与者的直接反对,但前二次它没有取得成功!后,当我们克服了环境周转瓶颈和自动完成一些测试之后,两星期成为可取得的周期。
终,我们建立了一个每两个星期将来自工程团队的可投入生产应用的代码投入系统测试的周期。然后两周后,我们发行这段代码投入生产应用。
记住:你的发行周期与你的客户希望得到软件的时间无关。它是你何时可以在所需的质量水平上提供它的时间。我们的客户之所以支持我们的发行周期,是因为我们让他们参与决定这个周期。他们的意见只是决定发行周期的一个考虑因素。
内容导航
3.采用轻量流程,及早测试和定期审查
如果有一种设计(或重新设计)过程的指导原则的话,这是完成一点工作后,审查你的结果,然后再完成更多的工作。重复这种循序渐进的方式,直到得到你想要的结果。
轻型过程是那种不需要冗长的官僚主义审批或无休止的会议能达成一致的过程。它们通常只需要小的输入和输出的可接受水平。它们失去的是臃肿和官僚主义,得到的是对变化的反应和广泛的采用!
这种作法的基础是棘手的文档资料问题。你必须记录你做了什么、如何做的。否则,你去审查什么以及如何改进?
我们并不是说那种危害热带雨林和让读者昏昏欲睡的文档资料。我们是指人们(技术人员和其他人员)可以阅读并按照它采取行动的文档资料。
我们的工程团队选择了Confluence――一种商用工具――来协作记录他们的工作。他们利用这种软件创建记录他们每个工作周期同意开发什么的小但有效的文档资料。他们记录他们开发什么,他们如何开发以及让其运行需要什么。我们看到了这种方法的价值并把它(方法和工具)推广给参与软件开发过程的每一个人。
初,我们建议了发行我们从工程团队得到的软件的任务顺序。它覆盖我们如何从源代码控制管理系统拿到软件;软件包叫什么以及每个元素(可执行代码、数据库脚本等等)将如何运行、运行在什么平台上。那么,我们利用每个元素的哑代码进行模拟使用。我们测试了我们的顺序,记录了我们模拟使用时做了些什么。这些工作成为安装说明的基础。
下一步是让要部署真正版本的人只使用我们的文档资料进行另一次模拟使用。在他们模拟使用过程中,扩展、补充和改进我们的安装说明。由于每个人都为文档资料做出了贡献,因此这个过程变成人人参与的过程;由于他们成为其中的一分子,这个过程得到更广泛的采用并带来更好的质量。
在每一次发行后,我们都审查这个过程。我们研究文档资料,确定在发行过程中进行的修改。每一次我们都分析文档资料如何能够得到改进,并根据分析结果对发行过程进行改进。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11