Testing in Scrum Projects

Similar documents
Agile Scrum Workshop

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

Adapting Agile Software Development to Regulated Industry. Paul Buckley Section 706 Section Event June 16, 2015

Don t forget the testers

EXIN Agile Scrum Foundation

Agile Testing. What Students Learn

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

Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012

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

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

Taking the first step to agile digital services

Introduction to Agile Software Development Process. Software Development Life Cycles

Agile Development Overview

AGILE BUSINESS INTELLIGENCE

AGILE & SCRUM. Revised 9/29/2015

Integrating PRINCE2 and Scrum for successful new product development

Bridging the Gap Between Acceptance Criteria and Definition of Done

Agile Project Management with Scrum

Introduction to Agile and Scrum

Agile Projects 7. Agile Project Management 21

An Agile Project Management Model

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

Traditional SDLC Vs Scrum Methodology A Comparative Study

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

Statistics New Zealand is Agile Continued Implementation of AGILE Process at Statistics NZ

When is Agile the Best Project Management Method? Lana Tylka

Quality Assurance in an Agile Environment

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

Agile and lean methods for managing application development process

Introduction to Agile

Mastering the Iteration: An Agile White Paper

Mariusz Chrapko. Before: Software Quality Engineer/ Agile Coach, Motorola, Poland. My Public Profile:

Agile and lean methods for managing application development process

Certified Agile Software Test Professional (CASTP)

The Agile Manifesto is based on 12 principles:

Agile Requirements And Testing For Continuous Software Delivery

Agile Requirements Engineering + LESSONS LEARNED

Agile Project Management in a Regulated Environment

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

Agile with XP and Scrum

Testing in Agile methodologies easier or more difficult?

How can I be agile and still satisfy the auditors?

Agile & Scrum: What are these methodologies and how will they impact QA/testing roles? Marina Gil Santamaria Summer 2007

D25-2. Agile and Scrum Introduction

Scaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London conchango

Agile Project Management

Agile Testing of Business Intelligence. Cinderella 2.0

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Agile Testing. Workshop. Tilo Linz, imbus AG

An Introduction to Agile Performance Management

About Me Developer Workspaces Enable Agile Teams

The Agile Project Manager

Agile Project Management By Mark C. Layton

Workshop on Agile Test Strategies and Experiences. Fran O'Hara, Insight Test Services, Ireland

Testing and Scrum. Agenda. Fall 2007 Scrum Gathering

How To Be Successful At An Agile Software Engineering

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

AGILE SOFTWARE TESTING

Agile Development in Highly Regulated Environments

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

Challenges of Software Security in Agile Software Development

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

Applying Lean on Agile Scrum Development Methodology

Gothenburg 2015 Jan Marek com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams

Scrum In 10 Slides. Inspect & Adapt

Introduction to Agile Scrum

Successful Strategies for Custom Software Development

Nova Software Quality Assurance Process

Agile and PRINCE2 And how they integrate. enterprise.bcs.org

Agile Software Development

Are waterfall and agile project management techniques mutually exclusive? by Eve Mitchell, PwC. 22 MARCH

Agile So)ware Development

Project Management in Software: Origin of Agile

Accelerating software testing effectiveness using Agile methodologies..

Agile Tester Foundation Course Outline

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:

Agile Metrics. It s Not All That Complicated

Agile Project Management A Primer. Brian Stewart AVU ACEP Nairobi 17 th 2013

Evolving Agile Testing

Agile Overview. 30,000 perspective. Juha Salenius CSPO CSM PMI-ACP PMP SCGMIS Workshop January 23 rd, 2013

Selling Agile to the CFO: A Guide for Development Teams

Agile Beyond The Team 1

Lean and Agile Development With Scrum (Part 2) Lucio Davide Spano

ICAgile Learning Roadmap Agile Testing Track

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

LEAN AGILE POCKET GUIDE

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

The traditional project management uses conventional methods in software project management process.

Waterfall vs. Agile Project Management

Agile Project Management and Agile Practices Training; with a Scrum Project that you will do.

Agile Notetaker & Scrum Reference. Designed by Axosoft, the creators of OnTime the #1 selling scrum software.

Agile Software Engineering Practice to Improve Project Success

Agile Risk Management

Balancing the Hybrid Development Process. The role of the Business Analyst

Scrum. SE Presentation. Anurag Dodeja Spring 2010

HP Application Lifecycle Management

Scaling Agile Is Hard, Here s How You Do It!

Agile QA s Revolutionary Impact on Project Management

