Building a Culture of Quality, Real World Examples

Slides:



Advertisements
Similar presentations
Chapter 1 Business Driven Technology
Advertisements

Presentation to HRPA Algoma January 29, My favourite saying… Fail to plan, Plan to Fail. 2.
Testing and Quality Assurance
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
The Engine Driving Business Management in Project Centric Environments MAGSOFT INTERNATIONAL LLC.
Software Testing Fundamentals
Champions Workshop Jam 6/13/2012 © Copyright All rights reserved.
1 - Sudhir P, Balasubrahmanyam P Leveraging TSP SM /PSP SM Metrics to drive Predictability and Quality of product releases An Intuit Perspective.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
© Company Confidentialwww.itcinfotech.com Business Case for Test Automation S.Janardhanan Chief Technology Officer ITC Infotech India Limited Business.
Copyright © 2014 ASTQB Presented by Rex Black, CTAL Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further.
An Agile View of Process
National Food Service Management Institute
Real World Software Development Management and Solutions Barry Gervin March 23, 2011.
Terms: Test (Case) vs. Test Suite
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Adopting Agile for Enterprise Software Joe Bedell, Software Engineer Jason Breen, Software Engineer Peter Melko, Scrum Master June 15 th, 2015.
1 Testing – Part 2 Agile Testing In which we talk about nothing, because having unit tests solves all problems forever. Really. It’s not a subtitle balance.
Copyright BSPIN Agile Practices Benchmarking - Report Report at the end of first panel discussion held on 30 th April Chairperson -Thara Srivathsa,
Get quality results faster: Agile Projects and your team Presenters: Laurie Barnas and Wendy Taylor, Associate Registrars, University of Victoria.
Continuous Delivery Ajey Gore Head of Technology ThoughtWorks India.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 3 Agile Software Development (2/2) Yonsei University 2 nd Semester, 2013 Sanghyun Park.
The Engine Driving Purchasing Management in Complex Environments MAGSOFT INTERNATIONAL LLC.
The Joel Test 12 Steps to Better Code. Readings The Joel Test (by Joel Spolsky) 043.html.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Project Workflow. How do you do it? -Discussion-
Sri Lanka Institute of Information Technology Software Engineering Project – I Clone of Rally GROUP NO : WD-SEP-002 | PROJECT NO :25 PROJECT : CLONE OF.
Test Management Under construction – What happens? Maria Månsson.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
(A radical interpretation) Tomo Lennox Bow Tie computer services Why Agile Works.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Software Testing and Software Quality Assurance Process.
-booting Project Management Process to make it more Simple and Sensible.
January 24, 2009 Agile Product Management Making Things Happen Walter Bodwell Planigle.
Visual Studio 2005 Team System: Enabling Better Software Through Testing Tejasvi Kumar Technology Specialist - VSTS Microsoft Corporation
Joy Shafer October, 2011  Why am I here?  Why are you here?
Presented to the LCAHRM HR AS A TRUE BUSINESS PARTNER Actions Speak Louder than words... Presented by: Rob Rosend President, HRO Division TWC Group.
Software Quality Assurance and Testing Fazal Rehman Shamil.
CSC444F'07Lecture 41 CSC444 Software Engineering Top 10 Practices.
Cruise Training Introduction of Continuous Integration.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
© 2013 CA. All rights reserved. ScrumOps – Scaling Scrum Environment for DevOps Serajul Arfeen Naveen Arora July 2014.
Successful Software Practice How to successfully work as a team to create software Chris Mendes, Chief Technology Officer Sirca Limited March 2012.
Beginning Software Craftsmanship Brendan Enrick Steve Smith
REGRESSION TESTING Software Quality Engineering NC Zunaira Tariq Bese 19B Software Quality Engineering NC Zunaira Tariq Bese 19B.
Test Automation Steffen Goerlitz Barry Lange Mitchell Meerman Harry Schultz Trevor Spees.
Engaging Business Analysts in Test Automation
Paul Ammann & Jeff Offutt
Agile Metrics that Matter
Continuous Delivery- Complete Guide
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
System Testing Antares Rocket Test Launch ( HQ) System Testing.
CHAPTER 2 Testing Throughout the Software Life Cycle
Applied Software Implementation & Testing
The Importance Of Exploratory Testing For Enhancing The Quality Of Software.
Advantages OF BDD Testing
Johanna Rothman Create Technical Excellence Chapter 9
Teaching slides Chapter 1.
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
CS240: Advanced Programming Concepts
Real Testing Scenario Strategy: The Role of Exploratory Testing
Software Verification, Validation, and Acceptance Testing
Move from Scripted Manual Testing to Scenario-Based Testing
Thank you to our Sponsors
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Presentation transcript:

Building a Culture of Quality, Real World Examples Josh Meier Architect, Quality Engineering @moshjeier

Who am I?

Before I talk about building a culture of quality I though it would be good to talk about what culture actually means http://images.clipartpanda.com/stop-sign-clipart-z7TaM5XiA.png

What is culture? http://freebeer.fscons.org/freebeerlogo.png

Okay, really, what is culture? Environment Behaviors The way we do things around here Values & attitudes Fundamental assumptions and beliefs

Engineering Employee http://blog.thingsdesigner.com/uploads/id/treeswing.jpg, http://www.timsackett.com/wp-content/uploads/2011/12/older-worker-430x320.jpg

"A ship in port is safe but that's not what ships are built for" grace hopper. Not interested in the final battle to get into production. They don't understand that risk happens, they just don't want to ship. knowing how it was designed, tested and made ready for release is enough to diagnose any problems

Both are important, both are hard to get right, and sometimes it takes a larger investment in one while you course correct another

What is Quality? ?

What is Quality? A system can be considered quality when it meets the needs of the user, is intuitive and provides a better experience than the previous solution.

Culture + Quality = ??? So we’ve established a baseline for both culture & quality, how do they go together? http://pre07.deviantart.net/fc46/th/pre/i/2012/050/f/9/koala_tea_by_demonchasing-d4q9i56.jpg http://www.truelinelab.com/sites/www.truelinelab.com/files/product-images/culture-dish1.jpg

Culture + Quality = Happy Customers Get people to care about the quality of the product and give them the tools to measure/act/improve quality.

Building the culture Have tools that provide visibility into how well the software is running in production Engineers understand how their software runs in production Have engineers participate in customer cases/trouble tickets Have engineers buddy with frontline support Pager duty *gasp*

Building the culture Encourage writing testable/checkable code Test non-happy-path scenarios Testers partner with devs, testers shared test cases, pair testing/programming Testers participate in code reviews Colocation Shared accountability

2006-2012

Built on a foundation of dev > testers Very “throw over the wall” culture Devs wrote unit tests but didn’t talk with testers Bugs would go back and forth between test & dev with “works on my machine” and “I can still reproduce” Devs and testers were treated as different class citizens Testers were on a separate team https://jenike.com/files/2012/10/BlueSiloCollapsing-41.jpg

Testing was very manual/human, very little automation. Automation that did exist was very heavily UI automation Believed that automation could almost entirely replace humans No stable, representative test environment SOA, wire-based communications across services Semi-frequent releases (~2 weeks) https://farm3.staticflickr.com/2640/3959355664_22383aeaf8_o_d.jpg, http://ddf912383141a8d7bbe4-e053e711fc85de3290f121ef0f0e3a1f.r87.cf1.rackcdn.com/automate-all-the-things.jpg

https://pixabay.com/en/evolution-monkey-man-transition-296400/

Filed bug reports that contained the potential issue/fix in them

Began attending scrum meetings as an observer

Started building relationships with developers Talked about technology in general Talked about specific technical problems the team was having Talked about the culture of the company Talked about sports

Sat with developers as they were coding Mostly just watched Asked a few questions Pointed out potential defects when I saw them “What if the user does this?” “What happens in situation <x>?” “Should we do a null check here?” “How are we going to test this?”

Asked for early access to feature code, often on the developer's desktop

Starting providing test cases based on specs

Began participating in code reviews

Worked with other members of the QA team to start doing the same thing with the teams they supported.

Held brown bags to showcase how our teams were working together, the benefits we had received, and advocating for other teams to try it out

https://upload. wikimedia. org/wikipedia/commons/c/cb/3D_Judges_Gavel https://upload.wikimedia.org/wikipedia/commons/c/cb/3D_Judges_Gavel.jpg

For the teams that adopted the new quality culture we found: Releases were more stable and less of a fire drill to get out the door Morale was higher across the board Testers were treated as equals and their input was valued Turnover decreased

2012-Current

QEs (testers) focused on automation almost exclusively Totally different experience, a focus on quality was front and center. dev == testers QEs (testers) focused on automation almost exclusively Large, centralized bug bashes Human testing deprioritized for automated checking QEs were all hired with certain technical levels (aka, they could all read/write code) No stable, representative test environment Monolithic Application Custom customer code 3 major releases/year QEs/Devs treated as same class citizens https://31.media.tumblr.com/1007eda95260423e86925ee79276dd6d/tumblr_ns1f7gq9qt1s1mluxo1_500.gif

https://pixabay.com/en/evolution-monkey-man-transition-296400/

Reintroduce exploratory testing/human testing element

Focus on making the system more testable

Execute the customers automated tests for them

Know what other teams are working on, remove silos

Recognized need for more frequent releases, balance with customers desire for less change Starting to make the required changes to support faster releases Implementing better better release processes Educating customers

https://upload. wikimedia. org/wikipedia/commons/c/cb/3D_Judges_Gavel https://upload.wikimedia.org/wikipedia/commons/c/cb/3D_Judges_Gavel.jpg

Work in progress Teams that embrace knowledge sharing and ET see better results with releases The desire to produce a high quality product is present, sometimes the means to do it aren’t Moving from Enterprise model to Cloud/services model

http://3.bp.blogspot.com/-FQVB50BUMb8/UX_RmE1YG3I/AAAAAAAAqbc/IcqlhgDn_N8/s1600/id-rather-hunting-zombies-battaile-politics-1367305637.jpg