SlideShare a Scribd company logo
Thinking Distributed to
    Improve Agility

Jamie Allsop | www.agile-trac.org
Setting the Scene...
• Developing in C++ for over 15 years
• Running teams for a large portion of that
  – from multi-million dollar market data
    products in Stock Exchanges to specialised
    DSP systems with global branding
• Distributed Agile teams for over 7 years
  – First experience of real Agility
• Later worked in co-located settings and
  struggled with agility
Setting the Scene...
• Developing in C++ for over 15 years
• Running teams for a large portion of that
  – from multi-million dollar market data
    products in Stock Exchanges to specialised
    DSP systems with global branding
• Distributed Agile teamsiis Why??7 years
                              for over ?
                                    hy?
                         iion s W
                     es t on
                   ueoftreal Agility
   – First experience s
              he Q u
            T he Q
             T
• Later worked in co-located settings and
  struggled with agility
Challenges Faced by
             Distributed Teams
• Communication burden is almost overbearing
• Clear communication is compounded by cultural and language
  differences
• Difficult to build trust among team members
• Hard to share and maintain tacit knowledge
• Synchronisation is often problematic
• Ensuring fair and accessible participation to all team members
• Maintaining a shared vision across all members often a challenge
• Providing visibility into progress for stakeholders both inside and
  outside of the organisation
• Creating and sustaining a team identity, both within the team and
  throughout the organisation
Challenges of Distributed
    Teams not Insurmountable
• Over time these can be overcome
• Spoke about successful distributed agile
  teams at Agile 2008
• In fact Agile 2008 had a whole track on
  Distributed Agile
• However the three main takeaways were:
  – Co-location
  – Frequent face-to-face meetings
  – Always have a co-located kick-off
Clearly Co-location is just
         so much simpler?
• What challenges are faced by co-located
  teams?
• ...
• In 2007 I started working with co-located
  teams
• In reality I found it harder to transition to
  agile and harder to be as agile
• Over time I started to see some issues but
  had difficulty identifying them
Characteristics of Distributed and
       Co-located teams
• Communication          • Rich and diverse
  burden                   methods of
  overwhelming             communication
• Sometimes large        • Often cultural
  cultural differences     similarities
• Local Offices have     • Office shares
  differing values         common values
• Feedback slower        • Feedback is often
  and constrained          rich and immediate
Why would it be harder transitioning
    a co-located team to Agile?
• We need to look at organisational structure...
• Many books talk about organisational structure
  and communication
• In 2005 Coplien and Harrison published,
  “Organizational Patterns of Agile Software
  Development”
• Directly relevant to our domain based on many
  years of study of real software organisations
Organizational Patterns
• Collates observed
  organizational patterns from the
  software industry
• Introduces organisational
  pattern languages
• Relates to culture, process,
  structure and values
• Case Studies of real companies
Four Organisational
            Pattern Languages
• Project Management
  – Organisational aspects of managing projects
• Piecemeal Growth
  – How an organisation grows and develops over time
• Organisational Style
  – The general approach to the way the organisation works
• People and Code
  – The ways in which people affect code and vice-versa
• Different views of the same organisation
• Helps understand the structure of an organisation
Key Point
     Process, Structure, Values
• Process ← Structure ← Values
• Values are inherent in the individuals that
  comprise the organisation
   – Values are observed
   – Not the same as the values an organisation
     professes to have!
• Changing Process alone has minimal effect
   – You must change Structure
   – What about Values?
Changing Structure in
        Co-Located Setting
• Can be hard
  – Local values and structure predominate
• Tolerance for failure is much higher in
  the Co-Located setting
  – Not apparent that change is needed
  – Impact of change hard to understand
  – Multiple communication and feedback
    channels can create noise
Contrast with a
          Distributed Setting
• Values of the team are typically more varied
• Team is like a virtual sub-organisation
  – Foundational values aligned with members
  – Interfaces with wider organisation discovered
• Changing structure to support new process
  can be more flexible
  – The team already has looser alignment with
    the predominant local values
  – Team already forced to cope with differences
Contrast with a
          Distributed Setting
• Values of the team are typically more varied
• Team is like a virtual sub-organisation
  – Foundational values aligned with members
  – Possiiblly a wider organisation discovered
    Poss b y with
    Interfaces
              a better
                better st
                         starti ng process
                           art new
• Changing structure to supporting poi
                                   point?
                                       nt?
  can be more flexible
  – The team already has looser alignment with
    the predominant local values
  – Team already forced to cope with differences
Key Point
          The Ability to Learn
• Single-loop
  – Changing the How but not the Why
  – Doing the same thing better
• Double-loop
  – Focus on Why: Insightful Learning
  – Increase Knowledge and Understanding