An Example Checklist for ScrumMasters

Transcription:

Testing in Scrum Projects Kalevi Evans Logica 2008. All rights reserved

About Me Logica Suomi Oy (formerly WM-Data) Over 6 years experience Experience working in projects that apply the following software development processes: Waterfall, Iterative, V-Model, and Agile Currently working as a Test Manager in the Identity and Access Management concept area (IAM) No. 2

About this presentation Based on lessons learned from projects where Agile has been applied Focus is on Scrum Presentation is aimed at highlighting how important testing is in agile projects And the important role that the testing team has in process development No. 3

Waterfall v Agile waterfall agile Req Spec Dev ST UAT In agile, testing is not a phase at the end of the project. Team can t wait until system is ready before starting to test Move away from a sequential lifecyle to an iterative lifecycle: Iterations include specification, development, testing, and acceptance testing phases There is collaboration between developers, testers and the customer The team follow a common process 1 2 3 No. 4

Agile Targets For Testing Professionals? Delivering working software, and just as important it is about delivering what the customer wants Transfer testing from the most inflexible phase in the project (where testing often occurs) to more flexible phases of the project Getting feedback as early as possible, and use this to reach our targets Testing is not only about finding faults but also about preventing faults being introduced into product And of course, to ensure quality No. 5

What We Want to Avoid in Scrum Projects 35 30 25 Sprint Backlog Task Burndown Chart system or acceptance tests fail at later stages of sprint, indicative that we have failed to: - Transfer testing to earlier phases of sprint - Get feedback as early as possible - Fail to meet customers requirements 20 15 Work remaining 10 5 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 No. 6

Moving In The Right Direction! 35 30 25 20 15 10 5 0 Sprint Backlog User Story Burndown Chart 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 Work remaining Testing is the real measure of progress. And in agile this means that a user story is not ready until: Development is completed All associated tests have passed Acceptance tests have passed By following these steps we manage to get feedback as soon as possible, thus avoiding any nasty suprises at the end of the sprint! No. 7

This Approach Is Nothing New Scrum projects are no different from other intelligently managed projects (Waterfall, V-model) that recognise the added-value of testing and the importance of performing and involving testing at different stages of the SDLC Cost REVIEWS & INSPECTIONS COMPONENT TESTING SYSTEM TESTING UAT TESTING The essence of agile is that testing activities are planned and executed from the very beginning AND we can meet our targets by working more closely together Time No. 8

So How Do We Successfully Deliver Working Software In Practice? No. 9

Rule Number 1: Don t Misinterpret the Agile Manifesto! The Manifesto describes the values of the agile community Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan http://agilemanifesto.org/ No. 10

And Some Guidelines ;-) Pilot project should be arranged in which scrum is applied in pure form. Each sprint should have clear and acheivable goals Possible challenges in scrum need to be discussed before the project kicks off and strategy for how we can handle them Firstly, the entire project team must understand the scrum methodology, and their respective roles. Common understanding on scope of sprint backlog Instead of having processes for the developers, and processes for testers we should have a common process that is easy to follow and which everyone understands We must understand how the schedule will affect our ways of working, and how we will apply agile processes to deliver working software All project members are equally involved in each stage of a scrum project and input is expected and equally valued No. 11

Risk & Requirement Based Test Management (RRBT) Convey agile testing strategy and agile processses RRBT Complements agile Getting timely feedback from customers also means that we understand product risks. RRBT is about communicating with stakeholders and identifying these risks Taking that knowledge of requirements and risks and useing it to prioritise our work Identifying what documentation is relevant For compliancy For current sprint For re-use in future sprints For handover to maintenance testing teams Facilitation & Leadership, & Coaching Facilitate organization of team Encourage team to work closely Coaching role No. 12

Use Mini V-Model for each Requirement The V-Model is an extension of Waterfall. Demonstrates the relationship between each phase in the lifecycle and its associated phase of testing The agile approach can be considered an extension of the V-Model. The real difference here is that we no longer look at software development as a sequential one-pass process, but numerous iterations We could start talking about a Squashed V-model in which the order in which we perform tasks is less important Test Level Component System Acceptance Each requirement Required No. 13

Risk Mitigation & Quick Feedback - Collaborate With The Customer Requires customer commitment not just involvement Testers mustn t shy away from the customer - instead engage customer In designing acceptance test cases Helps us understand the product risks related to each requirement and helps to streamline prioritization of tasks Allows us to communicate product & project risks quickly and efficiently No. 14

