how to bake in quality in agile scrum projects

15
Baking-In Quality in Agile Scrum Model Date September 26, 2012 Agile Hyderabad Workshop for Scrum Practitioners

Upload: santanu-bhattacharya

Post on 13-May-2015

618 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: How to bake in quality in agile scrum projects

Baking-In Quality in Agile Scrum Model

Date September 26, 2012

Agile Hyderabad Workshop for Scrum Practitioners

Page 2: How to bake in quality in agile scrum projects

2© Alliance Global Services 2012

Discussion Topics

• Quality Driven by the Scrum Model

• Vision To Requirement Quality - JumpStart

• Architecture & Design Quality

• Code Quality

• Baking-In Quality

• Verification & Test Automation

• Maturing Definition of Done

Page 3: How to bake in quality in agile scrum projects

3© Alliance Global Services 2012

Agile Scrum Delivery Context

Doing THINGS Right • Unit Testing• Test Automation• Manual & Automated Code Review• Automated Continuous Integration• Incremental Design & Architecture• Refactoring to Reduce Technical Debt

Doing RIGHT Things • Working software after each iteration for

user review• Frequent Customer Review & Feedback• Accommodate Change after each iteration• Focus on the most impactful features first• Frequent Inspect & Adapt for course

correction

Doing Things FAST• Partnership To Work Together• Reduce Uncertainty & Delays• Minimize waste by producing less

consumable artifacts• Self-Managed Experienced Team• Eliminate Impediments• Automation• Maximize Value Early

Customer Collaboration Demo Working Software Respond to Change

Self-Managed Experienced Team Eliminate Delay & Impediments Automation

Individuals & Interactions Engineering Best Practices Frequent Inspection & Adaptation

Page 4: How to bake in quality in agile scrum projects

4© Alliance Global Services 2012

Quality Driven by Scrum Model

• Short Iterations

• Frequent Course

Correction

• Potentially Shippable

Incremental Product

• Product Backlog

Grooming

• Mid-Sprint Review

• Definition of Done

• Lifecycle Management

Tool

Page 5: How to bake in quality in agile scrum projects

5© Alliance Global Services 2012

JumpStart - Inception

An accelerated process to transform the product vision in to an Actionable Plan and Architecture ready for implementation

Week 1 Week 2-3 Week 4

Business Drivers

ShelfDocs

Persona Definition

Draft Architecture

Architecture

Tool Identification

User Flowsor Wireframes

Requirements

Competitor Review

Plan

High LevelApproach

Com

plet

e Ap

proa

ch &

Im

plem

enta

tion

Estim

ate

Alignment

Package Short List

Data Catalog Release Plan

Page 6: How to bake in quality in agile scrum projects

6© Alliance Global Services 2012

Requirement Quality

• 3Cs (Card, Conversation, Confirmation)

• INVEST in User Stories

• Acceptance Criteria

Product Owner owns it BUT the team gets engaged in requirement quality

Page 7: How to bake in quality in agile scrum projects

7© Alliance Global Services 2012

Architecture & Design Quality

• Incremental Design

• Flexibility

• Design for Testability

• Spikes & POCs

• Static & Run-Time Code Quality Check

– CAST, Profiling Tools

• Refactoring

The Whole Team Participates In the Architecture & Design Discussions

Page 8: How to bake in quality in agile scrum projects

8© Alliance Global Services 2012

Code Quality

• Continuous Integration Platform – Jenkins / Customized to meet

the need

• Early Feedback– Everyone sees what's happening at the code quality

level

• Automated Unit Test Integration– Run the unit tests and publish test and coverage

reports

• Code Analysis– CheckStyle, PMD, Findbugs, FxCop, StyleCop, Open

Tasks, duplicate code

• Automatic Deployments– Reduce human error, fast, everyone can deploy, daily

deployment to test/integration environment

Page 9: How to bake in quality in agile scrum projects

9© Alliance Global Services 2012

Baked-In Quality Context

Quality Context

• Measuring weight 10 times a day doesn’t reduce weight – Verification & Validation doesn’t increase the quality of the software

• Client wants features not bugs and expects the bugs will be taken care of above & beyond the functionality planned.

• Anything needs to be done requires resource and time allocated for it

• A bug is like a tiger. When it’s a cub easy to handle before it grows over time

• Saying “Yes” to bugs increases the probability of more bugs in future

Page 10: How to bake in quality in agile scrum projects

10© Alliance Global Services 2012

Baked-In Quality Early in the CycleQuality User Stories with Defined Acceptance Criteria

Alliance Engineering Platform (AEP) provides continuous feedback on standards & best practices

Daily un-scripted exploratory testing and removal of defects help increasing the quality of the software

Peer Review & External Engineering Audit helps in early detection of weaknesses and help in building robust commercial grade software

Page 11: How to bake in quality in agile scrum projects

11© Alliance Global Services 2012

Verification & Test Automation

• Acceptance Test Automation

• In-Sprint Automation

• Regression Test Automation

• Developer & Tester Pairing for Increasing the Quality of

the software instead of just measuring it• Incentivize People for the right behavior

– No bugs found at the verification stage is the goal

Page 12: How to bake in quality in agile scrum projects

12© Alliance Global Services 2012

Titanium xAFT – Functional Test AutomationTitanium xAFT is a Open-Source Test Automation Framework to develop Automation

rapidly across the enterprise while creating highly maintainable suites.

Titanium xAFT Interactive Demo: http://www.allianceglobalservices.com/resources/webinars/20#.UGE5UI3iZ_gTitanium xAFT Download: http://allianceglobalservices.com/innovation

• Readable scripts rather than programming

allows functional testers to develop and

maintain scripts

• Abstraction of object ids, test data and

test scripts allow for in-sprint automation

• Modular design and underlying support

for multiple frameworks and tools are

used to develop complex automation

• Provides single interface to develop end to

end automation for Web 2.0, Web Service,

database and mainframe

• Detailed reporting, screen play,

screenshot and service request/response

capture allow for auditable test resultsCross-browser Mobile Web Services

Page 13: How to bake in quality in agile scrum projects

13© Alliance Global Services 2012

Maturing Definition of Done

• What it takes to deliver to production?

• How much of it covered as part of the Sprint?

• Anything which may cause rework for quality must be

part of Definition of Done

• Maturing Definition of Done shows the maturity of the

team

• Investing in Definition of Done helps producing quality

software

Page 14: How to bake in quality in agile scrum projects

14© Alliance Global Services 2012

Q & A

Page 15: How to bake in quality in agile scrum projects

15

Thank YouSantanu BhattacharyaVP Solutions, Product [email protected]: +91 970-119-9566Blog: http://allianceglobalservices.com/blog/author/sbhattacharya/