Professional Documents
Culture Documents
Effective Utilization of Agile Methods in QA
Effective Utilization of Agile Methods in QA
Effective Utilization of Agile Methods in QA
Authors: Vineet Kalra (vineet_kalra@adp.com) ADP Small Business Services, 71 Hanover Road, Florham Park, NJ - 07932, USA. Srinivasa Padakanti (srinivasa_padakanti@adp.com) ADP Private Ltd. 6-3-1091/C/1, Fortune 9 Raj Bhavan Road, Hyderabad, AP India - 500082 Aruna Bala Kumari Dwibhashyam ArunaBala_Dwibhashyam@adp.com ADP Private Ltd. 6-3-1091/C/1, Fortune 9 Raj Bhavan Road, Hyderabad, AP India - 500082
1. Abstract
This paper discusses regarding the agile Processes where testing is integrated throughout the lifecycle that Reduces development risk with phased Integration and continuous user feedback which made the defect ratio as 12:1(approx) and kept a final stop to Last Minute Surprises. Apart from being geared towards better quality software, this also supports the principle of small iterative incremental releases which helps us to achieve faster ROI through rapid release of business functionality. This Paper also gives enough focus on the issues faced by the QA team while moving to agile methodology from the traditional approach and the processes we followed to overcome them and ensue ahead successfully. In fact this test driven development has given the benefits above expectations which reflected in the decrease in defect rate as well as achieving the unanimous target of Software Industry High Quality Software.
2. Introduction
The main idea behind developing High quality software depends on the methods followed from the initial phase; the approach of agile comes into picture where the QA activities become a part and parcel from the kickoff of the development activities itself. In this paper we will describe our experiences and discuss about the processes developed from the gist of issues faced while migration. For this paper, we took Full Level Tax (FLT) RUN application and analyzed the entire agile process where the QA people were involved along with the development team sprint wise listing the issues in the QA methodology. We listed the main differences. We than applied these process improvements to the later Sprints of FLT and compared the performance of the releases with the previous ones. We also highlight the current methodologies that are being implemented in ADP Small Business Services (ADP-SBS) Division making the Agile approach grand success.
P n in la n g
R q ire e ts A a s s e u m n n ly y Aa s n ly is
Aa s n ly
is
T s P n in e t la n g
Ds n e ig
Ts Ds n e t e ig
C d g&D v lo m n o in ee p et
T s D v lo m n et ee p e t
U it T s g n e tin
R le s toT s g e ae e tin
T s Ee u n e t x c tio
T s / B gR p rts et u eo
D liv ry e e
Figure-1
Figure -2 For the FLT application once the code is released to QA we used to log around 120 defects (approx) and the fixes would be followed in the next releases and so on. Once the agile methodology was implemented the defects found in every sprint once summarized the figures are fascinating, around 90 defects were identified in the unit testing for sprints and once the process in QA we could identify only 10 defects which can be considered negligible when compared to the initial process . The figure below depicts the figures mentioned above
140 120 100 80 60 40 20 0 Unit Testing QA RATE Formal Approach Agile Methodology
The Bars above reveal the picture, in normal integration it was reported that only 30 defects were identified, but when the code is in QA we identified around 120 defects and some areas we couldnt focus during QA which came up in RATE (Regional Acceptance Testing Environment) around 15 of them which was very high but later it reduced to 2 defects which was one of the unexpected benefits we grabbed through Agile process adoption
4. Challenges Encountered
The above figures were so fascinating but these were not achieved overnight as well as adoption of Agile was not a cake walk too. One of the issues the Initial resistance from the team was very high as the team considered the daily Scrum calls as micromanagement and couldnt perform as expected. The challenges can be summarized as below
Repetitive testing:
As the sprints needs to be integrated and tested for all the sprints the regression testing was so repetitive that some times created fatigue to the QA team
5. Methods followed to mitigate the impact of the Challenges faced: Scrum Calls made more interactive:
The scrum Calls were made a sort of more interactions between the people and was made clear that they were not daily update calls instead providing a platform to know more about.
3. Automate as much as possible As the system grows, there are more and more tests that must be run to ensure that it is still working. With only a handful of features, manual testing might be practical. But as features existing features continue to function as before. The only way to accomplish this within the short time boxes on an agile project is to automate all of the testing you can. There is a lot of power and freedom in being able to literally push a button and have multiple types of regression tests run against your system. Because automated tests are easy to run, they will get run a lotespecially when the team is under pressure. Manual testing is just the opposite. The more pressure you feel, the less likely you are to take sufficient time to test carefully and the more potential you have for injecting undiscovered defects. Automation is essential in the continuous testing approach. These Processes guide QA practices that minimize project risk through short development cycles, enhance communication, and rapidly adapt to changing business needs. The end result is a value-driven software development approach fundamentally different from any formal methodology of testing widely used today. One of the (often unexpected) benefits of adopting an agile software development approach is a significant increase in software quality. While teams rarely decide to try agile development for quality reasons alone, dramatically lower defect rates are almost always one of the first things that they notice. The projects which had implemented agile methodology have succeeded in reducing defects to the point where there are hardly any major defects after the release of the entire build to QA. The answer lies in the fundamentally different approach taken by agile methodologies to both building and testing software. Agile development rejects the Notion of distinct, activity-specific phases as the best way to scale software Project. Rather than doing requirements, then analysis, then design, build, and test as Separate, Sequential phases (often with different groups of people), agile teams slice the problem differently. It works by building a small but complete piece of a Larger System and then growing it incrementally.
The Agile methodology can be summarized as below Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
Authors Biography:
Vineet Kalra is currently Project Manager at ADP Inc. NJ, USA. He did his masters from Stevens Institute of Technology. His experience covers development and IT project management, including offshore project management. He manages several large-scale Quality Assurance projects for the Small Business Services Division of ADP Inc, NJ. He is also managing the entire offshore operations for the SBS Quality Assurance Division. Srinivasa Padakanti is currently Senior Project Leader at ADP Private Ltd. Hyderabad, India. He has more than 8 years of experience in IT field. From the beginning of his career, he has handled various development and QA Projects. His specialties are IT Project Management, Development and Quality Assurance. He manages several large-scale Quality Assurance projects at ADP Hyderabad. Aruna Bala Kumari is working as a Senior Software Engineer at ADP India Limited. She has an overall experience of 3 years in Software industry that includes 3 years in Automation testing. She has obtained her Masters In Computer Applications from Indira Gandhi University (IGNOU). Her areas of interest are test automation and Agile testing..
Acknowledgements:
I would like to thank Akkiraju Bhattiprolu for the amount of time and effort he spent in reviewing the paper and giving his valuable suggestions.
Appendix:
ADP SBS FLT Dev QA RATE QC or Quality Center Automatic Data Processing, a financial services company. Small Business Services, a Division of ADP Inc Full Level Tax Development Quality Assurance Regional Acceptance Testing Environment Test Management Tool by Mercury Cooperation
(Number of defects found in RATE) Defect Leakage Percentage in RATE: = ______________________________________ X 100 (Total number of defects found in the QA and RATE) Defect Severity levels 1 & 2 severity defects 1 Immediate Response 2 Fix required for Certain Other severity defects 3 Workaround available 4 Cosmetic 5 Issue not in requirements 6 Non SBS Issue 7 To Be Determined