Defect Prevention over Defect Detection Systematic Test Design Techniques (BS 7925-2) As stated in ISTQB foundation certificate in software testing - systematic testing should be performed and this should be the starting point for all testing. Analyse each requirement and ask the question: How do we test this? Test-Driven Development (TDD) Systematic testing can also be complemented with exploratory testing Definition: Exploratory testing is simultaneous learning, test design, and test execution Key Benefits By applying systematic test design techniques and test-driven development we can make the project more agile by preventing defects entering the system. We thus help reduce overheads such as the number of defects logged to the system, excessive use of test management tools, and increased communication via tools Increase test coverage By documenting our tests we can reproduce them No. 15

Automating Our Tests Gives Us More Room By automating our tests we empower ourselves with a regression test suite that maintains the same test coverage! By taking a TDD approach we can automate component tests Its just as important to automate the system & acceptance tests. With all that refactoring taking place we need to provide quick feedback that the internal changes have not affected the external behaviour We can t and shouldn t automate everything (cost and value, maintainability) Manual Execution of system & Acceptance tests Design of manual component, system & acceptance Tests Automated Execution of System & Acceptance tests Automated Execution Of Component tests Design of Automated component, System & acceptance Tests No. 16

Bottom Up Development Facilitates Efficient Testing Bottom Up development System and acceptance tests can be spread evenly throughout the sprint Component tests can already start on day 1 of the sprint These act as building blocks for finalising the acceptance tests towards the end of the sprint Work on each requirement until its completed then move on to next No. 17

Bottom Up Development Facilitates Efficient Testing Bottom Up development System and acceptance tests can be spread evenly throughout the end of the sprint Component tests can already start on day 1 of the sprint These act as building blocks for finalising the acceptance tests towards the end of the sprint Top Down Development System and acceptance tests cannot be run until the end of the sprint Also component test execution will be pushed to end of sprint Trying to squeeze all these tests at the end of sprint increases the risk that we will not meet our target No. 18

Make More Informed Decisions About Code Quality & Readiness Testing professionals need to step up into the cockpit Consultant role Understand the quality of code and be able to influence its quality Must understand the development process The tester still tests! Coders must take more responsibility over testing their own code TDD - ensures that all code is tested Don t write code until you have written an associated test case Must understand the testing process The developer still develops! Key Benefit Through close collaboration, TDD, application of systematic test design techniques, risk and requirements based testing, and automation, the team can communicate more confidently about the readiness of the system A key purpose of testing is to provide timely information about the quality of the system being built No. 19

Example Requirement: Implement a Exchange/Outlook Distribution List which is based on group membership IF group has 500 or more members THEN flag an attribute Phase Task Value 1 Analyse risks with the customer using RRBT Team understood product risks and used this to streamline activities 2 Identity test design techniques: - Boundary value analysis -Equivalence partioning -State transition analysis Risks and requirements linked to test cases 3 Apply test-driven development which was also partially automated The team knew that relevant test cases had been applied and that we had high test coverage. Able to free time to work on system tests and acceptance tests 4 Communicate status to customer Able to communicate confidently. Led to more enthusiastic collaboration with customer No. 20

Shared Responsibility We are all responsible for the success of the sprint Individual responsibility is replaced by shared responsibility Fast delivery To customer Feeback from testing Feeback from Customer No. 21

Summary Being part of decision-making process to deliver working software Streamlining processes so that the sprint backlog is completed on time and applying a common agile process that ensure that the system is thoroughly tested in each sprint Influencing and understanding the quality of code better in order to make more confident decisions about readiness The testing community should therefore welcome agile projects Sprint Retrospective meeting is important At regular intervals the team reflects on how to become more effective, then tunes and adjusts it behaviour accordingly http://agilemanifesto.org/principles.html No. 22

Thanks! Logica 2008. All rights reserved

Contact Details Kalevi Evans Kalevi.evans@logica.com +358-40-5502616 No. 24

References - www.agilemanifesto.org - Successful Test Management, An Integral Approach, Iris Pinkster et al, 2006 - Combining Agile, RRBT & TestFrame Logica Whitepaper - Agile Project Management with Scrum, Dafydd Rees http://www.itwales.com/998612.htm - ISTQB Foundation Course in Software Testing -Agile & Scrum: What are these methodologies and how will they impact QA/testing roles? Marina Gil Santamaria http://www.stickyminds.com/sitewide.asp?objectid=12964&function=edetail &ObjectType=ART -Exploratory Testing Explained, James Bach http://www.satisfice.com/articles/et-article.pdf No. 25