Pragmatic Testing in Agile Projects Dr Stuart Reid Testing Solutions Group Test Management Summit, London 28 th January, 2009.

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

Colin Weaver The Eleven Essential Behaviours of Successful Agile Project Teams.
Agile Software Development Robert Moore Senior Developer Curtin University.
We ensure collaboration through a unique Moneyball-style approach to team assembly Agile Team, Custom-Designed for You Works well together Fits seamlessly.
Steve Collins Richland County IT Manager Agile.  Have Fun  Learn About Agile  Tell Some Stories.
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.
Scrum Research at Carnegie Mellon Mark C. Paulk, Ph.D. March 16, 2009 Scrum Gathering, Orlando.
Agile Project Management with Scrum
Morning – 9am Getting Started Agile Manifesto Values & Principles Scrum Framework ~~ 10:40 to 11:00 Break ~~ Scrum Roles Backlog Grooming Estimation.
Agile development By Sam Chamberlain. First a bit of history..
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
Project Management – An Overview Project as a metaphor – a way to approach a series of activities Contexts – construction managementt, IT development,
Agile Architecture? Paul Lund 24 th Nov Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Agile Methods.
Managing a Project Using an Agile Approach and the PMBOK® Guide
Programming with eyes wide open. Your host today Subby Angelov Team
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
An Agile View of Process
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
Agile Software Development What is Agile? And How are we implementing Agile?
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
The Agile Primer July 2008 © ThoughtWorks 2008.
Chapter 4 Agile Development
AGILE Methodology. AGILE  derived from the word ‘agile manifesto’, also called the Manifesto for Agile Software Development which is a formal proclamation.
CPSC 371 John D. McGregor Session 22 Process. Specification and design problem solution specification implementation specification.
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Chapter 3 – Agile Software Development Pepper modification of Sommerville presentation & Colm O’hEocha – AgileInnovation Ltd presentation 1Chapter 3 Agile.
CS1: Classic Software Life Cycle “Waterfall” method: 1.Requirements/Analysis Determine the problem to be solved – client-centered 2.Specification.
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
#AgileEd. Using Agile in the Classroom Cindy Royal, Associate Professor Texas State University slideshare.net/cindyroyal #AgileEd.
Lecture 3 – Agile Approach
1/2/12 Chapt 2 Iterative Evolutionary Agile. 1/2/12 (Rational) Unified Process A software development process – Flexible and open Other processes – XP.
- Discussion of Chapter 1 in Martin and Martin.  We are uncovering better ways of developing software by doing it and helping others do it. Through this.
10 key principles of agile software development
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
Using Scrum to Improve Teamwork, Communication, Quality and Speed
It’s Agile …. like! A Corkman’s introduction to Agile software delivery.
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
JASS 2006 Agile Software Development. JASS 2006 Agenda.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Project Workflow.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Methods SENG 301.
Agile Methodology and Scrum
AGILE SCRUM METHODOLOGY
Shifting to Agile: Are University Libraries Ready?
Flight Software Conference 2016
Principles for Agile Development
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Where Agile Business Meets Agile Development
Agile Frameworks Individuals and interactions over processes and tools
Agile Software Development
Agile Software Development Brian Moseley.
How to Successfully Implement an Agile Project
Agile Process: Overview
Chapt 2 Iterative Evolutionary Agile.
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Scrum Science NGSS: Engineering, Technology, Applications of Science
Projects, Assignments, and other Assessments
A quick intro to SCRUM and KANBAN By John Voris.
Presentation transcript:

Pragmatic Testing in Agile Projects Dr Stuart Reid Testing Solutions Group Test Management Summit, London 28 th January, 2009

The Agile Manifesto That is, while there is value in the items on the right, we value the items on the left more.” comprehensive documentation processes and tools over contract negotiation following a plan over “In AGILE we value… Working software Responding to change Customer collaboration Individuals & interactions

Agile Principles Incremental development –delivering a series of (useful, usable) deliveries; Iterative development –allowing requirements to evolve and be added to; –responding quickly to new business priorities; People-oriented development –people’s qualities rather than heavy process; –allowing the agile team to manage themselves; –daily interaction between developers and the business; Technical excellence and built-in quality –personal responsibility, craftsmanship and simplicity; Lean approach –Measure progress by delivered product; –Minimise waste.

Reason for adopting agileActual benefits realised 1Accelerate time to market1Manage change 2 2Visibility 3Increase productivity3Improve morale 4Enhance quality4Align IT and business 5 5Enhanced quality 6Improve visibility6=Time to market 7Reduce risk6=Increase productivity 8Simplify process8 9Other reason – not disclosed9Engineering discipline 10Increase engineering discipline10Enhance maintainability 11Reduce cost11Reduce risk 12Enhance maintainability12Reduce cost 13Improve morale13Manage distributed teams “The State of Agile Development Survey”, 2008 (2319 respondents)

An Agile Approach Business Requirements EVOLVING BUSINESS REQUIREMENTS Sprint nSprint 1Sprint 2Sprint 3 INCREMENTAL PRODUCT DELIVERY PRODUCT BACKLOG

sprint retrospective sprint showcase Development & Test Option 1 sprint showcase fix & test issues raise issues daily scrums Sprint Backlog write stories plan sprint Product Backlog develop stories regression test test stories acceptance test select sprint backlog Sprint Backlog plan sprint select sprint backlog sprint retrospective raise issues write stories

OPERATIONAL SOFTWARE Development & Test Option 2 v1 Test 1TTest 2 V1.1 v2 V2.1 Developing v2 (includes tdd + continuous regression regression test) test) RegressionTest AcceptanceTest StoryRe-testV1.1 StoryTestV1 TestPrepv1 Sprint 1SpriSprint 2 Debugging v1» v1.1

Dev Sprint 4 Dev Sprint 5 Development & Test Option 3 Dev Sprint 1 Dev Sprint 2 Dev Sprint 3 Test Sprint v1.1 OPERATIONALSOFTWARE RegressionTest AcceptanceTest StoryRe-testV1.1 StoryTestV1 TestPrepv1 Debug V1  v1.1

Agile Optimisation Factors and constraints will be unique to your organisation –...plus variables for your project (as each project is unique) –...lead to options for your agile projects How do you identify the unique balance of options that is optimal for your project?

Non-Optional for Agile? Iterative development –gives you: responsive to change, time to market, etc. Incremental development –gives you: time to market, visibility, etc. Management Support –gives you: morale, freedom from interruptions, etc. Culture of Trust –gives you: productivity, quality, etc. Daily Scrums –gives you: visibility, common understanding, etc.

Agile Options (1 of ?) What’s NeededProject OptionWhat You Get Customer involvement in sprint Good sprint management All roles available in sprint Development & Test Option 1 (All testing in the sprint) Fast time to market Responsive to change Later customer involvement for UAT Separate development and test roles Continuous test and development needed Branching (version management) Development & Test Option 2 (Parallel test sprints) Slower time to market Less responsiveness ???Development & Test Option 3 (Occasional test sprints) ???

Let’s Look at Further Agile Options... What’s NeededProject OptionWhat you get