Scrums, Shims and Uncommitted Chickens

It was bound to happen: Cloud-speak intersecting with cable-speak, including this one: The “Web services shim,” which also goes by “compatibility shim,” and just plain “shim.”

In the physical world, shims are wedge-like things used to fill a gap, usually so that something fits more snugly. The book of matches shoved under the wobbly table leg. The wad of cardboard to temporarily secure the window sash. The tapered shingle to shore up the door jamb.

Guess what: “shims” happen in software, too, and for similar reasons. When you hear it (because you will), it’s likely that you’re in a conversation about bridging something existing to something new. That’s happening pretty much everywhere right now, so as the industry continues its steady transition to all things Internet protocol (IP), get ready to bump into “shim” more often.

Here’s an example from a recent batch of Cable Show 2013 notes. The topic, during the annual chief technology officer panel, was how operators think through what types of things (encoding, buffering, navigation) go in the cloud, versus the gateway.

Here’s how Comcast chief technology officer Tony Werner explained it: “Compatibility shims sit between the IP devices in the home — whether tablets or other devices — and our legacy systems, which weren’t compatible. As you start to have content and transport that’s 100% IP, you don’t need Web service shims. But it’s part of that gradual migration.”

Think about it from consumer Jane’s perspective. There she is, watching TV. On her tablet (or smartphone, or connected TV, or game console — but not the TV remote), she decides to set up a series recording for the new season of Breaking Bad.

In a full-on, built-out, post-shim cloud, that action would flow directly into purpose-built servers — a DVR scheduler, an availability server or a lookup table to handle any blackout conditions. Another server would determine whether Jane is authenticated to get the show, and whether any parentalcontrol settings need to be applied.

In these relatively early days of putting linear and on-demand video into the cloud, though, the work of it involves — you guessed it — shims. Ways to link what Jane’s initiating, from a screen not connected via a set-top box, to the DVR inside the set-top box.

As software-speak goes, the “shim” is luxuriously tactile. Then there’s the language of “agile” computing, which is also permeating the cable technology scene. In general, “agile” is about doing more things in parallel, rather than waiting to proceed until everything is 100% ready.

Here are a few examples of agile lingo: The scrum. The stand-up scrum. (Including this beauty of a line from a recent email: “Hey — I’m in stand-up scrums for the next half hour. Can I give you a call?”)

Perhaps not surprisingly, “scrum,” in software terms, doesn’t involve globs of sturdy people wrangling for the rugby ball. More, it’s about organizing people and work into short “sprints” of activity, to develop code in short, small chunks, rather than building one big monolithic blob of code that takes forever to build, test and “drop” into the system.

Here’s how Cablevision Systems chief technology officer Yvette Kanouff put it: “In general, the move to agile means putting out bite-sized releases, as opposed to the one big release.”

More reasons to appreciate the language of “agile”: Within scrums exist “pigs” and “chickens.” Pigs do the actual work; chickens can observe the pigs for informational reasons but can’t join in. Or, as one clever software- side person related last week: “Using a breakfast analogy, the chicken is involved — but the pig is committed.”

Stumped by gibberish? Visit Leslie Ellis