Le Carnet
Pour la gloire de Dieu et le salut du monde.

Ingredients Of A Successful Off-site

Published on .
by Hubert Behaghel

We did it!

On Wednesday, 24th September 2014, 105 of us gathered at the HolidayInn Brentford: mostly avid software engineers from Online but also few from SkyGo, SkyNews, NowTV, SkySports, Find&Watch and SkyStore.

Two themes were the driver for the day: being more joined-up and taking our good ideas to the next level.

We had 8 very inspired speakers, 4 determined workshop facilitators and yours truly. You will find below for each part of the day a summary, the slides when relevant and sometimes a video.

The Keynote

The keynote I gave was rather simple. Why an off-site? Why now?

[Presentation]

I did present a diagram of the whole Online estate. Later in the day, I was asked to make it available, here you go:

The Online Platform

And here is the original file1: Sas-Arch.graffle, and a PDF version for easy A3 printing: Sas-Arch.pdf.

I will keep my most up-to-date version under this link, feel free to refer to it. You are also more than welcome to help me maintain its accuracy.

The Tech Talks

What GateKeeper Can And Could Do For You

GateKeeper is a proxy that aims at addressing all security concerns at once. It also provides a neat client management interface. If you want to safely expose services on the web and you don’t know where to start or simply you just can’t be bothered to deal with SSL certificates, think no more, use GateKeeper. If you have multiple clients and want to monitor them individually or even assign them quotas, again GateKeeper has you covered.

Today, only the Multi-Channel Services (MCS) have adopted GateKeeper. Not really surprising since MCS guys own it. I am convinced it should be more widely in use across Sky Technology.

[Presentation]

Take The BlueBox

BlueBox is a very young initiative but very promising. Lead by the so enthusiastic Antonio2, it is a reply to the generic approach widely embraced by Sky CIS: channel-agnostic service layer. BlueBox is a backend-agnostic channel integration layer. It abstracts over the various of backends Online has to integrate with and exposes semantic endpoints (e.g. /customer/portfolio or /customer/accounts) to let Online systems focus on the business logic and remove all the integration boilerplate.

[Presentation]

Ember: When The Lights Go On

Incredible talk by Aaron Chambers. It is not that much about Ember but rather the journey from not using a framework, to using one in the most informed way. A lot of excellent lessons like “don’t just jump in”, “don’t fight it” and many more. At the end, Aaron shares with us 2 brilliant ideas: a better approach to deployment and a concrete way to do Consumer Driven Contracts. Don’t miss that!

[Presentation]

M25 & Cloud Strategy

The M25 cloud has just been delivered. It is a very exciting time for every engineer at Sky. Julian, one of the tech lead behind this ambitious platform, tells us what it changes and what to expect with it.

My personal wish: that most tech teams at Sky would use it as their default production. There are investments that would be considerably easier to make if we were all to share the same platform. Coming from Amazon, it’s completely obvious to me we are missing big opportunities here. Think monitoring, continuous deployment, operations and site reliability… Or simply to know what else is being built at Sky and either learn from it or work out synergies! Think about it.

TODO: Julian, give me your presentation so that I can put it here!

Open Source Policy

Flash talk where John Fredrickson introduces us to our brand new corporate open source policy. It is massive, Sky is integrating into its DNA the open source culture!

[Presentation]

Avoid Groundhog Day

A very polished presentation by Leon Davis where he walks us through what his team has built to make Ruby a fully supported language to create web applications for Online. The result in his live demo was astonishing: his tools transform weeks of otherwise mandatory effort into literally seconds! Leon does that using his relentless attention to what is business value in our work versus what is liability.

[Presentation]

The Art Of Software Integration

Ambitious title you could say. But Rafa did a great job at exploring this challenge we all face: integrating with other software. He covers the various strategies, the major integration techniques and even the quite often overlooked Gateway Pattern.

I am particularly pleased with this presentation as I feel sometimes we lack imagination in this domain. Usually one team owns some data, makes a service around it and the rest of Sky has to cope with it. Well exposing a generic service is one way but depending on your integration strategy, that is potentially completely irrelevant. So what’s your strategy? Check this out to find out:

[Presentation]

It’s The Metrics Stupid!

This is me desperately trying to have you rethink completely the way you do monitoring. For some odd reason, it seems systematically overlooked and teams start working on it when they are in pain with their production. It is often too late to stand a chance to make it right.

[Presentation]

Performance For HA Digital Platforms

Paul Grave from SkySports was our guest speaker. It is actually on the same topic as mine. Nothing is more compelling than real-life stories and that is what Paul brought us, quite brilliantly I must say. As I say in my talk, I have never been a big fan of those APMs that separate coding and monitoring as two radically different concepts. Monitoring-as-a-configuration seems to be one of the predominant causes that make it an afterthought with most devs. But Paul convinced me that when you’re in debt with your monitoring, the fastest route to be back to better® is by plugging an APM on your production3. That then gives you the breathing space to tailor your approach with a solution closer to your code and your need.

