Understanding The Background Of  AGILE TESTING? Challenges of moving to Iterative and Incremental Process

Understanding The Background Of AGILE TESTING? Challenges of moving to Iterative and Incremental Process

AGILE TESTING means fast, responsive, alert and lively. Agile method is nothing but a strategically implementation to improve the entire project life cycle. In recent years Agile is the only one frequently used word across IT. It's like IT = Agile. Agile main aim is to promote a very disciplined project management process which emphasis on frequent inspection, revision, project philosophy. Agile Process encourages teamwork, self-discipline, accountability of self work.

In Infogen-labs we built waterfall to agile culture in very processed and qualitative manner by setting up QA review and planning process.

ABSTRACT:

The purpose of writing Agile (Scrum) Methodology is to get proper delivery of product in terms of Quality, User needs, Client Requirements, Deadline. This also helps for the involvement of all team member and keep them on the same page with clarity on what is going, and what we must achieve. The issues which we faced due to requirement changes, complex code, and compatibility problem with existing architecture was not handled in waterfall & partial knowledge of Agile (Scrum) Methodology. This also includes issues such as the QA process was not implemented accurately. This can be improved or resolved by implementing a proper Agile model. To overcome this problem, this paper deals with the process flow of the Agile model, Scrum Methodology, Terminologies used in Scrum, Scrum Events, Scrum Artifacts, and Advantages & Role of Quality Assurance in Scrum. This paper comprises of our experiences of traditional project management and how we have shifted to Agile-Scrum for quick and quality delivery.?

PROBLEM STATEMENT:

Earlier, we preferred the Waterfall approach for our projects. But when dealing with projects which expected continuous delivery to clients, change requests, adding new features or making changes in the code/Complexity in Code Waterfall approach proved to be quite problematic. Therefore, we decided to switch to Agile Methodology. While switching to Agile methodology came across issues mentioned below:?

  • While shifting from Waterfall to Agile
  • While implementing 100% Agile from partial implementation?

Scenario 1: Waterfall to Agile: Let's Consider a Scenario of CRUD (Create, Read, Update & Delete) for IT User management Project?

No alt text provided for this image

Issues:

  • Long meetings: To set up target, to discuss issues, query resolution. As a result, turnaround time was extremely high, and output was critically low as compare to time spent
  • There was a contradiction between QA and Developer in an understanding of requirement that leads to delay in product.
  • It is very difficult to go back and change something that was not well-thought out in the concept stage, once an application is in the testing process.
  • Dependent modules not identified at the time of planning affected high priority tasks. Hence A team was not able to deliver a potentially shippable increment of a product on time.
  • Improper implementation of UI due to code complexity lead to a greater number of UI issues
  • Build management is not planned
  • Defect prioritizing is incorrect.
  • Lack of knowledge of agile impacting on productivity
  • Lack of timely/effective communication amongst Dev, Product, QA team members lead to a product that doesn't fully meet stakeholder requirements
  • Time estimation is critical activity for team
  • Inadequate time for testing

Scenario 2: Inappropriate/partial implementation of Scrum model: Let's Consider a Scenario of a Learning Management system

Sprint 1:

  1. Homepage
  2. Login page
  3. Registration page
  4. Single Sign-on feature

Sprint 2:

  1. Email and text invite page
  2. Forgot password page
  3. Change password page
  4. Landing page

No alt text provided for this image

Issues:

  • Requirements were not frozen, and changes were made in requirements during the ongoing sprint, due to which lot of rework was required/ Estimation/Planning disturbed
  • Requirements were not complete/clear and not covering the entire sprint requirement as backlog grooming is not done
  • No clarity of high priority tasks
  • Collaboration of dev and QA team was missing
  • Lack of Knowledge of Agile tool
  • Demo/Retro not planned
  • Deployment not in time
  • Incorrect story writing /acceptance criteria not mentioned
  • Estimation is not done based on team members capacity/Lack of capacity planning
  • Over estimation
  • Unable to identify blockers on time
  • Not enough time for testing

To overcome the both the issues, the best way is to implement the Appropriate Agile model.

SOLUTION:

Agile means fast, responsive, alert and lively. The word Agile, rightly reflects the topic of our white paper, how continuously & quickly the development and testing cycle handled in Project Management. It’s safe to say, Agile method is nothing but a strategically implementation to improve the entire project life cycle. Someone has rightly said "Fall in love with the process and the results will automatically come!" In recent years Agile is the only one frequently used word across IT. It's like IT = Agile. Agile main aim is to promote a very disciplined project management process which emphasis on frequent inspection, revision, project philosophy.

Agile Process encourages teamwork, self-discipline, accountability of self-work. High end goal is to streamline set of best practices for speedy delivery of high-quality software. An overall project approach is to change the perspective from "Not Done" state to "Timely Done" state. Agile methodology is a practice that promotes continuous iteration of development and testing throughout the software development lifecycle. The core strategies of Agile Methodology are:?

  • Iterative and Incremental Development
  • Common shared vision and goal
  • Adaptive Project Management
  • Collaborative,” Whole Team Approach”?