• Triple-loop
  – Understand the organisation's identity
  – Learn how to evolve the organisation
Being forced to learn better
• In a Co-Located setting it is easy to be reactive
  and see some improvement
  – Also easier not to fail
  – Tends to promote single-loop learning
• In the Distributed setting being reactive is not
  enough
  – Must be proactive about addressing issues
  – Failure comes quicker
  – Deeper understanding required
  – Promotes second-loop learning
Being forced to learn better
• In a Co-Located setting it is easy to be reactive
  and see some improvement
  – Also easier not to fail
  – Tends to promote single-loop learning ams
                                  ed Te ams
                                      Te
                          triibut ed
                         s but ter
                      Diis tr being reactive is not
• In thessentiialllly setting
         Distributed D
            ent a y Learn fas ter
       E ss
       E
  enough Learn to Le        a r n fa s
             Le a r n to
  – Must be proactive about addressing issues
  – Failure comes quicker
  – Deeper understanding required
  – Promotes second-loop learning
Key Point
Organisational Patterns & Culture
• Each of the systemic patterns presented are part
  of a pattern language, the bigger picture
• It is this bigger picture and the interactions of
  individual patterns that constitutes the
  organisation's culture
• Difficulty changing structure makes it hard to
  evolve culture
• If you are in a culture it is hard to see the culture
• Makes it easy to miss important cultural roots of
  failures, again and again
Promoting Culture
               Good or Bad?
• In the Co-Located setting a strong culture can in fact
  be a barrier to improvement
   – Hiring to reinforce a perceived good culture can be
     counter-productive
   – Often see mistakes repeated
   – But it is hard to know any better
• In the distributed setting we are more likely to accept
  differences and perhaps benefit from them
   – The team culture is likely evolving based on team
     composition
Promoting Culture
               Good or Bad?
• In the Co-Located setting a strong culture can in fact
  be a barrier to improvement
   – Hiring to reinforce a perceived good culture can be
            Culltural I
             Cu tural Inf
     counter-productive
                            nfllue n
   – Often see mistakes repeated nce
                                ue
                 d uto ed ove betterces are
                       t know anyr di s are
                 diilluted o
   –   But it is hard         ver distanc
                                     stance
                                          e
• In the distributed setting we are more likely to accept
  differences and perhaps benefit from them
   – The team culture is likely evolving based on team
     composition
Sounds like
       Coupling and Interfaces
• Organisations and their teams are like systems
  and components
• The Co-located team is tightly coupled
  – Both Internally and Externally
  – Through many fat interfaces
• The Distributed team, by necessity is loosely
  coupled
  – Both Internally and Externally
  – Through thinner, better defined interfaces
  – To succeed these interfaces must be understood
Sounds like
       Coupling and Interfaces
• Organisations and their teams are like systems
  and components
• The Co-located team is tightly coupled
                                              e
  – Both Internally and Externally outsiide th e
                                     ts de th
                           taken ou utiion
                      binterfacesn triib ut on
                   t be take s r b
  – Through many t e
         ps mus fat
              mus
    SDistributed ope wby h diist is loosely
    Ste ps
      te
•           to cop e wiit h d
  The rm to c team, t necessity
     no r m
      no
  coupled
  – Both Internally and Externally
  – Through thinner, better defined interfaces
  – To succeed these interfaces must be understood
Sounds like
        Coupling and Interfaces
• Organisations and their teams are like systems
  and components
        In
• The Co-located team is tightly coupled
        I   n t ha t c o
              that co Externally
   – Both Internally and ntext outsiide th e
         to Agil be ttaxt nranss d n
                          n e ket out          e the
          to Agile be t akenransit tio n
                    t iisinterfacest istr iibiu niing
        eps mus t awiitah onatr tio t o g
   – Through manye s a r
     St ep  s mus fat         retas dnsb bu n n
                               e hso i a      o
       t
                to cop
• The orm to c team,      e by d blle step
     SDistributed ope w necessity is loosely
                                           e step
       n orm
       n
  coupled
  – Both Internally and Externally
  – Through thinner, better defined interfaces
  – To succeed these interfaces must be understood
Why might agility be harder
     in a Co-Located team?
• We need to understand a little bit more about
  how groups work together to make good
  decisions
• In 2004 Surowiecki published, “The Wisdom
  of Crowds”
• Not a book about software development
  – about how groups of people make decisions
  – and whether those decisions are good ones
• Surowiecki gave the Keynote at Agile 2008
The Wisdom of Crowds
• “Why the many are smarter than
  the few”
• Premise: How a group (crowd) of
  people can, under certain
  conditions, reach a smarter
  decision than the smartest person
  in the group
