Slide 1

Slide 1 text

© 2024 CGI Inc. 1 Ensemble Testing 10 Years of Mindshare Maaret Pyhäjärvi

Slide 2

Slide 2 text

© 2024 CGI Inc. 2 2 Brains + Voice NAVIGATOR Voices ENSEMBLE Hands DRIVER ROTATE

Slide 3

Slide 3 text

© 2024 CGI Inc. 3 Variation over time, variation over skill 3 Ensemble Programming Solo Programming

Slide 4

Slide 4 text

© 2024 CGI Inc. 4 Why? 4

Slide 5

Slide 5 text

© 2024 CGI Inc. 5 Timeline 2014: Woody Zuill “Whole team approach – a ridiculous idea. Must experience 1st hand.” 2015: Ensemble Exploring Moving from pairs to ensembles in teaching hands-on exploratory testing. 2017: Learning by Osmosis Personal transformation from ‘tester to developer’ acknowledged 2020: Community rename Cultivated options and choosing new name by Maaret Pyhäjärvi & Denise Yu. Emily Bache, Lisi Hocke & Lisa Crispin pioneered. 2024: Teaching and learning Go-to approach for hands-on teaching and learning. Reveals unknown unknowns.

Slide 6

Slide 6 text

© 2024 CGI Inc. 6 Ensemble lessons on testing 6

Slide 7

Slide 7 text

© 2024 CGI Inc. 7 7 Everyone can test

Slide 8

Slide 8 text

© 2024 CGI Inc. 8 Testing Gives Us… Unit / Exploratory / Contemporary Exploratory 8 Spec Feedback Regression Granularity Guidance Understanding Models Serendipity Documenting Extending reach Alerting to attend Guiding to detail

Slide 9

Slide 9 text

© 2024 CGI Inc. 9 Ensemble testing is great for… • Larger organizations where functional silos continue to exist (Testers get together to test) • Agile teams where we need to share testing skills (Teams get together to test) • Teaching anything testing related to a group (Training group gets together to test) • Introducing testing perspectives to programming activities (Testers joining ensemble programming)

Slide 10

Slide 10 text

© 2024 CGI Inc. 10 Ensemble lessons on programming 10

Slide 11

Slide 11 text

© 2024 CGI Inc. 11 Programming is like writing. Getting started is easy and it takes a lifetime to get good at. 11

Slide 12

Slide 12 text

© 2024 CGI Inc. 12 Key Lessons Correcting mistakes without egos in play Do both! Holding space for what is relevant Slow allows for thoughtful thinking Opportunities to inject exploration Moving from technical debt to technical assets Best face forward in a group Best ideas win when you care about work over credit 12

Slide 13

Slide 13 text

© 2024 CGI Inc. 13 Becoming polyglot programmer / contemporary exploratory tester 13 I had great ideas even when I did not know how to turn them into code – removing the distance is worth the struggle. Cognitive dissonance

Slide 14

Slide 14 text

© 2024 CGI Inc. 14 Ensemble lessons on ensembling 14

Slide 15

Slide 15 text

© 2024 CGI Inc. 15 Ensemble Working Ensemble Programming Applying Ensemble Working technique on development purposes and tasks including whole team testing. Ensembling Ensemble Testing Applying Ensemble Working technique on testing purposes and tasks. NEW Building sufficient space for all necessary activities, and bring all people along for the change. Scoping + TDD + Review + All levels of test automation + Exploring

Slide 16

Slide 16 text

© 2024 CGI Inc. 16 Ensemble Working - Examples Ensemble Programming Refactor code with ‘extract method’ and ‘rename’ Make reports feature testable Implement a feature Test-Driven Development Ensembling Ensemble Testing Create Selenium tests Explore a feature Explore an application with a mindmap Explore an application with programmatic tests NEW

Slide 17

Slide 17 text

© 2024 CGI Inc. 17 Heuristics of keep going 17 Learning Hard tasks by sourcing best of everyone Contributing Easy tasks by automating to oblivion Holding space

Slide 18

Slide 18 text

© 2024 CGI Inc. 18 Rules Bias to action Keep the group moving. Not a meeting. Decisions away from keyboard Accepting actions, correcting actions. Time to retro Improve the way the group works early and often. Highest level of abstraction Intent – Location – Details in instruction. Listen to more than words. Solo Breaks Step out when you need a break. Group can continue uninterrupted.

Slide 19

Slide 19 text

© 2024 CGI Inc. 19 Dynamics 19 Ensemble size 2 … 23 Rotation 4 min … 1 min … 10 min *mindshare* Roles RPG (Role Playing Game) by Willem Larsen Navigation Intent – Location - Details

Slide 20

Slide 20 text

© 2024 CGI Inc. 20 How to think about control Strong Style Traditional I have an idea… Please take the keyboard I have an idea… Give me the keyboard “For an idea to go from your head to the computer it must go through someone else’s hands”

Slide 21

Slide 21 text

© 2024 CGI Inc. 21 21 Step in to navigate In-middle retro Artifacts over conversations

Slide 22

Slide 22 text

© 2024 CGI Inc. 22 Varied experiences Testing is framed by • Charter • Target – Need of skill to learn and to test – Size – Quality – Interface for programmatic testing Target applications Text field Web element collections ePrimer Freemind, Xmind Dark Function Editor ToDoMVC ParkCalc Conduit Juice shop Restful Booker Zippopotamus Weather App, OpenWeather API Sentiment API Gilded rose Roman numerals Raster Reveal 22

Slide 23

Slide 23 text

© 2024 CGI Inc. 23 https://www.linkedin.com/in/maar et/ @[email protected] Temporary working spaces differ from permanent ones

Slide 24

Slide 24 text

© 2024 CGI Inc. 24 24 Even better remotely.

Slide 25

Slide 25 text

© 2024 CGI Inc. 25 25 Mindshare

Slide 26

Slide 26 text

© 2024 CGI Inc. 26 26 Allows for contributing on different skills profiles.

Slide 27

Slide 27 text

© 2024 CGI Inc. 27 Observe Ideate Let Go Be Impressed Support others Do Something Yes, and… 1. Observe: notice more 2. Ideate: stop censuring 3. Let go: trust the process 4. Be Impressed: react 5. Support others: make them shine 6. Do something: experiment culture 7. Yes, and: combine * Metaskills of Improv, Simo Routarinne, proimpro.fi

Slide 28

Slide 28 text

© 2024 CGI Inc. 28 28 https://ensembleprogramming.xyz

Slide 29

Slide 29 text

© 2024 CGI Inc. 29 Insights you can act on Founded in 1976, CGI is among the largest IT and business consulting services firms in the world. We are insights-driven and outcomes-based to help accelerate returns on your investments. Across hundreds of locations worldwide, we provide comprehensive, scalable and sustainable IT and business consulting services that are informed globally and delivered locally. cgi.com