Shims, Scrums, Pigs & Chickens
It was bound to happen: Cloud-speak intersecting with the cable-speak. Including this one: The “web services shim,” which also goes by “compatibility shim,” and just plain “shim.”
Shims, in the physical world, 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 doorjamb.
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. And because that’s happening pretty much everywhere right now, 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 CTO panel, was how operators think through what types of things (encoding, buffering, navigation) go in the cloud, vs. the gateway.
Here’s how Comcast CTO 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 a Consumer Jane 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. A lookup table, to handle any blackout conditions. Another server determines whether Jane is authenticated to get the show, and whether any parental control settings need to be applied.
But in these relatively early days of putting linear and on-demand video into the cloud, 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’s 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 after?”)
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 CTO 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.”
This column originally appeared in the Platforms section of Multichannel News.