• Consider the weight of an Ox...
• LOC in Visual Studio...
• What about dumb crowds?
Key Point
 The Elements of a Wise Crowd
• Diversity of Opinion
  – People bring different information
• Independence of Opinion
  – Most weight and trust given to own information
• Decentralisation of Knowledge
  – No-one dictates the expected outcome
• Meaningful Aggregation
  – So that a collective verdict can be reached
Factors which make good
       group decisions hard
• All people have the same information and
  experience
• Centralised control over information flow
• Inability to pull needed information from
  information sources
• Imitation and information cascades
• Emotional reactions to outside pressures
  can result in herding
Factors which make good
       group decisions hard
• All people have the same information and
  experience
• Centralised control over information flow
             Co-llocate
             Co- ocated
               pull      d t information
• Inability to at neededteams are from
                             eams are
               at a diisadva
                   a d sadvant
  information sources          ntage
                                 age
• Imitation and information cascades
• Emotional reactions to outside pressures
  can result in herding
Some Implications...
• The best decisions are achieved
  through competition and disagreement
  – Groups of similar people find it easier to
    make poor decisions
• In an agile environment we value
  shared vision and tacit knowledge
  – Sometimes difficult to have a collective
    view while maintaining independence
Co-located Teams can Struggle
• Shared values and structure result in self-
  reinforcing behaviour
  – The 'collective wisdom' is often not wise
• Issues are difficult to see
• Peer pressure a real problem
• Lack of Diversity in the team
  – Easy to have ineffectual and inefficient
    communication
• Easier to iterate without learning
  – Practice makes permanent, not perfect
Distributed Teams can do better
• Varied Values and Structure force looser coupling
• By definition the distributed team is outside the norm
• Greater team diversity offers the chance for greater
  independence
• Defined interfaces minimise noise and highlight
  failures faster
• Being reactive is not enough, understanding why
  things happen is required
• Diversity is inherent in the team
Key Point
     Benefits of a Wise Crowd
• Speed of Collaborative Discovery
  – Under the right circumstances it is possible
    to reach better answers much faster
• Effective Coordination
  – Self-organising coordination can be optimal,
    out-performing deliberate attempts
• Cooperation through choice
  – Potential for much more productive
    relationships
Key Point
      Benefits of a Wise Crowd
• Speed of Collaborative Discovery
  – Under the right circumstances it is possible
    to reach better answers muchofasteriiall
                                  tent a
                                     e nt
                              e are p ot ams
                            r e are p
                  lliike the r ib ted Te
               s ke the r bu
• EffectivekCoordination uted Te ams
    It lloo ks to Diist ri
     It o o           s to D st
       va n t a g e s
    ad vantage deliberate attempts
  – Self-organising coordination can be optimal,
    ad
    out-performing
• Cooperation through choice
  – Potential for much more productive
    relationships
Learn to see beyond simple
     processes and practices
• Not saying that the solution to problematic
  co-located teams is a distributed team
• However we can learn valuable lessons
  from the distributed setting that can be
  usefully applied
• Encouraging characteristics of distributed
  teams in the co-located setting can really
  help
Case Study – Setting the scene
• MDD – The NYSE's replacement Market Data Distribution
  System
   – Vastly over budget, over 6 months late
   – Co-located team engulfed in a strong local culture
   – Conventional wisdom was they needed to do more of the same,
     only better and faster
   – Quality was unclear, regressions a constant problem
• Drew a line in the sand and started over with a changed team
   – Introduced 3 developers working remotely in the US
   – Varying experiences and backgrounds
   – Encouraged working from home, moved to a more distributed
     model
How did things change?
• We started to see problems with how we were doing
  development right away
   – Our discipline was poor but we couldn't get away with that with the
     distributed team – we had to improve
   – The new team members were able to see problems the existing
     team had overlooked, or simply tolerated
• The whole team was brought together to re-architect the product
• More effort was put into communication, both how we
  communicated and when
   – Daily stand-ups became a true heartbeat, not an irritation
   – Changing code co-pilots fostered closer relationships and also
     loosened the culture grip
   – Changes to improve intra-team visibility encouraged better code
     management practices
What was the result?
• The first phase 2 release was produced after only a
  couple of months
  – Despite a complete re-architecture
• The first release of the newer Phase 2 system went
  into production over two years ago
  – Since then there has been only one production
    incident attributable to a bug in the system
  – It has the has the best reliability record of any market
    data system in the NYSE
  – It currently far exceeds initial performance
    expectations
What was the result?
• The first phase 2 release was produced after only a
  couple of months
        The
        T    he Diistriibuted
    – Despite a complete re-architecture
                 D str buted te
