How to bake in quality in agile scrum projects


Published on

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

How to bake in quality in agile scrum projects

  1. 1. Baking-In Quality in Agile Scrum ModelAgile Hyderabad Workshop forScrum PractitionersDate September 26, 2012
  2. 2. 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 © Alliance Global Services 2012 2
  3. 3. Agile Scrum Delivery Context Doing THINGS Right Doing RIGHT Things • Unit Testing • Working software after each iteration for user review • Test Automation • Frequent Customer Review & Feedback • Manual & Automated Code Review • Accommodate Change after each iteration • Automated Continuous Integration • Focus on the most impactful features first • Incremental Design & Architecture • Frequent Inspect & Adapt for course • Refactoring to Reduce Technical Debt correction  Individuals & Interactions  Customer Collaboration Doing Things FAST  Engineering Best Practices  Demo Working Software  Frequent Inspection & Adaptation  Respond to Change • Partnership To Work Together • Reduce Uncertainty & Delays • Minimize waste by producing less consumable artifacts • Self-Managed Experienced Team • Eliminate Impediments  Self-Managed Experienced Team • Automation  Eliminate Delay & Impediments  Automation • Maximize Value Early © Alliance Global Services 2012 3
  4. 4. 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 © Alliance Global Services 2012 4
  5. 5. 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 High Level Implementation Estimate Business Persona Package Complete Approach & Drivers Definition Approach Architecture Short List Draft Architecture Alignment Tool Identification Data Catalog Requirements Plan Release Plan User Flows Competitor Review or Wireframes Shelf Docs © Alliance Global Services 2012 5
  6. 6. Requirement Quality• 3Cs (Card, Conversation, Confirmation)• INVEST in User Stories• Acceptance Criteria Product Owner owns it BUT the team gets engaged in requirement quality © Alliance Global Services 2012 6
  7. 7. 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 © Alliance Global Services 2012 7
  8. 8. Code Quality• Continuous Integration Platform – Jenkins / Customized to meet the need• Early Feedback – Everyone sees whats 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 © Alliance Global Services 2012 8
  9. 9. 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 © Alliance Global Services 2012 9
  10. 10. Baked-In Quality Early in the Cycle Quality 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 © Alliance Global Services 2012 10
  11. 11. 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 © Alliance Global Services 2012 11
  12. 12. Titanium xAFT – Functional Test Automation Titanium xAFT is a Open-Source Test Automation Framework to develop Automation rapidly across the enterprise while creating highly maintainable suites. • 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 Cross-browser Mobile Web Services request/response capture allow for auditable test resultsTitanium xAFT Interactive Demo: xAFT Download: © Alliance Global Services 2012 12
  13. 13. 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 © Alliance Global Services 2012 13
  14. 14. Q&A © Alliance Global Services 2012 14
  15. 15. Thank YouSantanu BhattacharyaVP Solutions, Product Engineeringsbhattacharya@allianceglobalservices.comMobile: +91 970-119-9566Blog: 15