伦敦软件质量管理总监顾问Martin Adcock,在IT项目管理中为降低软件开发成本提供了10种方法。
1.良好的功能需求文档
没有文档需求,系统就存在无法满足客户期望的隐患。例如,即使开发团队认为他们的工作一直符合归档的需要,也许它不能以客户认为应该的方式工作。Adcock说。这将导致项目返工、延期发布、成本增加以及客户与软件团队之间的潜在矛盾。
2.非功能需求应尽快定义,并尽快明确
大多数组织专注于系统的功能,即它所做的,而不是它所做的。非功能因素包括从性能到安全再到可用性的一切。Adcock对非功能的需求同样重要。
由于缺乏明确和尽快定义的非功能需求,发布后的系统可能与客户想象的功能相同——但它太难使用速度非常慢,不安全,不可靠或可扩展性太差。这将再次导致开发团队返工——一些非功能领域需要产品设计,如果项目没有重新启动,就很难纠正。
3.确保适当的变更控制过程
没有变更控制,系统开发会发现自己处于不确定状态。Adcock解释说:随着项目的进行,越来越多的需求面临着变化,每一个变化都没有正确的影响评估。应严格控制每一个变化。每一个允许的变化都应在完全影响评估后分析其对项目时间进度和成本的影响。
4.使用配置管理系统管理代码、数据和文档
没有配置单一管理系统,就不可能进行高质量的测试。这是因为你不确定正在测试的软件或文档是否是正确的版本,或者发布给用户的版本是否完全测试。Adcock说。配置管理差的组织可以测试一个版本,而发布另一个版本,包括未经测试的特性。
5.专注于缺陷预防,而不是测试
在项目开始时,在需求文档中纠正错误远比在开发完成后更快、更便宜。这已经被证明很多次了。项目周期越晚,发现缺陷的成本就越高。
6.在需求定义阶段设计用户验收测试
7.在系统设计阶段开始设计系统测试
8.重点关注单元测试
每个人都知道,在开发过程中发现缺陷越早,修复缺陷就越容易、越快、越便宜。码中的缺陷,单元测试是发现它们的最早阶段。
9计划基于风险进行测试
由于各种原因,如固定的发布期和开发团队的延迟,测试时间总是非常有限,这意味着并非所有原计划的测试都可以实施。在本项目中,充分测试了被认为是产品成功的重要因素。因此,测试应始终集中在系统的最高风险水平区域,然后是中等风险和低风险元素。
当面临时间压力时,这种基于风险的方法可以确保系统中未测试的元素处于最低风险区域。
10.当发现错误更便宜、更高效时,尽快使用工具发现功能和非功能错误
在开发的早期阶段,如果创建和维护一套自动化测试工具,它可以重复用作吸烟测试。该方法可以快速、更早地发现许多潜在的缺陷,为未来的测试阶段节省宝贵的时间。
其他特殊工具有时会发现系统设计的缺点,应该发现得越早越好。例如,一些系统的早期性能测试可以暴露设计差的模块,这将拖累整个系统的性能到用户的容忍度。在这种情况下,模块很容易被确认和分离
离开,很容易修改或重写。如果在系统交付测试或发布前进行性能测试,则此确定过程将更加困难。
最后一句话语,尽快测试,频繁测试。