Adopting Agile Practices

Similar documents
Testing in the Agile World

Designed in collaboration with Infosys Limited

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process

The Scaled Agile Framework

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Shift Left, Automation, and Other Smart Strategies for Getting Ahead in QA

Testing in Agile Software Development

Software Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis

AppScan Deployment APPLICATION SECURITY SERVICES. Colin Bell. Applications Security Senior Practice Manager

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

Kanban One-Day Workshop

Software Engineering I (02161)

Ready for Scrum? Steve Hutchison DISA T&E

DAVIS SYSTEMS

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!

Software Development Methodologies

Helix Test Case Management Best Practices

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 FALL 2017 A BRIEF LOOK

An Intro to Scrum. Agile (Iterative) Project Development. Written in 2001 Can be read in its entirety at:

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 WINTER 2018 A BRIEF LOOK

Testing Agile Projects Stuart Reid

CAPABILITY. Managed testing services. Strong test managers experienced in working with business and technology stakeholders

Six Weeks to Security Operations The AMP Story. Mike Byrne Cyber Security AMP

l e a n Lean Software Development software development Faster Better Cheaper

Automated Acceptance testing by Developers & Automated Functional Testing by Testers

Bob Galen. Bob began as a developer, then moved to Project Management and Leadership, then Testing.

Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions

Development Processes Agile Adaptive Planning. Stefan Sobek

Exam Questions

A Tale of Continuous Testing

Cyber Transformation at CNS Pantex & Y-12

Introduction to ALM, UFT, VuGen, and LoadRunner

Agile where are we at?

Microsoft. Recertification for MCSD: Application Lifecycle Management

Life between Iterations

Struggling to Integrate Selenium into Your Ice Age Test Management Tools?

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Living With Agility

SE420 - Software Quality Assurance

Administration Guide. Release

Assuring Certainty through Effective Regression Testing. Vishvesh Arumugam

Requirements and User-Centered Design in an Agile Context

Implementing ATDD: A Practical Approach

The Improvement Backlog. Claude Rémillard InCycle Software

User Stories Applied, Mike Cohn

Software Development Process Models

SOLUTION BRIEF RSA ARCHER IT & SECURITY RISK MANAGEMENT

Shift Left Testing: are you ready? Live Webinar, Sept 19

Understanding the Open Source Development Model. » The Linux Foundation. November 2011

Testing Tools to Support Agile Software Delivery. The Critical Role of Automated Functional Testing in Enterprise Environments

Lecture 7: Software Processes. Refresher: Software Always Evolves

Plorma Documentation. Release 0.4. Torsten Irländer

How Can a Tester Cope With the Fast Paced Iterative/Incremental Process?

David Bernstein Five Development Practices Essential for Scrum Teams

Atomic Project Management

I am Stephen LeTourneau from Sandia National Laboratories Sandia s National Security Missions include: Nuclear Weapons Defense Systems & Assessments

Best Practices for Collecting User Requirements

Story Refinement How to write and refine your stories so that your team can reach DONE by the end of your sprint!

Kanban & Making Your Production Scream

Approaches for Auditing Software Vendors

SpiraTest Quick Start Guide Inflectra Corporation

This Thing Called Kanban

MTAT Software Engineering Management

Kanban In a Nutshell. Bob Galen President & Principal Consultant RGCG, LLC

2014 Intelliware Development Inc.

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale

Standard Glossary of Terms used in Software Testing. Version 3.1. Expert Test Manager Terms

Development with Scrum

AgileTool - Managing requirements in Agile WWW projects

FACETs. Technical Report 05/19/2010

CONFERENCE PROCEEDINGS QUALITY CONFERENCE. Conference Paper Excerpt from the 28TH ANNUAL SOFTWARE. October 18th 19th, 2010

Secure Agile How to make secure applications using Agile Methods Thomas Stiehm, CTO

Constant Velocity Is a Myth

Agile Software Development Agile UX Work. Kati Kuusinen TUT / Pervasive / IHTE

How to Build an Appium Continuous Testing Pipeline

Systems Analysis and Design in a Changing World, Fourth Edition

Vision, Roadmap, and Release Planning

Optimize tomorrow today.


Extreme programming XP 6

SAFe Reports Last Update: Thursday, July 23, 2015

Evolutionary Architecture and Design

HP Application Lifecycle Management. Upgrade Best Practices

Founda'ons of So,ware Engineering. Process: Agile Prac.ces Claire Le Goues

WHY THE WORLD S LEADING.NET DEVELOPMENT TEAMS RELY ON CODE COVERAGE AND WHAT IT MEANS TO YOUR TEAM CODE COVERAGE FOR THE TEAM

