Tuesday, November 10, 2015
"Muse"-ing on the state of Agile - Live from #AgileTD
Agile Testing Days is celebrating it’s biggest year yet. The total number of attendees at this event are numbering over 600. additionally, they have announced a variety of new conference dates in different locations in Europe for 2016, as well as an Agile Testing Days event scheduled for the U.S. in 2017.
An additional fun element of this event is a Wild West theme. Contrary to popular belief, the "Wild West" goes well beyond the mid-west and western part of the United States. It also includes Canada, Mexico and South America for good measure (which makes sense, because as far as Europe is concerned, the entire "New World" counted as the Wild West, with lots of opportunities and new horizons to learn about). Lisa Crispin and Janet Grogory did a fun little session to help encourage everyone to get the most out of the conference, and dressing like prospectors helped get that point across.
Alex Schladebek and Huib Schoots handled the first keynote with "Where Words Fail, Music Speaks...", and it's not common to see a violin and a trombone as an opening remarks, but yet, here we are :). With renditions of music from "Star Wars", they explained how they learned how to play and why music is important to the discussion of software testing. Music is everywhere, it invokes emotions and passions, and it also helps inform about who and what we are. Therefore, the goal of the talk is to show how music can help inform and develop an appreciation for software testing and agile software development. One of the interesting things about music is that you get instant feedback. If a note is clean, you hear it. If a note is not clean... you hear it :). Music and learning have similarities. You get feedback, you reduce the complexity to practice, you learn the fundamentals, and then through muscle memory and practice you get a better feel for what you are doing. Also, in music, you don't practice what you are doing front to back, generally you practice different areas, and some things require more time and energy than others.
They played two examples of music. One song was the theme to James Bond, and another was "The Wild Asparagus". Almost everyone knows the tune to the James Bond theme, but not everyone is as familiar with the second song, so the mental image of the music had a much broader interpretation and "mental image".
Agile teams also have ways of interpreting their themes and their performances. As there are more performers, there is a greater need for coordination and focus, more so than a single performer will require. Additionally, different groupings will require different levels of formality. A session is more free form and open, while an Orchestra is more scripted and focused. Sessions have a structure, and a heuristic we can use is called STAR (Structured, Tune, Accompaniment, Rhythm). All of these are emphasized in different levels, but each performer needs to be aware of what they are doing and how they are doing it. Testers also have a variety of heuristics they can use.
Music also has what are called "cadences". There are definite cadences, or full cadences, that come to a conclusion and a sense of completion. and there are incomplete cadences, often min minor keys, that seem like they are going to end, but don't really, if they do, they "feel incomplete". testing has its own set of cadences as well, and if you are focused, you can tell when testing has reached a full or half cadence, or if it feels complete or not.
Exploratory testing has a correlation to music as well. if you follow the sheet music precisely, then you are following a defined script. By contrast, if you perform without sheet music, and play it by memory, you will likely vary and embellish the song. in short, you will not play it exactly the same way, and the more musicians you add, the odds of variation increase exponentially.
Music also contains certain patterns. If you know the patterns, then it is easier to improvise. By improvising, there's a greater chance you can vary your performance and your ability to adapt to different situations. As your team learns and grows, you will also get the ability to recognize patterns in applications, and how to interact and react as you are testing.
Nicely done, Alex and Huib :)!!!