Establishing an Agile Testing Team: Our Four Favorite “Mistakes” Kay Johansen Anthony Perkins.

Slides:



Advertisements
Similar presentations
JOB SEARCH SKILLS Вопросы на Интервью. COMPONENTS OF SUCCESS Motivation Motivation Focus Focus Environment Environment Schedule Schedule.
Advertisements

PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
AgileMan Consulting So what the heck is Agile? It came about as a response to the high failure rate of software projects (> 60%), where failure means late,
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.
Agile-Scrum in QA – Case study at TraderTools Amitay Itskovitch TraderTools LLC QA Manager Phone: ,
NAUG NAUG Knowledge Evening – th February 2007.
Agile development By Sam Chamberlain. First a bit of history..
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Managing Change in the Hong Kong Library Environment Anthony W. Ferguson University of Hong Kong.
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
1 Agile Estimating and Planning October, 2013 Technion, Israel Prof. Fabio Kon University of Sao Paulo, Brazil
An Agile View of Process
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
Rebecca Jensen MRED CEO MRED Update and Agile Business Management Strategy June 24, 2015.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Ch 2: Software Life-Cycle Models CSCI Ideal Software Development.
Software Development Life Cycle Decisions Project Management Disciplines Stacey Shearn September 8, 2005.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
1 Agile Methodology & Programming Ric Holt July 2009.
Copyright 2008 Scott W. Ambler Agile Practices and Principles Survey 2008 Scott W. Ambler Michael.
Agile Software Development Brian Link
Extreme Programming Daniel Baranowski 3/29/06. What is Extreme Programming? An agile development methodology Created by Kent Beck in the mid 1990’s A.
Project Workflow. How do you do it? -Discussion-
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
Key Project Management Ideas A well defined project scope is best. Triple constraint thinking. Use of documents. Stage-gate process. Stakeholder communication.
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.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
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.
Yeah but.. What do I do? Software Leadership Dan Fleck 2007.
© 2004 SENTEL Improving Software Quality Through Communication Kanchan Bajaj, SENTEL Corporation
Step 5: Complete Your Project. Setting the scene Suppose you have been running a project to write a small piece of computer software for a business. The.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
Agile: Lessons Learned (a retrospective) Tony
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Chapter 13 Project Termination.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Chapter 10 Information Systems Development. Learning Objectives Upon successful completion of this chapter, you will be able to: Explain the overall process.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Hello Friends Let’s get started…. PRESENTED BY: AJAY BALAMURUGADAS A SOFTWARE TESTER Software Tester's Role in Conscious Quality Delivery.
Yeah but.. What do I do? Software Leadership Dan Fleck 2007.
Internal developer tools and bug tracking Arabic / Hebrew Windows 3.1Win95 Japanese Word, OneNote, Outlook
Using Scrum to Improve Teamwork, Communication, Quality and Speed.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Baby Steps to Agility How to Grow Into Agile. A little about me A little about Agile Growing into Agile Questions Goals.
Software Development Life Cycle. The Software Life Cycle  Encompasses all activities from initial analysis until end of work  Formal process for software.
Introduction to Agile Software Development
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Extreme Programming.
It’s not all about the tool!
Tribes, Squads, Chapters & Guilds
Real Metrics for Real Decisions
What do you need to know about XP?
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Chapter 3: Agile Software Processes
Projects, Assignments, and other Assessments
Agile Development – a new way of software development?
Agile software development
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Product Development & Planning
Presentation transcript:

Establishing an Agile Testing Team: Our Four Favorite “Mistakes” Kay Johansen Anthony Perkins

Slide 2 Our Task: Introduce a QA group to support frequent delivery at a web-hosting provider. An established company with large installed customer base and no existing QA group, delivering weekly updates! The “products” were really collections of open- source software customized by our developers; multiple operating systems (also customized); Some applications developed in-house One two-year old project not gone out the door.

Slide 3 We intended to automate heavily and focus on the four Agile values. Individuals and interactions We hired programmers, known team players, gave them no process, but encouraged collaboration. Working software We wanted to write automated regression tests. We made a clean test environment wth daily integrations, didn’t ask for documents. Customer collaboration We held bug prioritization meetings, talked with developers many times a day. Responding to change We reinterpreted our priorities over time.

Slide 4 We deliberately made 3 “mistakes” (matching “Lessons Learned in Software Testing”) We didn’t protect the customer “Never be the gatekeeper” “Don’t sign-off to approve the release of a product” We didn’t hire QA experience “Understand how programmers think” “Develop programmers’ trust” We gave in easily “Beware of becoming a process improvement group” “Adapt your processes to the practices that are actually in use”

Slide 5 We made friends with the product manager and developers, and integrated daily... Los of “face time” made friends out of the Product Managers (they controlled the release). Our “programmer/testers” were respected by the product developers. We found bugs in real code, so development paid attention to our findings. We always knew the state of the code, so the PM could make scope vs. schedule decisions. We refused to assign priorities to bugs, so development and the PM had to. The 2-year old product got shipped.

Slide 6 However, we didn’t actually automate very much, and half our people got laid off. We hadn’t actually automated many tests, still tested by hand. Our test coverage was lower than we wanted (much lower!) The product released later than we -- and management -- wanted. The company downsized, laid off half our team. (Hint: we were not perceived as valuable)

Slide 7 Our team decided to reprioritize, in order to demonstrate our value clearly. We had been too focused on the technical: (test automation and complete coverage) Needed more focus on the social / political: We worked on gaining still more trust from the developers We began status reports to management to show them what we were doing.

Slide 8 Even pushing trade-off decisions up made us look more valuable. We made deliberate “Mistake” Number 4: We chose not to test everything We gave management several alternatives of what to NOT test They chose to drop testing of weekly releases (From “Lessons Learned in Software Testing”:) “Beware of testing ‘completely’ ” “Don’t let yourself be abused”

Slide 9 We succeeded in being perceived as adding value. When bugs escaped on the untested products, the reaction was "How many more resources do you need?" instead of "How could you have let that happen?" Our programmers had a genuine interest in the developers’ products, so they went to lengths to help us in any way they could. We were accommodating where we could be, so people gave us more support when we had an issue we wouldn't give in on. Finally: We got to hire more people !

Slide 10 Reflection: Hiring programmers was great and prioritizing test coverage was useful. We liked these things that we did: Hiring programmers onto the test team Making friends with the product manager Prioritized, non-exhaustive testing Clean test environment Read “Lessons Learned in Software Testing” But what happened to the automated testing? Wasn’t as critical at that point... We did get around to it over time.