THE SCRUM FRAMEWORK 1

Hands-On Lab. Agile Planning and Portfolio Management with Team Foundation Server Lab version: Last updated: 11/25/2013

Up and Running Software The Development Process

Case Study: Financial Institution Deploys Conformiq 360 Test Automation to Test at the Speed of Agile Development

Use Guide STANDARD JIRA CLIENT. (Practical Case)

Software Engineering I (02161)

ICAgile Learning Roadmap Agile Testing Track

INTRODUCTION. 2. User-centred interface design.

CONFIGURING SAFE V4.0 IN THE IBM COLLABORATIVE LIFECYCLE MANAGEMENT

Selling Improved Testing

Customer Success Onboarding Guide. Version 11.3

Requirement Engineering within an Agile Environment BY KEJI GIWA. Digital Bananas Technology

Ready, Willing & Able. Michael Cover, Manager, Blue Cross Blue Shield of Michigan

Sample Exam. Advanced Test Automation - Engineer

Quality, Project Management & Supply Professional (Customized). Choice of any 3 certifications outlined as follows:

Transcription:

Adopting Agile Practices Ian Charlton Managing Consultant ReleasePoint Software Testing Solutions ANZTB SIGIST (Perth) 30 November 2010

Tonight s Agenda What is Agile? Why is Agile Important to Testers? Scrum An Agile Methodology Baseline - Our Typical Test Management Process Adopting Agile Practices Our Dilemmas Adopting Agile Practices Our Solution? Questions? Further Information 2

What is Agile? Agile is a methodology used primarily in software development initiatives. Based on 12 principles, it enables teams to respond to the unpredictability of building software through incremental, iterative work cadences, known as sprints. Scrum, Adaptive Software Development (ASD), and Lean Development focus more extensively on project management and collaboration practices. Extreme Programming (XP), Agile Modelling (AM), and Feature-driven Development (FDD) concentrate heavily on software implementation practices. 3

Agile The Principles Manifesto for Agile Software Development: 1. Satisfy customer through early and continuous increments; 2. Deploy first increment within couple of weeks and the whole software within couple of months; 3. Customer and agile teams must work jointly daily throughout the project; 4. Agile team and customer must have face-to-face meetings; 5. Welcome requirements even in late phases of the system development; 6. Trust and respect must be maintained amongst Agile team members; 7. Velocity of the project must be measured after delivery of each increment; 8. Emphasis should be on good design to increase agility; 9. Best architecture and design always come out from self-organisation; 10. Adjust and tune according to the situation; 11. Whole development process must follow keep it simple (KIS) principle; and 12. Agile project needs consistent work until completion. 4

Scrum An Agile Methodology History: Scrum was applied in 1990s by Ken Schwaber and Mike Beedle. It is an agile, iterative, incremental developing method which assumes that changes and chaos exist through entire life-circle of the project and attempt to solve these problems. Objective: Scrum naturally focuses an entire organization on building successful products. Scrum is designed to add energy, focus, clarity and transparency to project teams development software systems allowing teams to operate in close proximity. Scrum Process: Work is structured in cycles of work called sprints, iterations of work that are typically two to four weeks in duration. During a sprint, teams pull from a prioritized list of customer requirements, called user stories, so features developed first are of highest value. A product is delivered at the end of each sprint. Without major changes - often within thirty days teams are building useful and demonstrable product functionality. 5

Why is Agile Important to Testers? Traditional development methods are (frequently) not delivering business advantages; Projects are late, or even cancelled; Functionality delivered is not what is really required; and A lot of effort is spent delivering features that are not used. Consequently organisations are now using alternative development management strategies. Agile promises : Reduce total cost of ownership; Increase Quality ; and Reduced time to market. Agile has emerged as a leading software development methodology. If not 'The leading methodology We cannot ignore this significant development in the way that software will be developed. 6

Our Typical Test Management Process Test Management Test Planning Test Specification Test Execution Service Operation Test Strategy Master Test Plan Prepare Test Cases Entry Criteria Release Management Test Approach Phase Test Plans Review & Approve Test Cases Execute Test Cases Defect Management Change Management Governance & Reporting Resource Plans Manage Test Coverage Exit Criteria Regression Testing 7

Our Tools Support This Process Our leading test tools support this typical Test Management Process. Management Requirements Components Test Plan Test Resource Test Lab Defects Dashboard They have been developed with structure and control in mind over many years. Significant financial investment in testing tools in terms of licence/maintenance costs, resources, training etc. Significant IPR investment in testware. The Big Question is: Quality Assurance across the software development life-cycle Can they be successfully utilised for truly Agile projects? 8