A. Scrum Methodology :

SCRUM is an agile development method which specifically helps to manage tasks within a team-based development environment. The concept is to break large project into smaller phases, with continuous review of targets, make improvements along the way and achieve the set goals. Scrum believes in empowering the entire team to achieve the common project goals. To make it simpler, consider a corelation between Physical Exercise and Fitness. Living healthy, sound & fit life is a common objective of every human being. To achieve this goal, physical exercise is a framework suggested. Scrum is nothing but a framework or a structure used for Agile implementation.?

B. The process flow of Scrum Methodologies:?

  • Each iteration or decided time frame of a scrum is known as Sprint
  • The product backlog is a list where all details are entered to get the requirements
  • During each Sprint, top items of Product backlog are prioritized and turned into Sprint backlog
  • Teamwork on the defined sprint backlog
  • Team checks for the daily work
  • At the end of the sprint, the team delivers product functionality
  • A retrospective meeting is conducted to check what we have achieved, what needs to be improved

C. The Scrum Team:?

There are three vital roles in Scrum – Product Owner, Scrum Master and The Team.?

No alt text provided for this image

D. Scrum Events:?

a. Sprint: A sprint is a set period during which specific work must be completed and made ready for deliver.

b. Sprint Planning Meeting: In this meeting, we target to decide timeline for achieving the high-level features suggested by PO/Client within Sprint Duration. This Sprint Planning meeting helps to achieve Sprint goal and Sprint backlog

c. Daily Scrum: During Sprint, Scrum Master conduct a daily meeting called the "Daily Scrum" OR Daily Stand-Ups (DSU). The purpose of this meeting is to give the team an opportunity to sync daily on what the team is working on

d. QA Planning

e. QA Review

f. Sprint Review: Each sprint ends with a two-part sprint review meeting. It starts with a customer review and demonstration and ends with the team retrospective.

g. Sprint Retrospective: The Sprint Retrospective conducts after the Sprint Review by SM with entire scrum members

h. Epic: An epic is a body of work that can be broken down into specific tasks (called stories or user stories) based on the needs/requests of customers or end-users. It is a very helpful way to organize your work and to create a hierarchy.?

i. Velocity: the total number of story points completed by the number of sprints

j. Story/ User Story: It is used to describe the product features. It is a very high-level definition of what the customer wants the system to do. k. Story Points: - It is a number that tells the team about the difficulty level, complexities, risks, and efforts involved in the story decided by the Developer.??

l. Burn Up & Burn Down Chat: Burndown and burn-up charts are two types of charts that PM/SM use to track and communicate the progress of their projects.?

m. Iteration: - Iteration is a single development cycle, usually measured as one week or two weeks.?

E. Scrum Artifacts: -?

a. Product Backlog: - It is simply a list of all things that need to be covered within the project while preparing sprint.

  • List of all product features are prioritized by PO
  • The list can contain features and defects

b. Sprint Backlog: - The sprint backlog is a list of tasks identified by the SM/PO to be completed during the Scrum sprint. The list of tasks can be task of last sprint, OR To do list

c. Increment: - An Increment is the sum of all the Product Backlog items completed during a Sprint and the value of the increments of all previous Sprints.?

No alt text provided for this image

F. Benefits of Agile

  • A functioning model delivered to client after every sprint which help in early feedback.
  • Points discussed during retrospective meeting helped in improving next sprint.
  • Blockers were identified and resolved with the help of Daily stand up meeting (DSU)
  • QA estimations were considered because of QA planning.
  • Large tasks /features were divided into small tasks.
  • Quick action and effective communication helped us to solve problem and better understanding.
  • Communication gap between team members reduced using DSU and QA planning and QA review

Conclusion:

The main different and most useful features of Scrum are agility and continuous progress. It’s provided mostly by permanent communication and close cooperation between the clients/Customer at each step. At the phase of sprint planning, product owner communicates with the scrum team. They define how they can divide the existing user stories into several tasks and sub-tasks?

During the regular scrum meetings, the team members discuss the implementation of each task and find the ways of solving possible problems. When the sprint is finished, the customer can evaluate the working product functionality at the current iteration. There is a possibility for him to arrive at a decision about further improvements or change the initial project’s objective. Finally, all information received during these steps can be used to improve the next sprint results and development process can be optimized in the best possible way.?

We have overcome the above issues which we faced in scenarios 1 and scenarios 2 as given below:?

  1. We conducted 15-20 min Daily Stand Up (DSU) or Daily Scrum instead of Long Last meeting which didn't hamper team members work.
  2. We started adding QA planning & QA Review for getting team members on same page especially for Dev and QA. It helped Dev to go back and do changes.
  3. Sprint Planning helped us to set priority task, schedule build management date/time and estimate time for testing too.
  4. Team members added individual inputs during ticket estimation in Backlog Grooming which helped to prioritise task.

Reach Us

corp.infogen-labs.com ?



要查看或添加评论,请登录

社区洞察

其他会员也浏览了