Preface 2008 - Agile Testing Review



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

Growing testing skills using the Agile Testing Ecosystem. Dr Lee Hawkins Principal Test Architect Dell Software, Melbourne

Agile Testing. What Students Learn

About metrics and reporting in model-based robot assisted functional testing

Certified Agile Software Test Professional (CASTP)

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

Issues in Internet Design and Development

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

ICAgile Learning Roadmap Agile Testing Track

Agile and Secure: Can We Be Both?

Benefits of Test Automation for Agile Testing

A Group of Agile Teams Organizational Agility

Agile Testing and Extreme Programming

Lean and Kanban at Scale Extending Kanban across the portfolio, program and team levels. Al Shalloway, Net Objectives. September 4 th, 2014

Agile Software Development


Agile Testing Principles and Best Practices. Progress Software, Hyderabad, India

PMI Agile Certified Practitioner (PMI ACP) Boot Camp Course AG05; 4 Days, Instructor-led

How to manage agile development? Rose Pruyne Jack Reed

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

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

An Overview of Agile Testing

Basic Trends of Modern Software Development

QUICK AND EFFICIENT MOBILE TESTING STRATEGY

Getting to Done The Secret Sauce of High Performing Teams

SCRUM Product Ownership From the Inside Out

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

Introduction to Agile Software Development Process. Software Development Life Cycles

Selling Agile to the CFO: A Guide for Development Teams

Contents. -Testing as a Services - TaaS 4. -Staffing Strategies 4. -Testing as a Managed Services - TaaMS 5. -Services 6.

Agile for Project and Programme Managers

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

Agile Service Transition

Extreme programming (XP) is an engineering methodology consisting of practices that ensure top-quality, focused code. XP begins with four values:

Agile Power Tools. Author: Damon Poole, Chief Technology Officer

Agile Development for Application Security Managers

IMPLEMENTING SCRUM. PART 3 of 5: TRAINING YOUR NEW SCRUM TEAM. Designed by Axosoft, creators of the #1 selling Scrum software.

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

Agile In a Nutshell. Note - all images removed to fit 2MB limit Actual presentation has much more content. Jonathan Rasmusson

How To Be Successful At An Agile Software Engineering

Agile Testing Overview

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

Codeless Test Automation for Web Apps

Agile So)ware Development

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

Making Test Automation Work in Agile Projects

AGILE & SCRUM. Revised 9/29/2015

Agile Test Planning with the Agile Testing Quadrants

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

The Benefits of Deployment Automation

Extreme Agile. Things I learned from managing fully distributed teams. Alan Bennett

Solution Spotlight KEY OPPORTUNITIES AND PITFALLS ON THE ROAD TO CONTINUOUS DELIVERY

Enabling Agile Testing Through Continuous Integration

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

Testing in an Agile Environment

Web Application Development Process

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Testing in Agile methodologies easier or more difficult?

Role of the Business Analyst in an Agile Project

AGILE DEVELOPMENT WITH A CAPITAL A

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

Software Development Process

Selling Scrum et. al.!

Agile Testing: Best Practices to Ensure Successful Transformation to Agile Methodologies

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

Chapter 10. Becoming an Agile Enterprise

Testing, What is it Good For? Absolutely Everything!

TecEd White Paper User-Centered Design and the Agile Software Development Process: 7 Tips for Success

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated

A Roadmap to Agile Development: A Strategy to Increase Adoption Success

Applying Agile Project Management to a Customized Moodle Implementation

PMBOK? You Can Have Both! June 10, Presented by:

Bridging the Gap Between Acceptance Criteria and Definition of Done

Software Development Life Cycle (SDLC)

Agile and the Seven Deadly Sins of Project Management

Testing in the Enterprise using SCRUM Stretching Scrum to Accommodate Legacy & Large- Scale Testing Activity

Extreme Programming, an agile software development process

Applying Lean on Agile Scrum Development Methodology

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

Becoming Agile: a getting started guide for Agile management in Marketing and their partners in IT, Sales, Customer Service and other business teams.

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

Enterprise Agile Coaching: Guiding Organizations Through Agile Transformation

Good Agile Testing Practices and Traits How does Agile Testing work?

REVAMP YOUR TRAINING 7 STEPS TO A SUCCESSFUL BLENDED LEARNING PROGRAM

IMPLEMENTING SCRUM. PART 5 of 5: SCRUM SUCCESS METRICS

Agile Testing with Acceptance Test Driven Development and Behavior Driven Design. Two Day Course Overview

Agile QA s Revolutionary Impact on Project Management

Nova Software Quality Assurance Process

Scrum for Managers, Zurich March 2010

Transcription:

Preface Why We Wrote This Book We were early adopters of Extreme Programming, testing on XP teams that weren't at all sure where testers and testing fit in. At the time, there wasn't much in the agile (which wasn't called agile yet) literature about acceptance testing, or how professional testers might contribute to teams. We learned from our own experiences, as well as from others in the agile community. As others helped us, we started helping other teams and testers to be successful at agile testing. In 2002, Lisa co-wrote Testing Extreme Programming with Tip House, with lots of help from Janet. In the intervening years, agile development has evolved, and the agile testing community has flourished. With so many people contributing ideas, we ve learned a whole lot more about agile testing. Individually and together, we ve helped teams transition to agile, helped testers learn how to contribute on agile teams, and worked with others in the agile community to explore ways agile teams can be more successful at testing. Our experiences differ, as Lisa as spent most of her time as an agile tester with web apps in the retail, telephony, and finance industries for years at a time with stable teams. Janet has worked with software organizations developing enterprise systems in a variety of industries. These agile projects have included developing a message handing system, an environmental tracking system, a remote data management system (included an embedded application, with a communication network as well as the application), an oil and gas production accounting application, and applications in the airline transportation industry. She has played different roles, sometimes tester, sometimes coach, but always working to better integrate the test team with the rest of the team. She has been with teams from as short as six months to as long as 1.5 years. With these different points of view, we have learned to work together and complement each other over the years giving presentations and tutorials together. Several excellent books oriented towards agile development on testing and test patterns have been published (see our bibliography). These books deal mainly with tests that are focused on tests that help the developer. We decided to write a book aimed at helping agile teams be more successful at delivering business value using tests that the business can understand. We want to help testers and quality assurance professionals who have worked in more traditional development methodologies make the transition to agile development. We ve worked with teams of all sizes. We ve taken ideas from other agile practitioners and figured out how to apply them on a practical, day-to-day level. We ve put our experiences into this book to help testers, quality assurance managers, developers, development managers, product owners, and everyone else with a stake in effective testing on agile projects. We ve focused on the role of the tester on an agile team, a role which may be adopted by a variety of professionals. Agile testing practices aren't limited to members of agile teams. We ve used many of these practices to improve testing on projects using traditional development methodologies. This book is also intended to help testers on any type of project to get the software their customers need. Agile development isn't the only way to successfully deliver software. However, the successful teams we've been on, agile or waterfall, have several critical commonalities. The programmers write and automate unit and integration tests that provide good code coverage. They are disciplined in the use of source code control and code integration. Skilled testers are involved from the start of the development cycle, and are given time and resources to do an Preface Copyright 2008, Janet Gregory and Lisa Crispin 1

adequate job of all necessary forms of testing. An automated regression suite that covers the system functionality at a higher level is run and checked regularly. The development team understands the customers jobs and their needs, and works closely together with the business experts. People, not methodologies or tools, make projects successful. We enjoy agile development because its values, principles and core practices allow people to do their best work, and testing and quality are central to agile development. In this book, we hope to explain how to apply agile values and principles to your unique testing situation and enable your teams to succeed. More about that in Chapter 1 "What is this Agile Testing, Anyway?" and in Chapter 2, The Ten Principles of an Agile Tester. Our Audience If you ve ever asked any of the following excellent questions which we ve heard many times, this book will help you. If developers are writing tests, what do the testers do? I m a QA manager, and our company is implementing agile development (Scrum, XP, DSDM, name your flavor). What s my role now? I ve worked as a tester on a traditional waterfall team, and I m really excited by what I ve read about agile. What do I need to know to work on an agile team? What s an agile tester? I m a developer on an agile team. We re writing code test-first, but our customers still aren t happy with what we deliver. What are we missing? I m a developer on an agile team. We re writing our code test-first. We make sure we have tests for all our code. Why do we need testers? I coach an agile development team. Our QA team can t keep up with us, testing always lags behind. Should we just plan to test an iteration behind development? I m a software development manager. We recently transitioned to agile, but all our testers quit. Why? I m a tester on a team that s going agile. I don t have any programming or automation skills. Is there any place for me on an agile team? How can testing possibly keep up with two-week iterations? What about load testing, performance testing, usability testing, all the other ilities? Where do these fit in? We have audit requirements. How does agile development and testing address these? If you have similar questions, and you re looking for practical advice about how testers contribute to agile teams and how agile teams can do an effective job of testing, you ve picked up the right book. There are many flavors of agile development, but they share much in common. This book follows the Agile Manifesto, as we explain in Chapter 1. Whether you re practicing Scrum, Extreme Programming, Crystal, DSDM or your own variation of agile development, you ll find information here to help with your testing efforts. When Robin Dymond, a managing consultant and trainer we know who has helped many teams adopt lean and agile., heard we were writing this book, he sent us the user story he d like Preface Copyright 2008, Janet Gregory and Lisa Crispin 2

to have fulfilled. It encapsulates many of the requirements we hoped to deliver. A User Story for an Agile Testing Book My main desire, as expressed to me by two QA people to me today, is to have the following user story fulfilled, hopefully from your book. Book Story 1 As a QA professional, I can understand the main difference between Traditional QA and and agile team member with QA background in one Hour, so that I can begin internalizing my new responsibilities and deliver Value to the customer sooner and with less difficulty. Acceptance conditions: My concerns and fears about losing control of testing are addressed My concerns and fears about having to write code (never done it) are addressed The Agile coach is satisfied that the team-based perspective is clear As a tester I understand my new value to the team As a new to Agile tester I can easily read about things that are most important to my new role As a new to Agile tester I can easily ignore things that are less important to my new role As a new to Agile tester I can easily get further detail about agile testing that is important to MY context Were I to suggest a solution to this problem, I think of Scrum vs XP. With Scrum you get a simple view that allows people to quickly adopt Agile. However, Scrum is the tip of the iceberg for successful Agile teams. For testers who are new, I would love to see Agile testing ideas expressed in layers of detail. What do I need to know today, what should I know tomorrow, and what context sensitive things should I consider for continuous improvement? -- Robin Dymond How to Use This Book If you aren t sure where to start in this book, or you just want a quick overview, we suggest you read the last chapter, Chapter 25: Key Success Factors, and follow wherever it leads you. Preface Copyright 2008, Janet Gregory and Lisa Crispin 3

Part 1: Introduction If you want quick answers to questions such as Is agile testing different than testing on waterfall projects? and What s the difference between a tester on a traditional team and an agile tester?, start with Part 1. This is the tip of the iceberg that Robin requested. It includes an overview of how agile differs from a traditional phased approach and explores the whole team approach to quality and testing. We define the agile testing mindset. We explain how testers apply agile values and principles to contribute their particular expertise. Part 2: Organizational Challenges If you re a tester or manager on a traditional QA team, or you re coaching a team that s moving to agile, Part 2 will help you with the organizational challenges faced by teams in transition. The whole team attitude represents a lot of cultural changes, but it helps overcome the fear testers have when they wonder how much control they ll have or whether they ll be expected to write code. When is a story done? How can we engage the QA team? What about management s expectations? How should we structure our agile team, where do the testers fit? What do we look for when hiring an agile tester? How do we cope with a team distributed across the globe? These are some of the questions addressed in Part 2. Part 2 also looks at some topics we don t always enjoy talking about. Metrics and how they re applied can be a controversial issue, but there are positive ways to use them to benefit the team. Defect tracking easily becomes a point of contention for teams with questions such as Do we use a defect tracking system? or When do we log bugs? Two common questions about agile testing from people with traditional test team experience are:, What about test plans?, and Is it true there s no documentation on agile projects? Part 2 clears up these mysteries. Part 3: Using the Agile Testing Quadrants Want more details on what types of testing are done on agile projects? Are you wondering who does what testing? How do you know if you ve done all the testing that s needed? How do you decide what practices, techniques and tools fit your particular situation? If these are your concerns, check out Part 3. We use Brian Marick s Agile Testing Quadrants to explain the purpose of testing. The quadrants help you define all the different areas your testing should address, from unit level to reliability and other ilities and everything in between. This is where we get down into the nittygritty of how to deliver a high quality product. We explain techniques to help you communicate well with your customers, and understand their requirements. This section shows how tests drive development at multiple levels. Part 3 also provides toolkits to help you effectively define, design and use business-facing tests to support the team and critique the product. Part 4: Test Automation Test automation is a central focus of successful agile teams, and it s a scary topic for lots of people (we know, because it s had us running scared before!) How do you squeeze test automation into short iterations and still get all the stories completed? Part 4 gets into the details of when and why to automate, how to overcome barriers to test automation, how to overcome fears about automation, and how to develop and implement a test automation strategy that works for your team. Since test automation tools change and evolve so Preface Copyright 2008, Janet Gregory and Lisa Crispin 4

rapidly, our aim is not to explain how to use specific tools, but to help you select and use the right tools for your situation. Our agile test automation tips will help you with difficult challenges such as testing legacy code. Part 5: An Iteration in the Life If you just want to get a feel for what testers do throughout the agile development cycle, or you need help putting together all the information in this book, go to Part 5. Here we chronicle an iteration and more, in the life of an agile tester. Testers contribute enormous value throughout the agile software development cycles. Part 5 demonstrates in detail what testers do on a daily basis, starting with planning releases and iterations, getting each iteration off to a good start, collaborating with the customer and development teams to test and write code, delivering each release, and finding ways for the team to improve its process. Part 6: Summary We chose seven key factors agile teams can use for successful testing. If you re having trouble deciding where to start with agile testing, or how to work on improving what you re doing now, these success factors will give you some direction. Agile development is all about doing your best work. Every team has unique challenges. We ve tried to present all the information that we think may help agile testers, their teams, their managers and their customers. Choose and apply the techniques that you think are appropriate for your situation. Experiment constantly, evaluate the results, and come back to this book to see what might help you improve. Our goal is to help testers and agile teams enjoy delivering the best and most valuable product they can. Preface Copyright 2008, Janet Gregory and Lisa Crispin 5