Adopting Agile Practices Our Dilemmas Looking at the our current typical processes, we testers face a number of dilemmas in the following areas as we attempt to adopt Agile. 9

Dilemma 1 Defect Management Defect Management Dilemma Defects require time to be fixed. Our current processes and tools expect defects to be investigated, fixed, retested and passed before the software is delivered. Our concepts of Severity and Priority don t make sense under Agile Severity 1-Critical 2-High 3-Medium 4-Low Agile assumes: Priority 1-Urgent Hot-Fix ASAP 2-Very High Hot-Fix within 24 hours 3-High Fix in next Release 4-Medium - Fix in next 2-3 Releases 5-Low Fix when possible Delivery of working features at the end of the Sprint; and Non-working features are excluded from the release. Therefore we need to be able to return a defect to the backlog, if it cannot be resolved within that Sprint. 10

Dilemma 2 Release Management Release Management Dilemma An Agile Release occurs at a pre-defined point in time (i.e. at the end of a sprint). It only contains the features that work. Features that don t work or were not even attempted are re-cycled to the backlog. Our processes and tools are usually aligned to support a planned release to contain a defined set of features. The concept that a feature will not be delivered if it is not working is not easily supported. Adding and removing requirements to a release has an impact on the test cases that need to be executed and the corresponding defect management and retesting. It takes time to use Risk-based approaches to assess requirement priorities, so it become difficult to constantly be reviewing the requirements. Standard reporting and estimating are based on an approved baseline. 11

Dilemma 3 Change Management Change Management Dilemma Change happens constantly to projects and operational systems. Our processes and tools expect change to follow a procedure with impact analysis, estimates, and approvals. Agile embraces change daily which compresses the time that our processes expect to take days into minutes. Our documentation cannot be maintained within that frequency. Our tools are not expecting to support rapid changes to entities across the software development life-cycle. Version control becomes increasingly important to identify the latest instance. 12

Dilemma 4 Test Specification Test Specification Dilemma As we have matured our testing activities, we have often taken advantage of creating test components for business process testing. We would also develop efficient test cases that could verify multiple requirements. Agile almost demands that the tests are modular to single (or a few) requirements, otherwise it would become necessary to run multiple instances of the same test case to test requirements delivered across multiple Sprints. It becomes difficult to prioritise test case preparation if requirements are constantly being reprioritised in the backlog. 13

Dilemma 5 Test Execution Test Execution Dilemma Test execution does not commence based on typical test entry criteria. Tests are executed as soon as the developer has released that feature into the test environment. Test environment management becomes difficult. Planning test resources for testing is fluid and reactive. Increased likelihood that tests will be executed by someone other than the author. Extremely difficult to utilise automated testing (during a Sprint) because the system under test is constantly changing. Automated testing is suited to regression testing. Test execution ends at a point in time rather than as defined by typical test exit criteria. 14

Dilemma 6 Test Management Test Management Dilemma Traditional Governance and Reporting cannot keep up with rapid change across the entire project scope. Our typical metrics are not appropriate measures of a projects status or progress: Requirements Coverage; Tests completed; Tests not run; Open defects, etc. Our usual entry and exit criteria are not applicable and the Test Manager is not in control of when testing commences or ends. Our test tools require constant manipulation to keep the data current. Need to reduce re-calculation effort including tasks, estimation, planning, and spent hours. 15

Adopting Agile Practices Our Solution? How can we adopt Agile practices within our existing processes and existing testing tools? Only way is to use the script editors to modify the workflow and configure our projects differently. Must adopt Agile terminology (e.g. User Roles, Requirement Types, etc.) to communicate. Management Requirements Test Plan Test Lab Defects Dashboard Creating a Release Folder creates a linked Requirement of type Product Create a folder for Release Backlog Develop Modular Tests created as usual Important to pin a Test Set to a Sprint (i.e. Cycle) Convert open defect to a requirement type of Task and link them Burn Up Charts Burn Down Charts Requirement types (Product, Sprint, User Story, Task) Current Effort Estimates Creating a Cycle creates a linked sub-requirement of type Sprint Requirements are prioritised using a new field position to reorder easily Critical to link modular test cases to few requirements Configure test labs to be aligned to up to 1 days test execution effort Workflow to alert Task when defect fixed Total Story Points Velocity Reports 16

Questions? 17

Further Information Further Details: Chris Gray, WA Regional Manager chris.gray@releasepoint.com.au 0409 989 620 Ian Charlton, Managing Consultant ian.charlton@releasepoint.com.au 0425 417 668 18