•   Theuse release of the neweream,, makiing went
         use of diiversit
         first o                   t Phasemak n
                                       am 2 system
                 f d over sityyears ago
                       ver twoy and kno            g
    into production
            out-perform           and knowlledge
                                             w edge
            out-performed only one production
                               ed the oriigiinal
     – Since then there has beenthe o
       incident attributable a a bug in ther g nal
                   Co-lloc toted
                    Co- ocated tea system
                                    team  m
    – It has the has the best reliability record of any market
      data system in the NYSE
    – It currently far exceeds initial performance
      expectations
Some Conclusions
• Embrace diversity in teams and consider introducing it when
  absent
• Ensure that local culture is not an impediment to change and
  improvement
• Make an effort to see failures and understand why they occur
• Understand the interfaces that exist within the team
• Understand the interfaces that exist with the rest of the
  organisation
• Question what they are and why they exist
• Appreciate there are benefits to both co-location and distribution
• The emphasis is usually on emulating co-location at a distance
  but co-located teams can also learn from distributed teams
Further Reading & Questions
• Organizational Patterns of Agile
  Software Development by James
  O.Coplien and Neil B. Harrison
• The Wisdom of Crowds by James
  Surowieki
• Agile Software Development with
  Distributed Teams by Jutta Eckstein
• Agile Software Development in the Large
  by Jutta Eckstein
• http://www.agile-trac.org



              ja11sop@agile-trac.org

More Related Content

PPT
Understanding work teams
PPT
Learning life as a board member
PPT
Robbins9 ppt15 teams
PPTX
Organizational Behavior 13th Edition Robbins & Judge Part 3: Chapter 10, Unde...
PDF
Organizational Behavior - Session 4
PDF
Organizational Behavior - Session 5
PDF
Organizational Behavior - Session 6
Understanding work teams
Learning life as a board member
Robbins9 ppt15 teams
Organizational Behavior 13th Edition Robbins & Judge Part 3: Chapter 10, Unde...
Organizational Behavior - Session 4
Organizational Behavior - Session 5
Organizational Behavior - Session 6

What's hot (11)

PDF
Agile Team Leadership The Art Of Letting Go
PPTX
Chapter 11management10theditionbyrobbinsandcoulter-130822073629-phpapp01 - vi...
PPTX
Self-organization - foundation for high performance
PPT
Chapter 11 management (10 th edition) by robbins and coulter
DOC
So team work
PPTX
Effective Teams
PDF
Team building
PPTX
chapter 8 teamworl
PDF
Pitfalls of ScrumMaster as a "coach"
PPT
Team and team work
PPT
Chapter 11
Agile Team Leadership The Art Of Letting Go
Chapter 11management10theditionbyrobbinsandcoulter-130822073629-phpapp01 - vi...
Self-organization - foundation for high performance
Chapter 11 management (10 th edition) by robbins and coulter
So team work
Effective Teams
Team building
chapter 8 teamworl
Pitfalls of ScrumMaster as a "coach"
Team and team work
Chapter 11
Ad

Viewers also liked (20)

PPTX
Nota de ingreso oncopediatria
PDF
Hum2220 fa2015 proust questionnaire
PPT
Pencemaran air
PPT
ergasiaistoria3
PDF
Hum2310 sm2016 syllabus
PDF
ART1204 Art of the Ancient Near East
PPTX
Social Media: What? Why? & How? MBP Presentation
PPTX
квест Pons
PPTX
Kimia Terapan - Cassace (Cassava Rice/Nasi Singkong)
PDF
Hum2310 fa2015 proust questionnaire
DOCX
Trends in Automobile Industry in India
PDF
Wundt, w. (1897)
PPTX
Daily routines by Valerie
PDF
Arh2050 art of the stone age
PPT
Диагностика внутренней среды
PDF
The US Government Has Shutdown
PDF
Hum2220 sp2015 proust questionnaire
PDF
Direct Relief Newsletter Winter 2011
PDF
SFU Identity Management Overview
PDF
2007 annual report
Nota de ingreso oncopediatria
Hum2220 fa2015 proust questionnaire
Pencemaran air
ergasiaistoria3
Hum2310 sm2016 syllabus
ART1204 Art of the Ancient Near East
Social Media: What? Why? & How? MBP Presentation
квест Pons
Kimia Terapan - Cassace (Cassava Rice/Nasi Singkong)
Hum2310 fa2015 proust questionnaire
Trends in Automobile Industry in India
Wundt, w. (1897)
Daily routines by Valerie
Arh2050 art of the stone age
Диагностика внутренней среды
The US Government Has Shutdown
Hum2220 sp2015 proust questionnaire
Direct Relief Newsletter Winter 2011
SFU Identity Management Overview
2007 annual report
Ad

