January 26, 2017

Test Automation and Specification by Example with Greg Tutunjian: Notes on Ministry of Testing - Boston Meetup

That. Was. Wonderful! The Ministry of Testing - Boston (formerly the Greater Boston QA and Testing Group) kicked off the first Meetup of 2017. I acted as co-host for the first time, meeting-and-greeting people for the first time since I was made co-organizer of the group!

I haven't run a Meetup since I was last hyperactive with the Nerd Fun - Boston Meetup over five years ago. Back then, I lead a herd of nerds to crash other people's events: lectures historical, technological, and scientific all over Boston and Cambridge. Now, I was the person setting up for the event! Luckily, Conrad, the owner of the Meetup group, found a speaker and the location; all I needed to do was set up and meet-and-greet.

That reminds me: I need to find speakers and places to host upcoming Meetups for Ministry of Testing - Boston or it is going to be merely Dinner and QA Discussion events (In the style of "Lean Coffees") on the official event calendar as far as the eye can see. Are you a QA Manager in the Cambridge / Boston area who loves talking about your own personal testing philosophy? Come up with a topic you want to share, and talk to Conrad about hosting one of our Meetups. Who knows? Maybe in the audience of your talk will be your next new hire!

More About the Meetup Topic

From the Meetup Event

Subject: Test Automation In The Hands Of “The Business”: How Specification By Example Is Changing How We Plan and Test Our Solutions

Date: Wednesday, January 25, 2016 @ 6:00 pm

Location:  Izotope, Cambridge, MA

Description: "We’re seeing an increase in the adoption of Specification By Example (SBE) in the forms of Acceptance Test Driven Development (ATDD) and Behavior Driven Development (BDD): Tools and techniques designed to complement and accelerate these adoptions especially at the enterprise solution level (where even a small reduction in solution delivery time can have a very significant return on investment.) Quality Assurance (QA) professionals are uniquely prepared to lead the adoption (and prove the effectiveness) of these solution verification and validation methods due to QA’s need and desire to understand detailed and general solution behavior, architecture, usability and more. This talk will include a review of these methods including their origin, several use cases, and tools, techniques and resources for personal investigation".

About the Talk

Greg Tutunjian has been an Application Developer, a Systems Engineer, a Team Builder and Agile Delivery Lead, and currently is an Enterprise Agile Coach. As he puts it, "Experience Informs". He took us through snapshots of his entire career, from testing, validating, and leading his teams.

Greg Tutunjian ( LinkedIn ), ACP, CDA, CSM, CSP, SAFe SPC

As Greg put it in the summary of his talk, "Quality Assurance (QA) professionals are uniquely prepared to lead the adoption (and prove the effectiveness) of these solution verification and validation methods".

Why QA Professionals? QA are already better equipped. They already do:
  • Outside-In Testing. White box, black box testing. 
  • Solution centric vs development centric 
  • Incrememnting Value 
  • More Multidisciplicinary 
  • Direction Setting, examining metrics. 
  • Forming a Community of Practice: Centers of Excellence: Defines the standards and expectations

Sidenote: What is a Community of Practice? 

According to Wenger-Trayner, a "community of practice is a group of people who share a concern or a passion for something they do, and learn how to do it better as they interact regularly.

"This definition reflects the fundamentally social nature of human learning. It is very broad. It applies to a street gang, whose members learn how to survive in a hostile world, as well as a group of engineers who learn how to design better devices or a group of civil servants who seek to improve service to citizens".

Where Does Greg Come Into Play As An Agile Coach?

To answer the question when Greg comes into play as an Agile Coach, he mentioned the Satir Change Model. "Virginia Satir, a pioneer of family therapy, developed a model of how individuals experience change. The Satir Change Model says that as we cope with unexpected or significant change, we predictably move through four stages: Late Status Quo, Chaos, Practice and Integration, and New Status Quo". 

From https://stevenmsmith.com/ar-satir-change-model/
Greg comes aboard just after the Chaos, working with the team to come up with Practice and Integration.

How Business Validation Has Been Performed

Greg walked us through the many different models of business validation he has come across since the 1970s:
  • Back in 1975: It started with technical specifications, or specs.
  • 1985: Business requirement documents: BRD. ( See "BRD, a High Level Review")
  • 1990s: Rapid prototyping
  • 2000: Model behavior and predictive knowledge
  • 2005: Agile, and the small team movement
What Greg likes to use is a Specification by Example: (SBE): A collaboration method for specifying requirements and tests, Acceptance Test Driven Development (ATDD) and Behavior Driven Development (BDD). 

Sidenote: What is Specification by Example?

From Martin Fowler's blog SpecificationByExample dated March 2004, 
"I was attending a workshop at XP/Agile Universe in 2002 when the phrase 'Specification By Example' struck me as a way to describe one of roles of testing in XP [...]
"Specification By Example isn't the way most of us have been brought up to think of specifications. Specifications are supposed to be general, to cover all cases. Examples only highlight a few points, you have to infer the generalizations yourself. This does mean that Specification By Example can't be the only requirements technique you use, but it doesn't mean that it can't take a leading role.
"[...] One of the great things about specification by example is that examples are usually much easier to come up with, particularly for the non-nerds who we write the software for".

Sidenote: What is Acceptance Test Driven Development?

From Elisabeth Hendrickson's blog, Test Obsessed dated December 2008, 
"Acceptance Test Driven Development (ATDD) is a practice in which the whole team collaboratively discusses acceptance criteria, with examples, and then distills them into a set of concrete acceptance tests before development begins. It’s the best way I know to ensure that we all have the same shared understanding of what it is we’re actually building. It’s also the best way I know to ensure we have a shared definition of Done.
"Obviously I think this is an important Agile development practice. In fact, it’s one of the core pieces of my Agile Testing class. Yet somehow I have neglected to write about it much on this blog. Time to rectify that.
"So, for your reading pleasure, I now present a PDF document with a detailed example of the whole ATDD flow".

Where Should You Start?

Greg advises, don't start out with a small unimportant area to start automating … start with a high-risk solution area, a bigger piece of work when you are pitching Agile. It is better for a manager to sell it. Work in Pairs. Facilitate Workshops. 

Greg could not stress the importance of putting together a Community of Practice: 
"A lot of great success happens in silence”. 
Put your success on a blog. Write about it. Talk about it. Share it. 

How does an Agile Project get started?

Greg says the first step is how he tries to find a good business partner and project. Then:
  • He adopts basic business scenarios.
  • He writes the step definitions.
  • Establishes a technology - facing flow.
  • Coaches, mentors, and Trains the Business.
  • Scale to Maximize the ROI 

Thank you very much, Greg for speaking at the Ministry of Testing - Meetup!

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

No comments: