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

Refactoring Silos

Refactoring Silos

The evolution of the legacy system of NFB to respond to the new challenges of the market

Avatar for gcporras

gcporras

March 09, 2015

Other Decks in Technology

Transcript

  1. REFACTORING SILOS ! THE EVOLUTION OF THE LEGACY SYSTEM OF

    NFB TO RESPOND TO THE NEW CHALLENGES OF THE MARKET Gerardo Cepeda Porras @gcepor PPAP 2015 Montreal, Canada
  2. One of the world’s great creative laboratories in production and

    distribution of audiovisual productions NATIONAL FILM BOARD OF CANADA
  3. …and provides new perspectives on Canada and the world from

    Canadian points of view NATIONAL FILM BOARD OF CANADA
  4. NATIONAL FILM BOARD OF CANADA NFB.ca Our online Screening Room.

    Explore the world we live in from a Canadian point of view.
  5. NEW STRATEGY -- Taken from NFB’s strategic plan 2013-2018 -

    Photo: Challenge for Change, documentary NFB
  6. SILOS FLAWS – ORGANIZATIONAL LEVEL •  Lack of common priorities

    between departments •  The focus is on the process and not in the product •  Speed and tolerance to change suffers giving no place to innovation and creativity •  There is no place to feedback since discoveries are treated as planning errors •  Silos of technology rarely collaborate with each other •  Time to market is slow •  It’s hard to identify and eliminate waste •  Yearly planning originating the Death March antipattern
  7. SILOS FLAWS – ARCHITECTURE LEVEL •  Lack of understanding of

    the whole system workflow •  Lack of coordination and planning across a set of systems •  Services are developed from a very narrow point of view resulting in: •  Having an incomplete set of functionalities •  Overlap or partially duplicate other services •  Risk of having monolithic system architectures and undocumented architectures •  It could lead to a big ball of mud (a duck- taped system without a perceivable architecture) - Photo: Runaway by Cordell Barker , animation NFB
  8. SILOS FLAWS – TEAM LEVEL •  Communication is diminished • 

    Collaboration is diminished •  Could lead to silos within the silos (silos of information) •  Promotes command an control attitude in management •  Promotes the hero culture leading soon or later to a blame culture •  Could lead to the “it’s not my code” attitude
  9. SILOS FLAWS – CODE LEVEL •  Could Encourage: •  Bad

    practices (to deliver fast, see hero culture) •  Lead to other antipatterns. Ex: the ”Repeating yourself” anti-pattern because of fear of refactoring someone else’s code •  Discourages: •  Learning/teaching new languages or better code practices between team members •  Trying new things, innovation -  Photo: It came from Outer Space, Universal-International, 1953
  10. REFACTORING SILOS – @ORGANIZATION Change the structure into a dynamic

    and evolving organism (as a neural network) that embrace change and challenges the status quo to create differently by: •  Creating open work spaces •  Giving voice to diversity •  Creating cross-functional teams across the organization •  Investing in resources and training to improve collaborative working •  Leading people to embrace continuous change and improvement •  Refocusing on people as our most valuable asset -  Photo: From Neurons to Nirvana, Mangusta productionsl, 2013
  11. REFACTORING SILOS – @ARCHITECTURE •  Describing the actual workflows of

    the whole system •  Mapping and documenting the actual architecture and applying refactoring into design patterns •  Defining interoperability conventions •  Taking architectural design decisions working in cross-functional teams. Ex: finances, development, operations •  Developing new services in a Service Oriented Architecture (when needed) -  Photo: NFB new home at Quartier des spectacles, Downtown Montreal 2017 Architect: Provencher Roy
  12. REFACTORING SILOS – @TEAM •  Stop giving people things to

    do •  Stop tracking assignment (standups) •  Reduce work in progress limit (help others) •  Deliver progressively in iterations (1 week cycle) •  Introspect on what can be done better •  Celebrate collective accomplishments •  Build trust •  Empower the team •  Use of timeboxed prototyping and measuring when team members disagree on a solution (avoiding design by committee) - http://mytribe.nfb.ca/ Interactive production NFB
  13. REFACTORING SILOS – @CODE -  http://codebarre.tv/en/#/en Interactive production NFB, arte

    •  Doing micro design sessions •  Encourage pairing •  Use extensively code reviews •  Promoting Test Driven Development •  Promoting the application of good practices between members •  Automation. Ex: environments (dev, test), running test suites (when merging), deployment •  Refactoring •  Promote creation of groups of interest and continuous learning
  14. FINAL THOUGHTS •  The silo antipattern harms organizations in all

    levels •  At NFB we are making the right changes to bring the organization into a more organic and dynamic structure and to respond to the new challenges we are facing •  Change is more difficult than we may think and it takes time and empathy •  If you want to change the status quo: •  Tell a story •  Know who you are upsetting •  Know with whom are you connecting •  Know who are you leading - Photo: Future for Fighters, documentary NFB
  15. ADDITIONAL RESOURCES •  Strategic Plan NFB 2013-2018 http://bit.ly/1AtIl22 •  Knocking

    Down Silos: Transitioning the Enterprise to Agile http://bit.ly/1E81Pkg •  Agile and the seven sins of project management http://bit.ly/1vQo77b •  The Lean UX anti-pattern: Cross-functional silos http://bit.ly/1EDZyML •  Task assignment is a team antipattern http://bit.ly/18CNY8B •  Software architecture antipatterns http://bit.ly/1CfXnPN •  SOA anti-patterns revisited http://bit.ly/1Bvqai8 •  What team structure is right for devops to flourish http://bit.ly/17Jeqwh