Similar to Architecture | Thinking Distributed to Improve Agility | Jamie Allsop (20)

PDF
Scrum Gathering 2012 Shanghai_领导力与组织转型:企业敏捷转型所面临的文化挑战
DOCX
Agile/SCRUM - Effective Meetings with Geographically Dispersed Teams
DOCX
Agile/SCRUM - Effective Meetings with Geographically Dispersed Teams
PDF
Agile Distributed Software Development in Nine Central European Teams: Challe...
PDF
AGILE DISTRIBUTED SOFTWARE DEVELOPMENT IN NINE CENTRAL EUROPEAN TEAMS:CHALLEN...
PDF
Agile Leadership Training
PDF
Stop look and listen before you talk
PDF
PDF
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
PPT
Global Virtual Teams Teigland
PDF
Agiles2009 - Multi site experience
PPT
Global Collaboration: Both Art & Science
PDF
Cultural Challenges In Global Agile
PDF
Risks and strategies adopting agile in medium and large organizations
PDF
International pbl conf_5b-c_kizaki
PPTX
Scrum in One Day
PDF
How to Adopt Agile at Your Organization
PDF
Practical experience of Scrum through project-based learning mediated by ICT ...
PDF
Scrum is not enough v2.0
PDF
Agile values
Scrum Gathering 2012 Shanghai_领导力与组织转型:企业敏捷转型所面临的文化挑战
Agile/SCRUM - Effective Meetings with Geographically Dispersed Teams
Agile/SCRUM - Effective Meetings with Geographically Dispersed Teams
Agile Distributed Software Development in Nine Central European Teams: Challe...
AGILE DISTRIBUTED SOFTWARE DEVELOPMENT IN NINE CENTRAL EUROPEAN TEAMS:CHALLEN...
Agile Leadership Training
Stop look and listen before you talk
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Global Virtual Teams Teigland
Agiles2009 - Multi site experience
Global Collaboration: Both Art & Science
Cultural Challenges In Global Agile
Risks and strategies adopting agile in medium and large organizations
International pbl conf_5b-c_kizaki
Scrum in One Day
How to Adopt Agile at Your Organization
Practical experience of Scrum through project-based learning mediated by ICT ...
Scrum is not enough v2.0
Agile values

More from JAX London (20)

