Quality Assurance in an Agile Environment



Similar documents
Maintaining Quality in Agile Environment

Agile Project Management By Mark C. Layton

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

Agile Projects 7. Agile Project Management 21

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

Lean QA: The Agile Way. Chris Lawson, Quality Manager

Agile Development Overview

Course Title: Planning and Managing Agile Projects

Agile Testing. What Students Learn

Course Title: Managing the Agile Product Development Life Cycle

Applying Lean on Agile Scrum Development Methodology

Lean Software Development and Kanban

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

No one has to change. Survival is optional. - W. Edwards Deming - Continue your Beyond Budgeting Journey with help from Agile, Lean and Scrum

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

LEAN AGILE POCKET GUIDE

Agile Project. Management FOR DUMME&* by Mark C. Layton WILEY. John Wiley & Sons, Inc.

Introduction to Agile and Scrum

When is Agile the Best Project Management Method? Lana Tylka

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

The Agile Manifesto is based on 12 principles:

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Introduction to Agile Scrum

Sprint with Scrum and get the work done. Kiran Honavalli, Manager Deloitte Consulting LLP March 2011

26 May 2010 CQAA Lunch & Learn Paul I. Pazderski (CSM/CSP, OD-CM, CSQA) spcinc13@yahoo.com Cell: AGILE THROUGH SCRUM

Software Development Methodologies

Agile Scrum Workshop

SCRUM BODY OF KNOWLEDGE (SBOK Guide)

SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework

Capstone Agile Model (CAM)

Agile Development. Redefining Management in Project Management. Neil Stolovitsky

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

CompSci Fall 2014 Professors: Robert Duvall, Ajay Patel, Salman Azhar (rcd@cs, ajay.patel, azhar@cs)

A Practical Guide to implementing Agile QA process on Scrum Projects

Agile Software Engineering Practice to Improve Project Success

Agile Requirements Definition and Management (RDM) How Agile requirements help drive better results

Scrum. in five minutes

SESSION 303 Wednesday, March 25, 3:00 PM - 4:00 PM Track: Support Center Optimization

Agile So)ware Development

Agile Testing (October 2011) Page 1. Learning Objectives for Agile Testing

Agile Extension to the BABOK Guide

Bridging the Gap Between Acceptance Criteria and Definition of Done

Collaborating for Quality in Agile Application Development From Beginning to End

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Scrum and CMMI Level 5: The Magic Potion for Code Warriors

Issues in Internet Design and Development

Alternative Development Methodologies

Agile Metrics. It s Not All That Complicated

Agile Project Management

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

The Basics of Scrum An introduction to the framework

Business Analysis Essentials

Agile Beyond The Team 1

Role of the Business Analyst in an Agile Project

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

Lean Agile Scrum Business Value Development and Delivery using Agility. Brenden McGlinchey Software Done Right, Inc.

History of Agile Methods

PointZERO Enabling the right first time principle

An Agile Project Management Model

Your Agile Team s Indispensible Asset

Agile Fundamentals, ROI and Engineering Best Practices. Rich Mironov Principal, Mironov Consulting

The Truth About Agile Software Development with Scrum, The Facts You Should Know

Business Analysis In Agile A Differentiated Narrative

Software Life Cycles and Configuration Management

D25-2. Agile and Scrum Introduction

Agile Project Management

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson Jyväskylä

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development

EXIN Agile Scrum Foundation

CSSE 372 Software Project Management: More Agile Project Management

CSE 435 Software Engineering. Sept 16, 2015

What is Scrum? Scrum Roles. A lean approach to software development. A simple framework. A time-tested process

Agile SW Siemens

Getting Started with Agile Project Management Methods for Elearning

Kanban vs Scrum Making the most of both

When agile is not enough

Governments information technology

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

Lean vs. Agile similarities and differences Created by Stephen Barkar -

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

When to use Agile/Scrum

Applying Agile Project Management to a Customized Moodle Implementation

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

The style is: a statement or question followed by four options. In each case only one option is correct.

Don t forget the testers

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

Quality Assurance Software Development Processes

Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP

How To Plan An Agile Project

AGILE SOFTWARE TESTING

Transitioning from Waterfall to Agile Course AG01; 3 Days, Instructor-led

Agile Development to Transform FedEx

Scrum: A disciplined approach to product quality and project success.

Agile Project Management with Scrum

Transcription:

Quality Assurance in an Agile Environment 1

Discussion Topic The Agile Movement Transition of QA practice and methods to Agile from Traditional Scrum and QA Recap Open Discussion www.emids.com 2

What is Agile? Definition of Agile Agile software development is a group of software development methodologies that are based on similar principles. Agile methodologies generally promote a project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices that allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals Agile Does NOT stand for Anything Goes Methodology Agile is a lean method of software product development that is highly dependent on team interaction and rapid feedback www.emids.com 3

