Mike Bland


Most recent posts

132 posts total. See Filtering and Navigation for tips on how to find the bits in which you're interested.

Brothers John and Justin Hunter of Hexawise interviewed me for their "Testing Smarter with..." series, just posted to the Hexawise blog.

- Alexandria
Tags: Google, Test Mercenaries, testing, Testing Grouplet, Testing on the Toilet
Discuss: Discuss ""Testing Smarter with..." interview" on Google+

I’ve the honor of having just been interviewed by the brothers Hunter, John and Justin, from Hexawise as part of their "Testing Smarter with…" series. You can now read another iteration of riffs on many of my favorite topics in the hot-off-the-presses "Testing Smarter with Mike Bland". (Note that that link posts to the “blog” version, which itself contains links to the full "Testing Smarter with Mike Bland" interview.) Thanks to both John and Justin as well as Sean Johnson, the Hexawise CTO, who recommeded me for the series.

It’s long-winded, as is my wont, as I basically brain-dumped a first draft and the Hunters decided to cut very little, despite my offer to trim things up as they preferred. Naturally there’s a lot of overlap with and references to The Rainbow of Death. Still, as I’ve advised all these years and stated over and over again, a lot of culture change is about repeating yourself, finding more than one way to say the same thing, and being redundant to the point of tedium. Ad nauseam.

Case in point, there is one bit of insight in the interview that I hadn’t expressed anywhere before, I don’t think:

Hexawise: Our CTO, Sean Johnson, shared your memorably-named “Rainbow of Death” presentation with our management team. We absolutely loved it. In your presentation, you describe a series of concrete, practical steps you and your colleagues at Google took over the course of 5+ years to overcome resistance to change, educate teams, and successfully achieve broad adoption of automated testing efforts at Google across many teams, including lots of teams that were initially very change resistant. Can you please describe for our readers 2 or 3 noteworthy aspects of that change management journey?

Mike: What I hope the Rainbow of Death model, in combination with Geoffrey A. Moore’s Crossing the Chasm model, make apparent is that different people adopt change differently. There are many needs that need to be met by and for many different people, and the chances of figuring out the perfect plan to execute before taking any action are practically zero. After all, don’t the Agile and DevOps models that are all the rage comprise tools and practices for adapting to change, for performing experiments and adjusting course based on feedback? Organizational change is no different, yet many people remain conditioned to expect waterfall-like solutions to their social problems.

And true to form, I subtly reinforced the message a little later:

Hexawise: Large companies often discount the importance of software testing. What advice do you have for software testers to help their organizations understand the importance of expecting more from the software testing efforts in the organization?

Mike: Sadly, there’s no one message that works for every company, every culture, everywhere…. Back to the Rainbow across the Chasm, testing (and DevOps) adoption is more a human problem than a technical one, and many different solutions are required for many different people and many different parts of the problem. Just as we must be free to experiment and adapt when it comes to developing features and deploying releases, we must apply the same mindset to hacking our organizations.

I've released go-script-bash v1.4.0, another large update that includes massive test performance improvements, amongst other significant new features

- Alexandria
Tags: Bash, dev tools, go script, Linux, Mac OS X, programming, technical, testing, Windows
Discuss: Discuss "go-script-bash v1.4.0" on Google+

It’s only over a month late (I blame the Rainbow of Death), and didn’t contain many of the features I’d originally anticipated, but go-script-bash v1.4.0 is finally out! A brief summary of some of the major new features:

  • The test suite now runs a minimum of O(5.3x) faster on UNIX and up to O(18x) faster on Windows, thanks to optimizations to the framework’s test helpers and to my mbland/bats fork of the Bats framework that eliminate as many subshells and other child processes as possible. On Windows the improvement is especially dramatic because forking new processes on Windows is over 50x more expensive than on UNIX.
  • There are lots of new Bats test helpers, both generic and framework-specific.
  • The go-template bootstrap script makes it easier to write a top-level ./go script and start using it right away.
  • _GO_STANDALONE mode makes it possible to write standalone programs, instead of only project-specific scripts that always execute from the project root (i.e. _GO_ROOTDIR).
  • The command script and library module precedence is more natural, and allows for easy test stub injection.
  • The ./go get command makes it easy to fetch single files or shallowly clone a Git repository in a uniform way.
  • The ./go new command makes it easy to create a new command script, library module, or Bats test with minimal boilerplate.
  • Plugins are now capable of being nested, searched, imported, and executed using a mechanism very similar to the node_modules search mechanism implemented by npm.
  • @go.select_option makes it easy to write basic interactive user prompts.
  • Various bug fixes.

I have created a v1.5.0 milestone already, but it’s highly subject to change, as I’m still in the process of getting my business together, and I intend to prioritize the importation of features from mbland/certbot-webroot-setup (and continue the "Switching to Let’s Encrypt with HPKP" series) over implementing the features currently listed.

My presentation of "The Rainbow of Death" at DevOpsDays Baltimore 2017 went really, really well; the slides and full narrative are available here!

- Alexandria
Tags: Google, Test Mercenaries, testing, Testing Grouplet, Testing on the Toilet
Discuss: Discuss "The Rainbow of Death" on Google+

It is finished. I couldn’t be happier with how The Rainbow of Death came together and with my delivery at DevOpsDays Baltimore 2017. The slides and the full text are posted on that page, and I’ll post the final video there once it’s available.

Can’t thank the reviewers for the talk enough for their generous and insightful feedback that made the final product of exponentially better quality. Special thanks to Ramez Mourad for encouraging me to submit a proposal and for being so accommodating of my technical needs during the event itself. And congratulations to all of the DevOpsDays Baltimore 2017 organizers for pulling off such a smooth, successful event—the first of its kind in Baltimore!

And now I have a calling card! If anyone’s interested in the sort of work I would perform for their organization and how I’d approach it, all they have to do is spend thirty minutes reviewing the narrative, slides, and/or video—after that, we can talk.

And oh! One more thing: This was the tenth anniversary of the second Testing Fixit I organized!