技术开发 频道

改善软件发行管理的七点建议

【IT168 分析评论】

    软件项目若要取得成果,好的发行管理必不可少,它可以确保当软件开发完成时,能成功地提供给希望使用它的人,能够让已有客户感到满意并有希望赢得新客户。

    英国一家电信提供商曾遇到了一个问题。它需要部署一台关键业务供应商交换机,这要求它重新设计其计费和账户管理系统。这些系统必须在3个月内部署到位,否则该公司面临损失数亿英镑和股价下跌的风险。但是,这家电信提供商的开发过程不佳,其发行管理存在很多问题而且不一致。

    该公司请我们帮助在规定的期限内提交该软件,扭转失败的发行管理过程。在3个月内,我们要发行重新改造过的应用的待发行的版本和两个计划发行的版本。最重要的是,我们建立了一个通畅的、轻型的发行管理过程来确保未来的发行按时和符合所要求的质量。下面我们将告诉您我们是如何做的――包括我们犯的错误。

    1.了解发行管理的当前状况

    在不了解纠正问题的对象是什么、它如何以及在何处出现了问题时,你不可能开始纠正问题。我们改进客户的发行管理系统的第一步是通盘掌握当前发行过程。我们从与涉及软件过程的关键人员的多次讨论入手。

    通过这些讨论,我们确定我们的起点相当糟。当我们加入这个项目时,项目中有在完成两个月后仍在等待发行的软件。

    测试环境受到限制并且缺少管理,因此它们一般都过时了,不能使用。更糟的是,启用新环境和更新已有环境需要相当长的时间。

    当我们到达现场时,手工执行回归测试需要长达3个月的时间。它通常被放弃,从而大大降低要发行的软件的质量。

    总体上讲,士气非常低。这些人在定期提供重要的软件上从未得到过帮助,而这消磨掉了他们的锐气。

    2.建立定期的发行周期

    一旦我们掌握了发行流程当前的状况,我们着手建立定期的发行周期。

    如果工程团队是项目的心脏,那么发行周期则是它的心跳。在决定发行软件投入生产应用的频率时,我们必须了解我们需要做多少非功能测试以及它需要多长时间。这个项目需要回归、性能和集成测试。

    建立发行周期至关重要,因为:

    ◆它提供讨论软件可能需要的非功能测试的机会。

    ◆它宣布有关人员何时可得到某个功能的时间表。如果知道这个功能将定期发布,他们可以在同意这将是什么功能上取得一致。

    ◆它建立一种各团队(包括营销和工程)可以遵守的程序。

    ◆它给予客户他们可以订购并得到某种东西的信心。

    你的发行周期必须尽可能地准确,而不是你在午餐时臆想出来的虚幻的数字。在宣布发行周期之前,先检验它。对于失败的发行过程来说,没有什么比不现实的日期更糟的了!

    我们从建议一个星期的周期开始。这个计划证明是不可行的;客户的数据库环境不能很快刷新。然后我们尝试两个星期的周期。这种作法没有受到参与者的直接反对,但前二次它没有取得成功!最后,当我们克服了环境周转瓶颈和自动完成一些测试之后,两星期成为可取得的周期。

    最终,我们建立了一个每两个星期将来自工程团队的可投入生产应用的代码投入系统测试的周期。然后两周后,我们发行这段代码投入生产应用。

    记住:你的发行周期与你的客户希望得到软件的时间无关。它是你何时可以在所需的质量水平上提供它的时间。我们的客户之所以支持我们的发行周期,是因为我们让他们参与决定这个周期。他们的意见只是决定发行周期的一个考虑因素。

0