Why continuous delivery needs devops, and why devops needs infrastructure-as-code

Update 02-Apr-13
Just came across this detailed relevant talk by Reinertsen - the author I reference for silo reduction and batch size reduction.


http://www.infoq.com/presentations/lean-product-dev
===============================================



Update 26-Oct-12

Slides, with notes
=========================

I'll present on this topic on 25th October 2012 as part of a ThoughtWorks Studios webinar series on continuous delivery. Please register from the webinar page.

Abstract
Continuous delivery and devops have gone mainstream, at least in terms of mindshare. As a result, a lot of vendors have jumped onto the bandwagon. Most products that have anything to do with deployment now try to associate themselves with devops and continuous delivery. In this webinar, Sriram will try to clear the air in a product independent manner. He will also cover common devops anti-patterns and explain the idea of infrastructure as code.

The economics of aesthetics


Many will argue that it is just plain wrong to subject aesthetics to cost and benefit, at least until a certain threshold. Someone said, “An economist is someone who knows the price of everything and the value of nothing.”

But this is the reality of business. A product or service can be made just useful or it can be made useful and beautiful. As consumers, we frequently choose from varying degrees of form and function. However, things get more interesting in a B2B situation.

Clients agree to foot the bill for aesthetics to the extent it promises to help their topline. Funds are made available for aesthetics on a public facing website. The belt is tightened for an internal facing application. Vendors use the same logic. They spend money to make sure that their presentations are not only substantial but also aesthetic enough to impress clients.

What about the people who write code? They also have a sense of aesthetics. Their bosses don’t grudge them the inexpensive effects – standard tools that can ensure uniform indentation, nice fonts and syntax highlighting. But higher order aesthetics are a different matter altogether.

I mean lucid, performant code, fluent interfaces, pithy names, succinct tests and coherent classes residing in cohesive modules loosely coupled with their neighbours.

“Don’t just call these aesthetics”, I hear the indignant coders say.

“They confer vitality, suppleness, and longevity to the codebase.”

There is truth and perhaps some irony to this claim. Unfortunately, even the truth is appreciated largely only by the coding intelligentsia. As a result, efforts to secure these higher order aesthetics go unchallenged only as long as the development team stays on track for budget and schedule. As Stewart Brand said, form follows funding.

But estimates being estimates and competitive bids being competitive bids, there is many a slip between the cup and the lip. Screws get tightened,

“Enough gold plating already.”

Some will contend that effective visualization of internal software quality will bring about the necessary loosening of purse strings. Well, only occasionally. For one, a common (and sometimes legitimate) reaction is,

“Why did you incur technical debt in the first place? That’s not why I hired expensive consultants like you.”

But first, there is the question what makes for effective visualization. Should we show a tangled ball of wool versus a neatly wound ball in order to contrast the current cyclomatic complexity with desired state? Should we progressively untangle the ball in progress reports? Is it not enough to state in text that the industry standard is about 20 per 100 hundred lines of code and that we are currently at 45?

Should we depict a slummy urban sprawl for a monolithic codebase and gradually introduce suburbia with zoning as we modularize? Is it not enough to show a dependency structure matrix?

How accessible does a visual need to be before a non-technical/post-technical decision maker gets it? One kind of visual targets the recipient’s analytical faculty. Another kind targets their aesthetic faculty. Aesthetics are in vogue among consumer devices. I suspect this has spilt over to the kind of visuals favoured by IT decision makers.

They very people who scrutinize spend on aesthetics through the lens of the topline lean towards aesthetics when they ask their sub-ordinates and vendors to send them reports and presentations.

tl;dr and visualization abuse

A picture (visual) is worth a thousand words when it is a photograph of the real world. Even in this case, an accompanying narrative can provide valuable context. It is sloppy to try to make sense of something without its context. When the picture (visual) in question is a mere illustration or graphic, the accompanying narrative becomes even more important. And yet, I see a trend of trying to make sense of the visual without providing, asking for or reading the narrative:
  •  Archiving presentation slide decks in document repositories without a supporting narrative.
  • Demanding all sorts of reports in the form of presentations rather than the more traditional form of a document. Tradition makes sense sometimes.  
  • Graphing all manner of metrics without any narrative that provides a context for the measurements.
 Well argued supporting narratives are passé. I suspect this is an example of the Shallows effect. It has become fashionable to say tl;dr. Instead of introspecting if I have lost the ability to focus, I lull myself into believing that I have just run into a wall of text - a newly minted pejorative for what used to be known more honourably until recent times as a page of text. As a result, content creators fear that if their text is any longer than a tweet, it won’t be read. They have to make it interesting with visual effects.

Instead of admitting my newly gained inability to parse a carefully constructed paragraph or argument full of nuances, I smugly proclaim myself a visual thinker. This is not to say visual thinkers don’t exist, just that the rate at which they seem to be proliferating is a little suspicious.

One kind of visual targets the recipient’s analytical faculty. Another kind targets their aesthetic faculty. Aesthetics are in vogue among consumer devices. I suspect this has spilt over to the kind of visuals favoured by us. So we encounter graphs where a table would do, a 3-D visual where 2-D would do and only a visual where a paragraph is called for. The visual is no longer just a means to tap into the pattern recognizing, parallel processing prowess of the analytical brain, rather it is meant to catch the eye and increasingly, only the latter.