PDF
Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John S...
ODP
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
PDF
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
PDF
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...
PDF
Spring Day | Behind the Scenes at Spring Batch | Dave Syer
PDF
Spring Day | Spring 3.1 in a Nutshell | Sam Brannen
PDF
Spring Day | Identity Management with Spring Security | Dave Syer
PDF
Spring Day | Spring and Scala | Eberhard Wolff
PDF
Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver Gierke
PPT
Keynote | The Rise and Fall and Rise of Java | James Governor
ODP
Java Tech & Tools | OSGi Best Practices | Emily Jiang
PPTX
Java Tech & Tools | Beyond the Data Grid: Coherence, Normalisation, Joins and...
PDF
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
PDF
Java Tech & Tools | Social Media in Programming in Java | Khanderao Kand
PDF
Java Tech & Tools | Just Keep Passing the Message | Russel Winder
PDF
Java Tech & Tools | Grails in the Java Enterprise | Peter Ledbrook
PDF
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...
ODP
Java EE | Modular EJBs for Enterprise OSGi | Tim Ward
PDF
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
KEY
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John S...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...
Spring Day | Behind the Scenes at Spring Batch | Dave Syer
Spring Day | Spring 3.1 in a Nutshell | Sam Brannen
Spring Day | Identity Management with Spring Security | Dave Syer
Spring Day | Spring and Scala | Eberhard Wolff
Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver Gierke
Keynote | The Rise and Fall and Rise of Java | James Governor
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | Beyond the Data Grid: Coherence, Normalisation, Joins and...
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
Java Tech & Tools | Social Media in Programming in Java | Khanderao Kand
Java Tech & Tools | Just Keep Passing the Message | Russel Winder
Java Tech & Tools | Grails in the Java Enterprise | Peter Ledbrook
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...
Java EE | Modular EJBs for Enterprise OSGi | Tim Ward
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Spectroscopy.pptx food analysis technology
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Tartificialntelligence_presentation.pptx
PDF
Encapsulation theory and applications.pdf
PPT
Teaching material agriculture food technology
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Unlocking AI with Model Context Protocol (MCP)
The Rise and Fall of 3GPP – Time for a Sabbatical?
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectroscopy.pptx food analysis technology
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Digital-Transformation-Roadmap-for-Companies.pptx
Group 1 Presentation -Planning and Decision Making .pptx
Getting Started with Data Integration: FME Form 101
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Spectral efficient network and resource selection model in 5G networks
Tartificialntelligence_presentation.pptx
Encapsulation theory and applications.pdf
Teaching material agriculture food technology
Approach and Philosophy of On baking technology
NewMind AI Weekly Chronicles - August'25-Week II
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Architecture | Thinking Distributed to Improve Agility | Jamie Allsop

  • 1. Thinking Distributed to Improve Agility Jamie Allsop | www.agile-trac.org
  • 2. Setting the Scene... • Developing in C++ for over 15 years • Running teams for a large portion of that – from multi-million dollar market data products in Stock Exchanges to specialised DSP systems with global branding • Distributed Agile teams for over 7 years – First experience of real Agility • Later worked in co-located settings and struggled with agility
  • 3. Setting the Scene... • Developing in C++ for over 15 years • Running teams for a large portion of that – from multi-million dollar market data products in Stock Exchanges to specialised DSP systems with global branding • Distributed Agile teamsiis Why??7 years for over ? hy? iion s W es t on ueoftreal Agility – First experience s he Q u T he Q T • Later worked in co-located settings and struggled with agility
  • 4. Challenges Faced by Distributed Teams • Communication burden is almost overbearing • Clear communication is compounded by cultural and language differences • Difficult to build trust among team members • Hard to share and maintain tacit knowledge • Synchronisation is often problematic • Ensuring fair and accessible participation to all team members • Maintaining a shared vision across all members often a challenge • Providing visibility into progress for stakeholders both inside and outside of the organisation • Creating and sustaining a team identity, both within the team and throughout the organisation
  • 5. Challenges of Distributed Teams not Insurmountable • Over time these can be overcome • Spoke about successful distributed agile teams at Agile 2008 • In fact Agile 2008 had a whole track on Distributed Agile • However the three main takeaways were: – Co-location – Frequent face-to-face meetings – Always have a co-located kick-off
  • 6. Clearly Co-location is just so much simpler? • What challenges are faced by co-located teams? • ... • In 2007 I started working with co-located teams • In reality I found it harder to transition to agile and harder to be as agile • Over time I started to see some issues but had difficulty identifying them
  • 7. Characteristics of Distributed and Co-located teams • Communication • Rich and diverse burden methods of overwhelming communication • Sometimes large • Often cultural cultural differences similarities • Local Offices have • Office shares differing values common values • Feedback slower • Feedback is often and constrained rich and immediate
  • 8. Why would it be harder transitioning a co-located team to Agile? • We need to look at organisational structure... • Many books talk about organisational structure and communication • In 2005 Coplien and Harrison published, “Organizational Patterns of Agile Software Development” • Directly relevant to our domain based on many years of study of real software organisations
  • 9. Organizational Patterns • Collates observed organizational patterns from the software industry • Introduces organisational pattern languages • Relates to culture, process, structure and values • Case Studies of real companies
  • 10. Four Organisational Pattern Languages • Project Management – Organisational aspects of managing projects • Piecemeal Growth – How an organisation grows and develops over time • Organisational Style – The general approach to the way the organisation works • People and Code – The ways in which people affect code and vice-versa • Different views of the same organisation • Helps understand the structure of an organisation
  • 11. Key Point Process, Structure, Values • Process ← Structure ← Values • Values are inherent in the individuals that comprise the organisation – Values are observed – Not the same as the values an organisation professes to have! • Changing Process alone has minimal effect – You must change Structure – What about Values?
  • 12. Changing Structure in Co-Located Setting • Can be hard – Local values and structure predominate • Tolerance for failure is much higher in the Co-Located setting – Not apparent that change is needed – Impact of change hard to understand – Multiple communication and feedback channels can create noise
  • 13. Contrast with a Distributed Setting • Values of the team are typically more varied • Team is like a virtual sub-organisation – Foundational values aligned with members – Interfaces with wider organisation discovered • Changing structure to support new process can be more flexible – The team already has looser alignment with the predominant local values – Team already forced to cope with differences
  • 14. Contrast with a Distributed Setting • Values of the team are typically more varied • Team is like a virtual sub-organisation – Foundational values aligned with members – Possiiblly a wider organisation discovered Poss b y with Interfaces a better better st starti ng process art new • Changing structure to supporting poi point? nt? can be more flexible – The team already has looser alignment with the predominant local values – Team already forced to cope with differences
  • 15. Key Point The Ability to Learn • Single-loop – Changing the How but not the Why – Doing the same thing better • Double-loop – Focus on Why: Insightful Learning – Increase Knowledge and Understanding • Triple-loop – Understand the organisation's identity – Learn how to evolve the organisation
  • 16. Being forced to learn better • In a Co-Located setting it is easy to be reactive and see some improvement – Also easier not to fail – Tends to promote single-loop learning • In the Distributed setting being reactive is not enough – Must be proactive about addressing issues – Failure comes quicker – Deeper understanding required – Promotes second-loop learning
  • 17. Being forced to learn better • In a Co-Located setting it is easy to be reactive and see some improvement – Also easier not to fail – Tends to promote single-loop learning ams ed Te ams Te triibut ed s but ter Diis tr being reactive is not • In thessentiialllly setting Distributed D ent a y Learn fas ter E ss E enough Learn to Le a r n fa s Le a r n to – Must be proactive about addressing issues – Failure comes quicker – Deeper understanding required – Promotes second-loop learning
  • 18. Key Point Organisational Patterns & Culture • Each of the systemic patterns presented are part of a pattern language, the bigger picture • It is this bigger picture and the interactions of individual patterns that constitutes the organisation's culture • Difficulty changing structure makes it hard to evolve culture • If you are in a culture it is hard to see the culture • Makes it easy to miss important cultural roots of failures, again and again
  • 19. Promoting Culture Good or Bad? • In the Co-Located setting a strong culture can in fact be a barrier to improvement – Hiring to reinforce a perceived good culture can be counter-productive – Often see mistakes repeated – But it is hard to know any better • In the distributed setting we are more likely to accept differences and perhaps benefit from them – The team culture is likely evolving based on team composition
  • 20. Promoting Culture Good or Bad? • In the Co-Located setting a strong culture can in fact be a barrier to improvement – Hiring to reinforce a perceived good culture can be Culltural I Cu tural Inf counter-productive nfllue n – Often see mistakes repeated nce ue d uto ed ove betterces are t know anyr di s are diilluted o – But it is hard ver distanc stance e • In the distributed setting we are more likely to accept differences and perhaps benefit from them – The team culture is likely evolving based on team composition
  • 21. Sounds like Coupling and Interfaces • Organisations and their teams are like systems and components • The Co-located team is tightly coupled – Both Internally and Externally – Through many fat interfaces • The Distributed team, by necessity is loosely coupled – Both Internally and Externally – Through thinner, better defined interfaces – To succeed these interfaces must be understood
  • 22. Sounds like Coupling and Interfaces • Organisations and their teams are like systems and components • The Co-located team is tightly coupled e – Both Internally and Externally outsiide th e ts de th taken ou utiion binterfacesn triib ut on t be take s r b – Through many t e ps mus fat mus SDistributed ope wby h diist is loosely Ste ps te • to cop e wiit h d The rm to c team, t necessity no r m no coupled – Both Internally and Externally – Through thinner, better defined interfaces – To succeed these interfaces must be understood
  • 23. Sounds like Coupling and Interfaces • Organisations and their teams are like systems and components In • The Co-located team is tightly coupled I n t ha t c o that co Externally – Both Internally and ntext outsiide th e to Agil be ttaxt nranss d n n e ket out e the to Agile be t akenransit tio n t iisinterfacest istr iibiu niing eps mus t awiitah onatr tio t o g – Through manye s a r St ep s mus fat retas dnsb bu n n e hso i a o t to cop • The orm to c team, e by d blle step SDistributed ope w necessity is loosely e step n orm n coupled – Both Internally and Externally – Through thinner, better defined interfaces – To succeed these interfaces must be understood
  • 24. Why might agility be harder in a Co-Located team? • We need to understand a little bit more about how groups work together to make good decisions • In 2004 Surowiecki published, “The Wisdom of Crowds” • Not a book about software development – about how groups of people make decisions – and whether those decisions are good ones • Surowiecki gave the Keynote at Agile 2008
  • 25. The Wisdom of Crowds • “Why the many are smarter than the few” • Premise: How a group (crowd) of people can, under certain conditions, reach a smarter decision than the smartest person in the group • Consider the weight of an Ox... • LOC in Visual Studio... • What about dumb crowds?
  • 26. Key Point The Elements of a Wise Crowd • Diversity of Opinion – People bring different information • Independence of Opinion – Most weight and trust given to own information • Decentralisation of Knowledge – No-one dictates the expected outcome • Meaningful Aggregation – So that a collective verdict can be reached
  • 27. Factors which make good group decisions hard • All people have the same information and experience • Centralised control over information flow • Inability to pull needed information from information sources • Imitation and information cascades • Emotional reactions to outside pressures can result in herding
  • 28. Factors which make good group decisions hard • All people have the same information and experience • Centralised control over information flow Co-llocate Co- ocated pull d t information • Inability to at neededteams are from eams are at a diisadva a d sadvant information sources ntage age • Imitation and information cascades • Emotional reactions to outside pressures can result in herding
  • 29. Some Implications... • The best decisions are achieved through competition and disagreement – Groups of similar people find it easier to make poor decisions • In an agile environment we value shared vision and tacit knowledge – Sometimes difficult to have a collective view while maintaining independence
  • 30. Co-located Teams can Struggle • Shared values and structure result in self- reinforcing behaviour – The 'collective wisdom' is often not wise • Issues are difficult to see • Peer pressure a real problem • Lack of Diversity in the team – Easy to have ineffectual and inefficient communication • Easier to iterate without learning – Practice makes permanent, not perfect
  • 31. Distributed Teams can do better • Varied Values and Structure force looser coupling • By definition the distributed team is outside the norm • Greater team diversity offers the chance for greater independence • Defined interfaces minimise noise and highlight failures faster • Being reactive is not enough, understanding why things happen is required • Diversity is inherent in the team
  • 32. Key Point Benefits of a Wise Crowd • Speed of Collaborative Discovery – Under the right circumstances it is possible to reach better answers much faster • Effective Coordination – Self-organising coordination can be optimal, out-performing deliberate attempts • Cooperation through choice – Potential for much more productive relationships
  • 33. Key Point Benefits of a Wise Crowd • Speed of Collaborative Discovery – Under the right circumstances it is possible to reach better answers muchofasteriiall tent a e nt e are p ot ams r e are p lliike the r ib ted Te s ke the r bu • EffectivekCoordination uted Te ams It lloo ks to Diist ri It o o s to D st va n t a g e s ad vantage deliberate attempts – Self-organising coordination can be optimal, ad out-performing • Cooperation through choice – Potential for much more productive relationships
  • 34. Learn to see beyond simple processes and practices • Not saying that the solution to problematic co-located teams is a distributed team • However we can learn valuable lessons from the distributed setting that can be usefully applied • Encouraging characteristics of distributed teams in the co-located setting can really help
  • 35. Case Study – Setting the scene • MDD – The NYSE's replacement Market Data Distribution System – Vastly over budget, over 6 months late – Co-located team engulfed in a strong local culture – Conventional wisdom was they needed to do more of the same, only better and faster – Quality was unclear, regressions a constant problem • Drew a line in the sand and started over with a changed team – Introduced 3 developers working remotely in the US – Varying experiences and backgrounds – Encouraged working from home, moved to a more distributed model
  • 36. How did things change? • We started to see problems with how we were doing development right away – Our discipline was poor but we couldn't get away with that with the distributed team – we had to improve – The new team members were able to see problems the existing team had overlooked, or simply tolerated • The whole team was brought together to re-architect the product • More effort was put into communication, both how we communicated and when – Daily stand-ups became a true heartbeat, not an irritation – Changing code co-pilots fostered closer relationships and also loosened the culture grip – Changes to improve intra-team visibility encouraged better code management practices
  • 37. What was the result? • The first phase 2 release was produced after only a couple of months – Despite a complete re-architecture • The first release of the newer Phase 2 system went into production over two years ago – Since then there has been only one production incident attributable to a bug in the system – It has the has the best reliability record of any market data system in the NYSE – It currently far exceeds initial performance expectations
  • 38. What was the result? • The first phase 2 release was produced after only a couple of months The T he Diistriibuted – Despite a complete re-architecture D str buted te • Theuse release of the neweream,, makiing went use of diiversit first o t Phasemak n am 2 system f d over sityyears ago ver twoy and kno g into production out-perform and knowlledge w edge out-performed only one production ed the oriigiinal – Since then there has beenthe o incident attributable a a bug in ther g nal Co-lloc toted Co- ocated tea system team m – It has the has the best reliability record of any market data system in the NYSE – It currently far exceeds initial performance expectations
  • 39. Some Conclusions • Embrace diversity in teams and consider introducing it when absent • Ensure that local culture is not an impediment to change and improvement • Make an effort to see failures and understand why they occur • Understand the interfaces that exist within the team • Understand the interfaces that exist with the rest of the organisation • Question what they are and why they exist • Appreciate there are benefits to both co-location and distribution • The emphasis is usually on emulating co-location at a distance but co-located teams can also learn from distributed teams
  • 40. Further Reading & Questions • Organizational Patterns of Agile Software Development by James O.Coplien and Neil B. Harrison • The Wisdom of Crowds by James Surowieki • Agile Software Development with Distributed Teams by Jutta Eckstein • Agile Software Development in the Large by Jutta Eckstein • http://www.agile-trac.org ja11sop@agile-trac.org