Characteristics of an Agile Team Execute Project deliverable in small increments with minimal planning, rather than long-term planning Development & QA is done short time frames (known as Sprints') which typically last from one to four weeks Each iteration is worked on by a team through a full software development cycle, including planning, requirements analysis, design, coding, unit testing, and acceptance testing when a working product is demonstrated to stakeholders Agile methodologies include a routine and formal daily face-toface communication among team members www.emids.com 4

The Agile Manifesto That is, while there is value in the items on the right, we value the items on the left more http://agilemanifesto.org/ Misconception that items on the right are not important! It s the relative value being emphasized www.emids.com 5

The Software Development Evolution Traditional to Agile Growing Realization that Requirements are never fully understood Fast paced development environments using new development Technologies and Tools Move towards business models like SaaS and software architecture like SOA Shortened product delivery cycles Increased involvement of business users in the development cycle Migration towards Agile product development models like SCRUM, RUP, XP www.emids.com 6

QA Framework using a Holistic Approach www.emids.com 7

QA in Traditional Environment The Pros and Cons PROS Elaborate documentation available for preparing test cases Ample time for test planning Stable requirements means less re-work on test cases CONS Any major requirement change/addition throws the QA schedule out-of-gear Any uneven distribution of effort between QA Planning and Execution phases cannot be realized earlier QA has to absorb the delays introduced by the BA/Development teams leading to compressed QA execution time and inadequate testing www.emids.com 8

QA s Struggle with Agile Scope Creep Requirement changes and updates are inherent to Agile methodology and QA s biggest challenge Inadequate time to prepare test plans Minimal requirements documentation to prepare the test cases Highly compressed test execution cycles Minimal time for regression Change of role from being a Gatekeeper of Quality to being a Partner in Quality Often required to play a semi-developer role www.emids.com 9

Managing Quality in Agile Model What moving to Agile does not mean for QA Sprint feature specific testing only with less emphasis on System Integration testing Minimal Test documentation Ad-hoc Testing with `best possible coverage Being just an extension of development team Losing the user perspective of the product Freedom from ownership of Quality of the product! www.emids.com 10

Managing Quality in Agile Model What moving to Agile does mean for QA Participate ownership on quality A team of equals. Quality is Team s responsibility. Role of QA is around defending the quality for the team by developing proper measures User or Product representative involved in all phases guiding Quality Agile team quality analyst is adaptive rather than predictive www.emids.com 11

Unified Scrum - An Agile Methodology

Genesis of Unified Scrum www.emids.com 13

Release Approach Using Unified Scrum www.emids.com 14

Sprint Cycle Inception Sprint Planning meeting Daily scrum Business case and Approval Product Roadmap Initial product backlog Initial release plan Architectural Direction Update product backlog Release Release Cycles Impediment list Feature backlog Product burndown Sprint retrospective Backlog review Product Manager Scrum master Artifacts Scrum roles Product backlog sprint backlog Users Team members Sprint backlog burndown Stakeholders www.emids.com 15

Practical Implementation: Unified Scrum Approach to Application Development & QA During Sprints www.emids.com 16

Interchangeability of Roles in Unified Scrum Horizontal tracks define different roles in Unified Scrum team BUT Roles can be interchangeable for a given resource One resource does NOT have to tie themselves to One Role Crossover of roles is encouraged for example, a BA in one sprint may be a QA in the next or sometimes, in the same sprint Developers can perform BA roles often times during peak analysis times at the inception of the project QAs often play the role in UAT and deployment and rollout. Key is to adapt to what best suits your organizational culture and skills www.emids.com 17

Typical QA in Unified Scrum Model Week 1 Test planning and Test Case development Test Data requirements definition Test Scripts documentation in collaboration with BAs and Developers Test cases reviewed by BAs Regression tests conducted on prior features www.emids.com 18

Typical QA in Unified Scrum Model Week 2 Additional test cases written Reviews from BAs incorporated Initial Builds are reviewed and defects reported Regression tests conducted on prior features Sprint test execution begins in full force at the end of Week 2 www.emids.com 19

Typical QA in Unified Scrum Model Week 3 Sprint test execution conducted in full force Defects reported and daily defect review meeting conducted Fixes Retested End of Week Quality Signoff Release Release notes identifies open defects and approved features Sprint Retrospective www.emids.com 20

QA in a typical SCRUM the Issues Less emphasis on test documentation can lead to half-baked cases Test coverage is dictated by time available Requirement changes - if not communicated effectively results in QA executing invalid test cases or rendering test cases already executed useless Often System Integration test cases get left out with focus only on the features delivered for the sprint Low emphasis on documented status reporting and management reporting makes it difficult to track overall state of the Quality of the product www.emids.com 21

Sample QA Process Flow in Unified Scrum Method www.emids.com 22

Evolution in Agile QA Lean S/W Development Eliminating Waste in the System! Don t produce code that is not testable. Think QA before writing the code! QA is NOT a separate team with separate function at the end of the assembly line QA activities and people should be involved in the development of the product during the development Minimize Handoffs - avoid the traditional User-BA-Arch-Dev-QA model Write test first and use all the frameworks that will facilitate your test suite Automate testing, building, installations, anything that is routine, but do it smartly (read flexible) Re-factor code to be more streamlined, simpler the code- more effective it will be in production and to maintain Most importantly build quality in the process www.emids.com 23

RECAP - QA Mindset in an Agile Methodology Quality is responsibility of the ENTIRE Scrum Team Quality Gate does NOT only mean System Testing but the entire application Continuous Integration will Lead to Continuous QA Progressive inclusion of System Integration test cases from sprint to sprint QA resource plays a role of BA/QA removing any gaps in requirements communication Prioritize Test Cases by Risk and Frequency of Feature Usage Utilize the Sprint Retrospective to Identify Where in the scrum process did failure of quality occur (Root Cause Analysis) www.emids.com 24

Open Discussion www.emids.com 25