Baking-In Quality in Agile Scrum Model
Date September 26, 2012
Agile Hyderabad Workshop for Scrum Practitioners
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
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
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
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
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
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
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
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
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
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
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
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
14© Alliance Global Services 2012
Q & A
15
Thank YouSantanu BhattacharyaVP Solutions, Product [email protected]: +91 970-119-9566Blog: http://allianceglobalservices.com/blog/author/sbhattacharya/
Top Related