6/21/18

Testing, Agile and Devops: How does it all jive?

Devops is slightly nebulous phrase because it's a mix of technologies, methods and roles.  In short, it means that operations works tightly with development during the development cycle and beyond.  Think of it as “shifting right” in the same way that many people talk about shifting quality left in the development process.

Some of the technologies are 
While there are many parts to Devops methods, the most interesting are:
    • With containers you can treat configuration like code -- storing the configuration as scripts in a revision control system.  So, the container configuration can be static and tracked.  This enhances security as well as making the configuration more transparent.
    The Devops role, is someone who specializes in these technologies. Also essential is someone who can work with the team and help interface with QA, security, development, operations.  The ultimate idea of Devops is embedding someone representing operations in the development team.

    So, how does it all come together?  Agile methods mean that you have potentially deployable code at the end of a sprint. With Devops that can become actually deployable. But, devops also helps make deploying to production less scary:
    • The deployment is automated.
    • SDETs have written automated regression tests to check the existing system.
    • Containers allow you to run multiple test deploys in parallel, testing multiple configurations.

    • Security configuration can be built in to the container scripts.
    Since automated tests, deployment and configuration are all code, they can be revised, tested and run automatically often.  This allows QA to focus during a sprint on the new functions, including end-to-end and user experience.


    3/12/18

    Product Camp Portland 2018

    Over the weekend I had the opportunity to attend Product Camp Portland.  My motivation was that usually I'm on the technical side of projects. Product Camp was a chance for me to explore and hear how people who work with the customer-side of development solve problems and explore possibilities.

    Product Camp is an Open Space conference, or un-conference, similar to Agile Open Northwest. This means that attendees pitch potential sessions and everyone votes on the topics they want to attend.

    The pitch process took about half an hour and it was interesting how interactive even that process was. Teresa Torres was the first woman in the line-up. She remarked how the gender ratio was biased 5:1 towards men. From her encouragement, more women proposed sessions and the end result for the conference was closer to 50/50. It was an immediate and inspiring outcome.

    There were slots for 16 sessions in all. I was only able to attend four, but I took sketchnotes of the sessions I attended. It's a fun way for me to quickly internalize the topics and I like to share with attendees on twitter.  It's also a good way to meet people.
    Here are my notes.


    Arya from Cambia told her story how she became a product owner, and then discussed the key points for creating a compelling story that engages customers and colleagues.


    Dave Flotree covered the key points of how to gather user-validated design data through interviews. He also discussed how to use Affinity Diagrams to create a holistic picture of your users' needs.

    Teresa Torres gave her definition of continuous product discovery and then discussed the problems and questions people had about the process. 

    Paul W. Save and Dr. Quentin Caudron from CBRE had traveled all the way from Vancouver, Canada to talk about how product managers can integrate machine learning into their systems.  I really appreciated their talk, and also how enthusiastic they were about my sketchnotes.

    Overall, Product Camp Portland was conference which managed to stay cozy despite having over 350 attendees. I look forward to attending again.

    FYI, here's Mike Rohde's "The Sketchnote Handbook" which has a lot of good ideas and inspiration about using drawing to capture the ideas during meetings and conferences.