A Framework for Testing in Scrum Projects Assurance with Intelligence Paul Gerrard Gerrard Consulting 1 Old Forge Close Maidenhead Berkshire SL6 2RD UK.

Slides:



Advertisements
Similar presentations
Iteration Planning.
Advertisements

Intelligent Assurance and
Regression Testing – What to Automate and how Assurance with Intelligence Paul Gerrard Gerrard Consulting 1 Old Forge Close Maidenhead Berkshire SL6 2RD.
Ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Agenda −Scrum with TFS 2010 using MSF for Agile 5.0 −Planning the Project −How do you plan the project? −Project planning in TFS 2010 −Planning a Sprint.
Slide 1 Should Test Managers Get Emotionally Involved? Paul Gerrard Gerrard Consulting 1 Old Forge Close Maidenhead Berkshire SL6 2RD UK e:
Agile Project Management with Scrum
Agile Development and Data With Scrum and TDD Andy Leonard VSTeamSystemCentral.com With thanks to Brian Knight, SQL Server MVP SQLServerCentral.com.
What Is Agile? Agile is a group of software development methodologies Scrum Extreme Programming (XP) Lean Etc. Key Characteristics: Small increments Adaptive.
Agile Development.
NAUG NAUG Knowledge Evening – th February 2007.
Project Management with TFS 1. What TFS offers for Project Management? Work Item tracking 2 Portfolio backlog Backlog Issue tracking Feature Product Backlog.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Agile development By Sam Chamberlain. First a bit of history..
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Introduction to Agile.
©Test Management Forum 2006Slide 1 Post-Deployment Monitoring Is it part of Test? Paul Gerrard Technical Director, Systeme Evolutif Systeme Evolutif Limited.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Test Management and Contracts in Agile Environments Assurance with IntelligenceSlide 1 Paul Gerrard Gerrard Consulting 1 Old Forge Close Maidenhead Berkshire.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Chapter 3 Agile Software Development (2/2) Yonsei University 2 nd Semester, 2013 Sanghyun Park.
SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin.
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Project Management.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
Exit, Cry Tears Dealing with Testing Review Boards Paul Gerrard Gerrard Consulting PO Box 347 Maidenhead Berkshire SL6 2GU UK e:
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Risk-Based Testing – An Overview Assurance with IntelligenceSlide 1 Paul Gerrard Gerrard Consulting 1 Old Forge Close Maidenhead Berkshire SL6 2RD UK e:
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
What Is Agile? Agile is a group of software development methodologies Scrum Extreme Programming (XP) Lean Etc. Key Characteristics: Small increments Adaptive.
Copyright © by Mark J. Sebern Software Engineering Process I SE 2800.
Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have.
Intelligent Testing, Improvement and AssuranceSlide 1 Agile Techniques: Which ones really work? Paul Gerrard
Phoenix Scrum User Group Simplifying Scrum Online May 21 st 2009.
Planning Extreme programming
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Dr. Rob Hasker. Should every project use Scrum?  When might Scrum not be an appropriate model?  What are some of its limitations? Hard to get the big.
Successful Software Practice How to successfully work as a team to create software Chris Mendes, Chief Technology Officer Sirca Limited March 2012.
Scrum Overview. Agenda What is scrum…and what it isn’t Scrum’s Characteristics The Scrum Process Scrum Phases Measurements Key Practices Backlogs Sprint.
Software Quality Assurance Chip Ene, February 14, 2015.
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Post-Deployment Monitoring Is it part of Test?
Change your look and feel to how you work! Let’s SCRUM Change your look and feel to how you work!
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Integrate Agile Testing into the Process
By: By: Agile Scrum Master Online Training.
Assurance: the Evolution of Test Management?
Assurance: the Evolution of Test Management
Johanna Rothman Agile Team Measurements Chapter 12
Teaching slides Chapter 1.
Agile and XP Development
Agile and XP Development
Coming up: What is Agile?
Software Development In Agile
Chapter 5: New and Emerging Process Methodologies
Agile product development
Software Development In Agile
Presentation transcript:

A Framework for Testing in Scrum Projects Assurance with Intelligence Paul Gerrard Gerrard Consulting 1 Old Forge Close Maidenhead Berkshire SL6 2RD UK e: w: t:

Paul Gerrard Paul is the founder and Principal of Gerrard Consulting, a services company focused on increasing the success rate of IT-based projects for clients. He has conducted assignments in all aspects of Software Testing and Quality Assurance. Previously, he has worked as a developer, designer, project manager and consultant for small and large developments using all major technologies and is the webmaster of gerrardconsulting.com and several other websites. Paul has degrees from the Universities of Oxford and London, is Web Secretary for the BCS SIG in Software Testing (SIGIST), Founding Chair of the ISEB Tester Qualification Board and the host/organiser of the UK Test Management Forum conferences. He is a regular speaker at seminars and conferences in the UK, continental Europe and the USA and was recently awarded the “Best Presentation of the Year” prize by the BCS SIGIST. Paul has written many papers and articles, most of which are on the Gerrard website. With Neil Thompson, Paul wrote “Risk-Based E-Business Testing” – the standard text for risk-based testing. Assurance with IntelligenceSlide 2

SCRUM......like Agile... love it or hate it – it’s here to stay Assurance with IntelligenceSlide 3

Scrum Promoted as an Agile approach to managing software development In fact, the roots of Scrum date back 30 years Japanese management style as alternative to staged development (of anything, but usually manufacturing) – Autonomous team of specialists – Everyone moves forwards together rather than hands-off between stages – Pass the ball to the person who needs to work on the problem next – Fast, flexible, iterative, incremental Assurance with IntelligenceSlide 4

Characteristics Roles – Scrum Master – Product Owner – Developer Three levels of activity and control – The Project – The Sprint iteration – Daily Scrums (stand-ups) Assurance with IntelligenceSlide 5

Requirements Requirements are enabled (not defined) by stories Stories can be ‘one-liners’ that are a ‘trigger for a conversation’ Written on cards (or spreadsheet or Wiki) Requirements aren’t written down, they are captured as tests, manifested in code – Test-Driven Development. Assurance with IntelligenceSlide 6

Backlogs and Planning All Stories placed on the Product backlog – ready to be selected, implemented in Sprints Sprint Planning (2-4 weeks) – Stories are considered, estimated and selected for the Sprint backlog – Product Owner – prioritises, advises – Developers estimate – Scrum Master organises Assurance with IntelligenceSlide 7

The Sprint Developers talk to users, work directly from conversations Test-Driven Development – Construct unit tests from conversations – Write the code, run tests, fix bugs – Repeat until tests pass Daily Scrums or stand-ups Demonstrate functionality to users – Refine tests – Refine code When all stories are implemented, baseline the delivery Plan the next Sprint Assurance with IntelligenceSlide 8

Existing Code base New Code Sprint 1 Developed Stories Sprint 3Sprint 2 Sprint Backlog Scrum Project (This diagram shows three sprints, but there could be more or fewer) Product Backlog

Daily Scrum Stand-Up Meeting 24 Hours 2-4 Weeks Backlog tasks expanded by team Potentially Shippable Product increment Product backlog As prioritised by Product Owner Sprint Backlog The Sprint

Testing in Scrum – yeah right Most Scrum users seem to use some flavour of Extreme Programming Testing in Scrum: – Developers do some (TDD possibly) – Users do some during Sprints, and at the end – ‘Other’ testing sort of happens Scrum doesn’t makes the tester’s role explicit Where does the tester fit in this? Assurance with IntelligenceSlide 11

Key Agile Disciplines and Scrum Assurance with IntelligenceSlide 12

Some Critical Agile disciplines Test-First Development Pair Programming On-Site Customer Refactoring (with Continuous Integration) Definition of ‘Done’ Nothing written down Trust the customer Assurance with IntelligenceSlide 13

We do Scrum. We do stories. We are Agile. Really? Assurance with IntelligenceSlide 14

We don’t do TDD – developers don’t like it No regression tests Design-free codebase is a mess Can’t refactor – way too dangerous! Assurance with IntelligenceSlide 15

We don’t do pair-programming – it’s too wasteful No independent developer view? No one challenges the design/code? Users are getting un-tested code? Assurance with IntelligenceSlide 16

We can’t have on-site customer – they’re too busy Large gaps between injections of user knowledge Code is a mass of assumptions Nothing finished, accepted, or ‘done’ Assurance with IntelligenceSlide 17

We Can’t Refactor Users are pushing us too hard No time to refactor Too busy writing new code Assurance with IntelligenceSlide 18

“Done” When we run out of time Assurance with IntelligenceSlide 19

“We’re Agile” – yeah right Code is an un-designed mess that can’t be improved safely It’s largely untested and does what our user wants – sometimes There is no documentation – don’t be silly There are no tests – didn’t need them There is no knowledge of the system Legacy Code? No, of course not! Assurance with IntelligenceSlide 20

What’s Going on Here? Assurance with IntelligenceSlide 21

Agile: an excuse for not doing things properly? The familiar challenge What can testers do? – Offer to help – but how? – Stand and stare? Look the other way? Look for another project? Look for another job? Assurance with IntelligenceSlide 22

What happened? Incompetent development shops using Agile/scrum as a figleaf? Structured development shops cherry-picking the practices they like? Assurance with IntelligenceSlide 23

Where Should Testing Happen in Scrum? Towards a Scrum Testing Framework Assurance with IntelligenceSlide 24

Existing Code base New Code Sprint 1 Developed Stories Sprint 3Sprint 2 Sprint Backlog 1.Story Challenge Suggest ‘what-ifs’ to challenge new stories 2. Story Definition Introduce scenarios to enhance the story definition Project Level Test Activities (This diagram shows three sprints, but there could be more or fewer)

Story Structure Assurance with IntelligenceSlide 26 Feature: In order “to fullfil a book order” As a “orders clark” I want “to acknowledge and ship the order” Scenario: “ship a single book from stock” Given “I select a valid order” And “the ordered book is in stock” When “I choose ‘acknowledge and ship’” Then “order status is changed to ‘shipped’” And “an address label is printed” Key word User text

Stories may have many scenarios Assurance with IntelligenceSlide 27 Feature: In order “to fullfil a book order” As a “orders clark” I want “to acknowledge and ship the order” Scenario: “ship a single book from stock” Given “I select a valid order” And “the ordered book is in stock” When “I choose ‘acknowledge and ship’” Then “order status is changed to ‘shipped’” And “an address label is printed” Scenario: “advise a book is our of stock” Given “I select a valid order” And “the ordered book is out of stock” When “I choose ‘message the purchaser’” Then “Enter message to purchaser advising the order status” And “an is sent to the purchasers address” Scenario: “advise an item is discontinued” Given “I select a valid order” And “the ordered book is discontinued” Key word User text

Daily Scrum Stand-Up Meeting 24 Hours 2-4 Weeks Backlog tasks expanded by team Potentially Shippable Product increment Product backlog As prioritised by Product Owner Sprint Backlog 4. Story Refinement Refine scenarios to enhance story definition, create system tests as stories, as required 5a) Sprint Testing - Developer 5b) Sprint Testing - Tester Perform story-tests, log defects, provide feedback, new stories or scenarios to document bugs 3. Daily Stand-Up Report anomalies found, stories tested, amended, created Test Activities in the Sprint

Existing Code base New Code 6. Integration Test 8. User Test 7. System Test Sprint 1 Developed Stories Sprint 3Sprint 2 Sprint Backlog 1.Story Challenge Suggest ‘what-ifs’ to challenge new stories Increasing Scope of Int. Sys. and UAT Increasing Scope of Integration, System and Users Testing 2. Story Definition Introduce scenarios to enhance the story definition Complete Tests after Final Sprint Project Level Test Activities (This diagram shows three sprints, but there could be more or fewer)

Stories as Requirements Story headline sets the scope of a feature Scenarios provide recognisable examples of the system in use In effect, they are low level test cases – Given, when, then... – Pre-conditions, inputs, expected results Could put logical statements in stories rather than examples – Stories then become Use Cases. Assurance with IntelligenceSlide 30

Summary Not many companies are doing Agile properly Scrum looks like Agile but it’s a joke without the supporting Agile disciplines Testers can explore without requirements – that’s good, but not good enough most of the time Testers could take role of Analyst/Tester and elaborate stories with examples Scenarios provide: – Low level unit tests – Building blocks for system tests – A shopping list for user Tests Not Agile? Who cares? It’s better than a joke. Assurance with IntelligenceSlide 31