[Presentation]

The Workshops

We had 5 workshops happening in parallel at the beginning of the afternoon. Each had a broad topic and the ambitious goal to make us better at it. I recollect here what they presented on stage at the end of the day.

Cloud Strategy

Julian Osman facilitated this one since it is in direct connection with his talk above. The main highlight from this session is that the developers want a better visibility on how the Cloud is built, how the DevOps team works. The good news is that a new M25 Cloud Community started very recently and has exactly that purpose. If you want to join it, contact Julian or John Fredrickson.

Innovation

George George Richmond came in from his new role as Lead Innovator at Sky News to facilitate a workshop on innovation. George illustrated how the primary focus should be not what you are building, but why you are building it and to focus on outcomes over deliverables. The group recognised that in a world increasingly dominated by technology, the best ideas often come from those who understand it the most, the software engineers. The main barriers to turning an idea into reality were an inability for people to formalise and communicate their ideas. The group recommended that an incubator should be formed, a group in Sky that specialises in helping people use techniques such as business model generation.

Continuous Deployment

We know we all have to achieve on that one. The sooner, the better for Sky as a business. I refuse to believe we have a long journey ahead even though that may well be the case. The major recommendation this group made was to invest on a tool that would enable efficient Customer Data Management for our testing. In the ideal scenario, your tests would be able to describe the profile of the customers they rely on and this tool would magically ensure this profile is in the test database. Something along these lines:

john = Customer
          .hasProduct("Movies")
          .hasProduct("Sports")
          .isInDebt.tenure("> 11 months")

The time we spend setting up those data in our test environments is enormous. And more often than not, given the difficulty of this task, we have stopped doing it and fell back on stubs.

Another idea reported by this group is to have a common Build Radiator View where each team could see the status of their builds. That would open the way to a better build management whereby builds could be interdependent letting us detect very early integration issues.

I will come back on those concerns in a later post.

Team As Cells

My favourite workshop! The idea is to look at teams not only as autonomous entities but also as elements of the same organism. Like biological cells, they have then to expose interfaces that let the external world interact with each of them efficiently. We all know about the Sky Behaviour Collaboration & Teamwork, right? Yet, I bet if I take a random team within Sky Technology or maybe even in your department, you’d have no clue how to engage that team. Do they have a DL (mailing-list)? What systems do they own? Do they have any particular area of expertise? Do they use Spark, or is it Jira, or bare whiteboards and cards? Well, you don’t know. Where it becomes frankly ridiculous is that you have no way to know. Even Lync isn’t a standard. It is not too bad but it is not there yet to pair with a teammate remotely for example. And it doesn’t have the concept of room or channel like the good old IRC. Hence teams sometimes have to find alternatives making the communication between teams even less likely.

A key topic that I’ll cover in a dedicated post soon!

Technical Leadership Principles

Working for Sky, we have 6 behaviours and a motto. But that gives little guidance when it comes to engineering our systems. The point of this workshop was to reflect upon Sky’s way, our way and identify what could be the principles we, engineers from Online, would adopt as ours to strengthen our tech culture. I don’t need to explain why a strong tech culture is key, need I? Without further ado, here is what we got from this session:

Empower Our Customers

Keep Learning & Sharing

Think Big

Act As Strong Owners & Have Bar Raisers

Invent To Make It Better

Tackle Complexity & Consolidate4

Be Committed As One Team

Fail Fast & Celebrate Successes

Something to meditate :-) Will we make a poster of these soon? Us to decide. Another topic I’ll follow upon soon.

Closing Words? Not really.

On stage at the end, Andy Burton told us with a Venn diagram that the people he works best with are those that think big, work hard and have fun. And as it turns out, this day was a lot of fun. It was also to celebrate all the hard work that is being done in Online Sales and Service. And it was a chance to think out of the box, to think big. So I guess we did OK with this off-site.

This one was just the beginning and I am determined to keep the momentum about all it brought to light. I hope you are too.


  1. You will need Omnigraffle to open it. It is only available for Mac OS X. But it is worth the switch. That being said, I can export it to Visio among other formats, if you need. [return]
  2. To measure his enthusiasm, watch the video but there is one thing you won’t find in there. The idea behind BlueBox was in my mind for a couple of months but I did nothing concrete to flesh it out. I had to share it with Antonio and 3 weeks later it was in Production. He worked during nights and weekends to make it happen. Hat tip Antonio! [return]
  3. It’s not always possible as it comes with a price (~7% of CPU utilisation as a rule of thumb), so if you’re in pain and CPU-bound for instance, introducing such a technology will probably do more harm than good. [return]
  4. Like for drinks, we believe best technologies are distilled and matured. [return]