Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Starting an Ops Team

Starting an Ops Team

The United Nations Office for the Coordination of Humanitarian Affairs (OCHA) supports humanitarian efforts around the world. In 2014, UN OCHA made the bold move to start bringing its public-facing websites into a single infrastructure. Two years into the process, the teams are now truly working as an integrated team on a shared platform. Emma Jane Hogbin Westby explains how UN OCHA turned those lessons inward to coordinate its shared-services platform and offers an overview of the types of work that the Office for the Coordination of Humanitarian Affairs supports and the digital platform that the services are delivered from.

Topics include:

- Matching your infrastructure setup to the capacity of your team
- Building a globally distributed, inclusive team
- How to start a community of practice

Emma Jane Hogbin Westby

October 20, 2016
Tweet

More Decks by Emma Jane Hogbin Westby

Other Decks in Technology

Transcript

  1. Agenda 0. Origin story Lessons Learned 1. Building inclusive teams

    2. Starting a community of practice 3. Growing your tech with your team
  2. Pre 2014 Fast-moving, disparate teams. Duplicate costs for hosting. No

    infrastructure support for: - very large (high traffic) sites;
 - for small sites. Origin Story
  3. Circa 2014 All web properties consolidated into a single infrastructure.

    Opted to use a managed hosting company already in use by OCHA with containers running on racked hardware. Origin Story
  4. Circa 2014 All web properties consolidated into a single infrastructure.

    Opted to use a managed hosting company already in use by OCHA with containers running on racked hardware. Origin Story we’ll come back to this later
  5. Transition Ops support was handled by - managed hosting staff


    - third-party ops consulting company with the intention of bringing this support in-house 
 “at some point”. Origin Story
  6. Genesis of the Ops Team (2014) OCHA Ops Team 0.5

    FTE ops
 from one of the existing dev teams 1 FTE coordination / project management
 front end developer turned dev team project manager turned ops maven (that's me). 
 Phase2 Ops Team 0.2 FTE ops
 consulting firm 0.1 FTE coordination / project management
 experienced ops PM BlackMesh Ops Team as-needed ops support
 managed hosting company 0.1 FTE coordination / project management
 experienced ops PM Origin Story FTE = Full Time Equivalent
  7. Genesis of the Ops Team (March 2016) OCHA Ops Team

    0.5 FTE ops
 from one of the existing dev teams 1 FTE coordination / project management
 front end developer turned dev team project manager turned ops maven (that's me). 
 Phase2 Ops Team 0.2 FTE ops
 consulting firm 0.1 FTE coordination / project management
 experienced ops PM BlackMesh Ops Team as-needed ops support
 managed hosting company 0.1 FTE coordination / project management
 experienced ops PM Origin Story That’s us! FTE = Full Time Equivalent
  8. Genesis of the Ops Team (June 2016) OCHA Ops Team

    0.5 FTE ops
 from one of the existing dev teams 0.5 FTE ops
 specialist Drupal ops in Australia 1 FTE coordination / project management
 front end developer turned dev team project manager turned ops maven (that's me). Phase2 Ops Team 0.2 FTE ops
 consulting firm 0.1 FTE coordination / project management
 experienced ops PM BlackMesh Ops Team as-needed ops support
 managed hosting company 0.1 FTE coordination / project management
 experienced ops PM Origin Story That’s us now!
  9. No matter your rank or role you are the start

    of an inclusive team. community of practice team self
  10. Knowing my values significantly reduced my option paralysis Set boundaries:

    When devs have root access to a shared service what’s “allowed”; developing an on-call schedule Define roles: according to the capacity of each team, what’s “ops” and what’s “dev”? Collaborate on special projects: ops pair with developers on configuration improvements no dev wanted to be part of the on-call roster
  11. Lesson 1: I thought I was being consistent, but as

    I grew,
 I began valuing different attributes and skills.
  12. Lesson 2: The skills I nurtured on my team three

    months ago are not necessarily the skills I need today.
  13. Question: What action(s) can you take to ensure you have

    a diverse team who will help your team grow as the situation changes.
  14. define: community of practice A community of practice is a

    group of people who share a concern or a passion for something they do, and learn how to do it better as they interact regularly. This definition reflects the fundamentally social nature of human learning. It is very broad. http://wenger-trayner.com/resources/what-is-a-community-of-practice/
  15. Establishing Communication Channels (biweekly) Community of Practice calls Flowdock discussion

    / chat channels Documentation on how to report an ops problem Weekly newsletter Incident reports Performance investigations Communities of Practice
  16. Growing the practice The practice:
 their interactions produce resources that

    affect their practice (whether they engage in actual practice together or separately) http://wenger-trayner.com/resources/what-is-a-community-of-practice/
  17. Resources Produced by the Community Tools Flowdock discussion / chat

    channels “Brown bag” calls Shared documentation Process Established procedures on how to work with ops (e.g., reporting an incident) Artefacts Weekly newsletter Incident reports Infra / app performance investigations Communities of Practice
  18. Timeline Consolidation Understanding Building Trust Disparate teams Origin Story <

    2014 2014 - 2015 2016 All of the communication tools I was using to improve shared understanding
 helped to make our team more consistent and we began to establish trust.
  19. Understanding what we had inherited CentOS 6 + Docker 1.6

    + GlusterFS 3 + Insufficient RAM Sadness 1.0 Growing your tech
  20. Understanding what we had inherited CentOS 6 + Docker 1.6

    + GlusterFS 3 + Insufficient RAM Sadness 1.0 Growing your tech on three peers
  21. Interlude You get better at the thing you practice. I’m

    much better at “incidents” than I would like to be.
  22. Question: How will you establish the trust within your team,

    and community of practice, to be able to iterate and improve your infrastructure?
  23. Summary 0. Response to humanitarian crisis is publicly documented, and

    ever-evolving. 1. If you don’t know where to start in building an inclusive team,
 start by defining your values. 2. A strong, inclusive community of practice doesn't happen on its own. Transparency and trust are essential. 3. Your infrastructure is used to deploy applications;
 without the trust of the developers, you cannot iterate and improve.
  24. I’m hiring! If you are, or know, an API developer

    who would be interested in working on an amazing (distributed) team. Please reach out!