11/1/15

Agile Open Northwest 2015

Agile Open Northwest 2015 (AONW) was held in Portland last February.  It's an Open Space conference, which means the agenda and discussion are self-organized by the attendees.  It's an interesting process, and if you have the opportunity to attend an Open Space conference I suggest you try it out.

Registration for the 2016 conference in Seattle is about to open, which made me realize I had not yet posted my sketchnotes from 2015.  Click on an image to see the larger version.

Mob Programming - The Coding Kata - hosted by Chris (?). During this talk we practiced mob programming, which is where one person runs the keyboard, and a separate person (or even the whole team) directs writing the code.  The practice is meant to exercise both the muscle-memory of writing code (keyboard) and the analytical skills required to explain the code to someone else (the director).  Using unit tests, iterative enhancements, and good coding hygiene, both the director and the keyboarder share their skills and knowledge. Then they swap places.  Reference: mobprogramming.org.

Pushing Practice to Proficiency was organized by Matt Plavcan from Intel. Similar to mob programming, his talk was organized around inoculating the team with the culture of lean engineering, and then using this to infect surrounding teams. The end result is a more proficient company.

No Estimates, led by Woody Zuill, discussed better ways of delivering the desired functionality within a given time. 

A group of people discussed Combating Technical Debt: What's acceptable, how to manage it, how to mitigate it.  The phrase Technical Debt was first coined by Martin Fowler.

During the Backlog Grooming session people shared their tips for effectively and efficiently managing the project backlog.  This is something I definitely need to revisit from time-to-time.

Arlo Belshee lead at least two sessions.  The first session, Microskills & Key Mindshifts, listed his top mental models for taking coding and project outcomes to the next level -- and then he listed the levels.  Some key points included refactoring, metrics, agile experiments, and cultivation of corporate culture.  

Arlo also presented his thoughts on refactoring legacy code.  Much of what he began to describe at AONW has be elaborated in his blog posts "Naming is a process, not a single step."  He also included mob programming in his demonstration of refactoring.

Agile Practices for Support and Maintenance organized by Shirley Hewitt raised some good ideas for managing maintenance development.  I liked the idea of creating swim lanes to provide visibility on technical debt maintenance or items that are broken in production.


PNSQC 2015 - Day 2

Here are my sketchnotes for the second day of the Pacific Northwest Software Quality Conference 2015 held in Portland, Oregon.  Click on an image to see the larger version.

Ken Pugh, author of "Prefactoring, Interface-Oriented Design,"  spoke about effectively communicating using acceptance tests.  His talk outlined how the triad (developer, product owner, QA) work together to write acceptance tests that become the specs for unit tests, code, and automated regression tests.  This talk was accompanied by a hands-on workshop the following day.

Wayne Roseberry from Microsoft posed some interesting question: Microsoft has a lot of data regarding automated crash reports.  Can this data be used to identify which have already been reported?  Can it help identify areas of code that need refactoring, or have high bug results?  He developed a system using the Microsoft Azure Machine Learning engine to process the bug reports.

Keeping with the theme of the conference, Ron Thompson used the metaphor of how the product owner influences the resulting system in the same way a particular strain of yeast might affect brewing beer. 


Lucy Chang from Intuit gave an amazing technical talk about using Amazon web services with Wiremock to inject stubs and proxies into a distributed system. 

Click here to see the notes for Day 1 of the conference.

PNSQC 2015 - Day 1

The theme of the 2015 Pacific NW Software Quality Conference (PNSQC) was "Brewing Quality Software." That theme alludes to Portland's notoriety for great beer and coffee (and tea), but also ties in the focus on quality software in the Silicon Forest and beyond.

Last year I learned about developing functional unit tests, and this year I hoped to learn more about writing acceptance tests, and feeding these into unit tests.  I was also looking for tips on integrating unit testing in Continuous Integration (CI) environments.

Last year I tried sketchnotes for the first time. This year I focused on simplifying the notes.  I skipped trying to draw the speaker, except in simple cartoon form. I also found that a lot of my notes were simply transcriptions, so I focused on grabbing images from the talks and putting these into the notes. Sometimes these were actual images from the presentation, but more often they were metaphors or images used while speaking.

All these sketchnotes were done live. As a result, I often had to process and understand the section before I could make a note. I think this helped me get a better understanding of what I understood, and what I didn't really grasp.

My tools were my iPad, an app called Paper by 53, and a Musemee Notier Stylus. Click on the images to see a larger version.



Casey Rosenthal from Netflix presented his talk on Chaos Engineering. The basic premise is that future (and current) distributed systems will be so complex that system architects and development engineers will be ineffective without the help of other systems.  Chaos engineering will help build confidence in these systems by providing "turbulence in production," and creating new ways to visualize the systems.

Julie Green from Con-Way Enterprises talked about using pre-mortems as a way to elicit risks in the project.  She says "A Pre-Mortem meeting creates a safe environment where the sole purpose is to predict failure. Instead of a gripe session, the Pre-Mortem is structured so that attendees are asked for a few areas where they think issues will occur...Using the Pre-Mortem strategy you can stop these failures from occurring."


Dwayne Thomas and Kevin Swallow from Crowd Compass presented a session on using coding clubs at work to improve the understand between development and QA.  

Bhushan Gupta raised everyone's awareness on the need for secure web applications in his talk.  Some key points were the owasp.org list of threats, and the NIST800-30 Threat Modeling Risk Assessment. 

Click here to continue to Day 2 of PNSQC 2015.