| Topic : Building blocks of Agile Innovation |
|
|
MySQL
|
|
||
|
Activity:
4 comments
1134 views
last activity : 07 06 2010 20:18:04 +0000
|
||
|
|
It is challenging to successfully integrate standard quality assurance (QA) practices within an agile process such as extreme programming (XP). Not only is expanding an agile process to include other disciplines difficult, but XP teams typically reject traditional QA practices.
Integrating QA into an XP team does not have to be painful. Integration is achieved by tackling small goals using the XP principles of communication, simplicity, feedback, and courage in order to build an agile QA process. The following paper describes our experiences towards successful integration.
Getting Started
An important first step for QA integration is for both the business and the team to recognize that a quality assurance team is beneficial to the project. Benefits include but are not limited to: finding bugs before they go to production, adding a different perceptive during development, and being advocates for critical bug fixes. However we have discovered that most project sponsors do not see these benefits.
In our experience we have heard two common reasons why a business might claim the quality assurance practice is not necessary:
A) QA slows down development.
B) A good set of unit tests should suffice.
In respect to QA slowing down development, we respond by pointing out that speed and quality are often competing forces on a project. The key is to strike a balance that is right for the business needs. Certainly quality would be critical if you are working on a medical device that, should it fail, could place a life at risk. In this case, it would be reasonable to expect that product development would take longer. On the other hand, if you were working on a demo for a trade show that will never be released to production but will be used to attract investors, it would be appropriate to forego quality in turn for speed of development.
The Role of QA

The second step to successfully integrating QA into an agile team is to understand the role of QA. The quality of a product should not be judged solely by the number of tests written against it or the number of bugs it contains. It is our belief that the role of QA is not to write as many tests as possible or to find as many bugs as possible, but rather to help the business understand and measure risk. To do so they must understand the user needs, the underlying architecture of the
product, and the implications of the known bugs.
The following simple steps can go a long way towards helping QA fulfill its role:
1) Listen, learn and ask lots of questions
2) Prioritize QA tasks
True Integration into the Process
The third step is to integrate QA’s findings into the agile development process. In our experience, the earlier QA is involved, the more successful the integration. As mentioned above, QA should listen to the development team’s discussion of architecture. A good forum for this is the iteration kickoff meetings. Iteration kickoff opens the door to collaboration of design and healthy debate.
Each story card planned for the upcoming iteration is discussed and the team agrees on a plan of action. Participating in this activity creates opportunities to listen for the challenges the development team will face, for possible areas of confusion, or for forgotten use cases. Bugs can be caught even before code is written.
Automated Testing
As a fourth and final step to integrating QA, consider adding a suite of automated functional tests. Before doing so, it is important to recognize that automation can be time consuming and expensive. Avoid traveling down the overwhelming path of automating every functional test possible.
If the need of the business permits, take a minimalist approach to automation, pinpointing key areas of the application that would most benefit by an automated test. Write and estimate story cards to tackle those first.
Conclusion
Following these four steps can reduce the challenges of integrating QA into an agile team. Implementing these practices should result in a QA process that is structured and consistent. Remember, it is important to consider the business needs when determining effort put towards quality.

The role of QA is to help understand and measure risk. Listening, learning, participating, and prioritizing are all key aspects of successful integration. Integration within an agile team requires being agile: iterate the process. Revisit your QA priorities on a regular basis and constantly consider how you might improve the process.

- Create a confidential Career Profile and Resume/C.V. online
- Get advice for planning their career and for marketing of experience and skills
- Maximize awareness of and access to the best career opportunities
|
|
|
|
|
|
|
|
|
|
Evolution of Caste System.. Ancient India: Bramhin, Kshatriya, Vaish, Shudra Post Independence: Hindus, SC, ST, OBC,Minorities. Now: Androideans, Appleans, BlackBarriens, Minorities and also some on the verge of extinction! So in which catergory... |
I believe it doesnt work much....make the internet users accountable for the data they download or the sites they visit.... |
Wow wonderful insight sir...:) |