Friday, November 25, 2016

Kanban: Successful Evolutionary Change for Your Technology Business

Kanban: Successful Evolutionary Change for Your Technology Business by David Andersen.

If you are an Agilist then this is a must read book. This is another case of my experiencing key concepts from a book prior to reading it. The importance of slack, focussing on cycle time, empowering teams...

I wish I would have read this the day it came out. I'm working on a summary now. It starts here.

Friday, November 18, 2016

DevOps Business Cases - Chatting with Robert...

I had a chance to catch up with my friend Robert Boyd. We had a nice chat about DevOps business cases. Prior to talking I threw together a Google Slides deck to have something for us to react to. It was a very nice chat and it turns out we were seeing things very much the same way. We made a couple of tweaks to the ideas as we talked, namely we added Robert's favorite three top down metrics at the end.



The deck would not imbed in a way that looked nice so this post has the content from the deck in simple outline form:

Top Down DevOps Benefits

  1. Reduce time to market - realize value faster, less coordination costs
  2. Hypothesis test value and growth assumptions using actual customer behavior, improve feature ROI
  3. Reduce/eliminate production incidents from changes, faster mean time to recover (MTTR):  avoid costs, build customer goodwill
  4. Reduce/repurpose operating costs- automate tasks across development, infrastructure and operations

 DevOps Levers

  1. Establish a Lean, self-improving culture
  2. Loosely coupled, intrinsically testable architectures, applications and services that are easy to change and scale
  3. Automated, self-service build pipelines of production like environments reduce environmental errors/defects
  4. Automated test suites with high test coverage to reduce defects
  5. Automated deployments to production reducing opportunities for error
  6. Enhanced telemetry tied to change events and self-service reporting reveal cause and effect thus improve MTTR
  7. Release automation and controls e.g. feature toggles, canary, blue green enabling flexible releases
  8. Split testing capabilities enabling customer hypothesis testing

 DevOps Enablers 

Organizational models

  • *Market based (value stream aligned) integrated teams (infra, ops, dev, test, product)
  • Functional (capability aligned, e.g. dev, ops, test, platform) deeply integrated lean process e.g. test first, ops requirements defined up front, phased production transition to run, platform team owns shared self-service capabilities
  • Matrix - mix of above two

Practices

  • TDD/ATDD (XP)
  • Scrum/Kanban
  • Lean analysis e.g. A3, Value Stream Analysis Five Why’s
  • Statistical analysis of operations
  • ...

Technologies

  • Cloud
  • Infrastructure as code
  • Continuous Integration
  • Deployment and release automation
  • Cluster management (e.g. improve utilization via oversubscription) 
  • ...

Three Top Down Metrics

Focus whole organization on a shared goal, improve:
  • Deploys/day
  • Prod issues/month
  • MTTR
These metrics create a punch list of inefficiencies in the system to attack via solid monitoring, test coverage, sustainable architectures etc.

Map the value stream, identify and subordinate constraints...

--------------------------------------------------------------------------------------------------------------------------
If you'd like to see the deck it's here:  DevOps Business Case Chat (looks nicer - I like Google Slides new "explore" formatting feature)...

The DevOps Handbook

While we didn't call it DevOps back in 2012, when I joined Gap Inc.,we working towards achieving some of its goals then. Over the ensuing years we got reasonably good at it. I read Gene Kim's book, The Phoenix Project, a couple years back and so was excited to learn he was working on a new book entitled The DevOps Handbook.

I pre-ordered the book on Amazon and wrote a four part summary as I read it. This is as must read book if your in IT today. The book is long so if you are in a hurry and want to read my take on the most important concepts the summary is for you. It also serves as a good review if you've read it and just want to keep it in your head.

Tuesday, November 15, 2016

2016 DevOps Vendor Landscape

I've been curious about the various DevOps tool vendors, beyond those my team's have used. So here is some research that I'd like to share. We'll start with the 2016 Gartner Magic Quadrant report and then add some to it.  There's a link to my google sheet with quick vendor comparisons and a link to the Gartner report too.

Gartner 2016 Magic Quadrant for Application Release Automation:


For the most part the leaders quadrant is dominated by the traditional players - IBM, Automic, CA Technologies each with >30 years experience. They've done a mix of building and acquiring capabilities. Two younger players Electric Cloud and Xebia Labs are both venture backed, private firms.

My initial preferences in the leaders quadrant are IBM and Xebia Labs.  They are both pretty end to end.  IBM's stateless architectural approach and Xebia labs somewhat unique agentless architecture make them jump out for me.

The visionary quadrant's sole member is Clarive. However, their implementation seemed convoluted. Hashicorp's potentially a visionary though. While they are open source and thus not for everyone their architectural vision resonates with me.  Their immutable infrastructure philosophy and agent and agentless capabilities stand out. I couldn't figure out their workflow paradigm in the time I spent looking.  They are too small to make the list at this point - but are worth looking at, especially if your comfortable in the open source world. Studying them may highlight relevant problems everyone's solving which are not often discussed in the big players marketing collateral.

Serena Software is the sole player in the Challengers quadrant.  While their offering is broad its also really heavy. They focus on highly regulated industries.

The stand out in the Niche quadrant for me is Puppet. Their test centric philosophy bodes well for them as they build out their offerings.

Atlassian - also not on the list - deserves special mention. If your interested in piecing together your own solution and your a development centric organization they may be a good fit. They also provide and opportunity to call out the smaller specialty players like Ansible, RunDeck, Chef etc.  There's a nice blog entry written by one of their Directors that is a good DevOps read.

Finally, a word about workflow.  My experience suggests we be wary of over subscribing to the "drag and drop" philosophy.  Xebia labs sums it up well in their 5 Reasons to Stay Away from Workflows technical note. Bottom line, DevOps at scale is complex. Dealing effectively with that complexity determines your level of success. Workflow can be leveraged as a tool to help visualize the broad strokes but becomes a spaghetti mess if you target "reuse" and assume "making it visible" allows people who don't understand software development to manage the complexity of DevOps implementations at scale.

Here's the google sheet with the high level comparisons and some comments on all of these and a few more players: DevOps Players Nov 2016.

Here's the Gartner report too.

Enjoy!