Organizing the Global DevOps Bootcamp 2018

This year, on June 16th, 2018, we (Marcel de Vries (Xpirit), Mathias Olausson(Solidify) and me(Xpirit)) organized the second Global DevOps Bootcamp. I did a blogpost on Global DevOps Bootcamp 2017 earlier. This year we wanted to do it again and of course we aimed to make it a bit bigger. In 2017 we had 30 venues over the world joining the event with 1500 people in total. Because we got great feedback when the event was over we expected some growth in these numbers, but things we even bigger than we expected.

gdbcfoamIt all started with a theme. We chose “From once a month to multiple times a day”. Improving the release cadence of your application.

To make sure we got it right, we took all our learnings of last year, and improve this year’s event. As the guy who acted as “the man in the middle” I took part in all efforts that were going on. In this post I want to give you some insights what this “organization” beholds and share my learnings. What went well this year, what went not so well and what can we improve if we decide to organize another edition.

So, what did we do this edition in terms of organization

  • Asking sponsorship by Microsoft for Azure to run Virtual Machines on
  • Asking sponsorship to create 3000 VM’s and roll them out during Event Day
  • Getting 8000 Basic user licenses and 3000 Private pipelines in VSTS
  • Arranging that Buck Hodges could do a recorded keynote
  • Arranging the channel 9 studio where Buck could record the keynote
  • Recording tweet blurbs and the intro for the Global DevOps Bootcamp 2018
  • Bring 100+ sweaters to Seattle to have all (ort at least a lot) organizers have something to wear during the day on the theme. “From once a month to multiple times a day”
  • Creating a full-fledged brand guide with social banners, logo’s, stickers etc., that people can use to create their own branding
  • Create a full storyline with 55 achievements and 43 step by step guides for people to work on during the day
  • Organizing 2 calls (4 because of the time zone) where we explain the concepts
  • Setting up an Azure and VSTS architecture that can support 76 venues
  • Creating a local keynote presentation and instruction video so that local organizers can redeliver the presentation
  • Creating and automating a scoreboard application
  • Generating 1000+ VSTS Team projects with security, repositories, users and webhooks to update the scoreboard
  • Arranging sponsored lunches for all venues
  • Arranging Azure Passes for all participants
  • Getting Sponsored swag sent out to all venues
  • Creating automation to create work items from our repos where we created everything in Markdown
  • Create all Eventbrite sites and manage them with the local organizers
  • All communication around this.

buck

Gather all data upfront

In the 2017 edition, we started with a small group of organizers. I invited them in email and created Eventbrite pages. Then we got lunches sponsored by Microsoft. Therefore, I needed addresses, another mail to get that and another excel to register that. Then we wanted to sent swag. Same story. Then we wanted to use Slack. etc. All that information was hard to get when you are in the middle of it. This resulted in an enormous amount of email and a lot of manual typing to get everything structured.

This year I created a Google Form where I asked people to join the Global DevOps Bootcamp. When they showed interest by filling in the form (only 5 fields), I sent them an email where I tell them a bit more about what we expect from them. And, I sent another (big!) form where I ask them for all the data. Swag address, primary contact data, secondary contact data, interest in lunch etc. This helped me a lot in chasing people for data

Learning: Even though it was a big improvement, I still had a lot of administration. Especially when things changed, tickets were increased, addresses changed etc. I think a Self-Service portal where people are responsible for updating their own data, is eventually the only way to go. From this place you can generate all lists that are requested by others

Do not use email

As described in the previous paragraph, my mailbox was flooded last year with questions, requests etc. Biggest problem with that, is that I was answering the same questions repeatedly and it was very hard to keep track of what has been communicated. Second problem was that an email has a to recipient. And that one is usually the only one that answers. In my case that was me. Last year we had 30 venues and this year we expected more. There were 76 venues in the end and luckily, we changed the way we communicated. In the first email after registration, I asked (demanded) that people join our Slack channel. From that moment on, all communication was done in Slack. Not in email. It worked very well, and people started answering questions.

Learning: Even when using Slack, it is hard to keep track of conversations People reply on everything in every channel. Eventually I decided to create a channel where I just plainly deleted all replies so that it stayed clean. That helped. Next time I will try to have something that people can be Read-only, so that there is one place that stays nice and clean

Centralize information

In the previous edition, we send out documents, pdf’s, git repo links, backlogs, drop box folders etc. and it was virtually impossible to keep track of latest version. This year I created one drop box folder with all stuff that must be shared. About 3 weeks before the event I created a PDF called the Global DevOps Handbook that contained all information in one place. Where things could be found, how the day should go, how the scoreboard worked, links to tweet wall etc. This worked well, and people followed it by the letter

Learning: Instead of sending out drop box links to separate documents, a link to 1 drop box folder (or OneDrive) that just has the latest version is probably better. A PDF for the handbook…Maybe next time I create a Wiki that is always the latest version and easily updateable by others as well

Automate everything

Last year we had dome automation in place, but a lot of things were done manually. This year, with so many people and venues this was nit an option. We automated everything. From Eventbrite registration, to creation of VSTS projects, setting security, setting up webhooks and crating work items from markdown files. This all worked very well

Learning: A lot of automation was still triggered manually. Running on A PC (mine). That should be upped one level. By creating pipelines for everything we can roll out a lot of stuff unattended and have a full setup right from the start

Involve early, act late

Last year, we were late in sharing everything with our venues. This year we started sharing earlier hoping for tons of feedback. We could have shared more, but we were very busy until the need with completion, but feedback always comes late. Because we automated a lot of things we were able to process a lot of feedback and that made things a lot better.

Learning: By automating from the start. Generating all content from the moment it is checked in, we can earlier give the “real” experience and we can earlier expect “real” feedback

Summary

Looking back at the day itself, we van conclude it was an enormous success. We had over 2 million impressions on twitter and the reactions from people and organizers were overwhelming. It was great, and it was a true honor to be able to organize this event. The support of Xpirit and Solidify, colleagues, community, organizers, but also from Microsoft was tremendous. I want to thank all the people who joined and the people who organized or making this a great edition. Let’s see what we can do next!

Links to great resources around the event

Thanks:

One Response to “Organizing the Global DevOps Bootcamp 2018”

  1. Thanks for everything it was a great event
    We are hoping for a third one next year 😉
    From Quebec City, thanks again

%d bloggers like this: