最新敏捷调查报告

敏捷开发方法已经有近10年的历史了。最近Capgemini发布的2010-2011年度世界质量报告指出:敏捷之路并不容易。

 

采用敏捷开发模式的企业中,欧洲地区的企业有近60%的比例,北美地区是59%,亚洲地区是56%。

 

在新研发的大型项目中采用敏捷开发模式的企业比较多。

 

 

根据调查,企业认为采用敏捷带来的好处包括:
1、Time-to-market - 37%
2、Quality of Application - 26%
3、Resource utilization - 23%
4、Cost savings - 14%

 
成功应用敏捷的公司总结的最佳实践包括:
1、Set realistic expectations 设定合理的预期目标
Agile can help significantly improve application quality,productivity and time-to-market, but it is not a cure-all remedy. Perhaps the most significant benefit of agile is that it provides a much more realistic measure of progress. Instead of gauging the effort, developers are measuring true progress, which brings them closer to the business and makes them more aligned with the stakeholders’ expectations.

Survey respondents say that time-to-market is the greatest benefit that their organizations realized by adopting agile. Agile is helping IT teams deliver applications on time and within budget while minimizing rework due to its iterative
and predictable nature, greater productivity and faster reactn to change.

 

2、Do not ignore quality 不要忽略质量
Many companies claim that they are moving away from waterfall because they are discovering issues too late in the application development process when it is too costly to do anything about them. Unfortunately when they move to agile, they find themselves falling into the same routine –develop in fast sprints, but still test at the end of an iteration, or even after several iterations.

Quality should be part of every step of any agile development process. Each sprint should be composed of some amount of development and testing. This is the only
way to identify issues and project risks earlier in the lifecycle. With the right approach, agile organizations can achieve significant improvements in quality. In fact, surveyed companies perceive quality improvements as the second biggest benefit of agile – behind only time-to-market advancement.

 

3、Find the right skill set 对敏捷测试人员的技能要求
Agile brings development and testing functions closer together, but it does not automatically turn developers into good testers, or make testers more familiar with the development process. Organizations need to take a closer look at the skill set required by the QA team to effectively support agile methods.

Agile testers need to be more versatile than traditional testers. On the one hand, they must be more technical, more familiar with development practices, and comfortable with using non-traditional test automation tools to validate Graphical User Interface (GUI)-less applications. On the other hand, they need to be close to the business to
understand the requirements, work with end-users throughout the project, react quickly to change and tie application quality directly to business value. Because agile teams are typically small (six to twelve people) or a collection of smaller teams (“scrum of scrums”), an agile tester can be compared to someone working in a small company where everyone wears multiple hats. With the right skill set and a strong understanding of all aspects of the business, development and testing, QA can truly make agile an effective and successful method for the company.

 

4、Emphasize communication 强调沟通
Some agile “purists” may say that companies cannot have agile when they have distributed teams. In contrast, the survey results confirm that the reality of today’s business is distributed teams, and many of them are successfully adopting agile methods. Nearly half (46%) of all respondents leverage offshore resources in their agile delivery. These results clearly indicate that it is possible to be distributed
and be agile. The key is to stay connected. The two biggest challenges when working on agile projects with outsourced partners are poor communication and lack of mutually
accepted collaboration technologies. (See Figure 10.) It is our experience that in offshore situations, companies must emphasize the management of cultural and language
differences since they often directly contribute to communication problems.

Through proper work planning, team structure, central asset repositories and open communication, distributed teams can achieve agile success.

 

5、Achieve speed through automation 通过自动化提高速度
Agile thrives on efficiency. Agile delivery teams need to make their processes as efficient as possible, and this means increasing the leverage of automation frameworks and test optimization techniques such as risk-based testing and orthogonal arrays. Developing and managing requirements, generating test data, storing project assets, building and running tests – all tasks that are run routinely – cannot stay
manual without slowing down the process and creating unnecessary burden on the teams. Technologies and techniques that are considered “nice to haves” in the traditional application lifecycle have become necessary enablers of agile success.

Traditionally, test automation in an agile environment was difficult due to lack of application UI. Most available automation tools required a GUI to start building test
components and scripts. However, the emergence of the new generation of test automation solutions allows testers to begin automating much earlier in the process, without the need for the UI to be completed. This significantly improves the speed, quality and consistency of agile testing and contributes directly to higher application quality.

 

6、Organizations may need to find their own, unique form of agile 企业要找到适合自己的敏捷方法
Agile can be more complicated than traditional development methods, and the complexity is not only about writing code and testing at a faster pace. Agile changes the very way IT interacts with the business. Adopting agile means finding the balance between speed and quality, responsiveness and predictability, embracing change and economies of scale, minimal documentation and accurate reporting.

Many organizations find success in taking the best of traditional methodologies and applying them to their agile projects, creating a unique hybrid model that works for
them. Perhaps some testers are more used to gathering requirements than user stories, or specific project teams need more granular reporting to satisfy regulatory compliance. Companies can find an agile method that’s right for them.The main principles of agile – building in small iterations,hands-on communication with the stakeholders, rigorous testing and receptiveness to change – are going to continue
to work, even if teams add elements from other methods.The end result will be higher quality applications and greater business value.

For the testing organization, agile represents both an opportunity and a challenge. The majority of surveyed organizations (67%) are not currently using agile-specific
testing methods to support agile application delivery, which suggests that the role of the agile tester is still not well defined. For years, testers have been trying to ensure that application quality be considered earlier in the lifecycle.
With agile, QA can help make it happen by providing the right skill set, including technical knowledge of the development process and strong business process expertise.

Agile is requiring teams to work with a greater degree of collaboration. It collapses the silos making the entire team feel ownership of the product. Testers no longer have the back-seat role where they are forced to wait until the application is delivered to them. They are actively engaged from beginning to end. Agile is a different way of working. It requires a new level of competency and commitment from the QA organization, because it is not agile development, but rather agile delivery that ultimately makes projects successful.

 

 
注:2010-2011年度世界质量报告 已放到资源共享:
http://www.automationqa.com/resources/117-worldqualityreport2010-2011.html

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值