SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Component versus Feature Teams




                                             1
Wednesday, March 17, 2010
Agenda

               Conway’s Law
               Component Team Issues
               Feature Teams Instead




                                       2
Wednesday, March 17, 2010
Conway’s Law:

               “...organizations which design systems...are
               constrained to produce designs which are copies
               of the communication structures of these
               organizations. Melvin E. Conway, April 1968
               And the corollary of Conway’s Law
                    “Organizations unwilling to re-organize to generate an
                    optimal design, can end up producing sub-standard
                    design reflecting the pre-existing organization.”




                                                                     3
Wednesday, March 17, 2010
What is a “component” team
          Using this example:
          1 Product Owner
          Multiple Teams
          One team is responsible for one part of the
          system (component).                   “Components” A, B and
                                                                     C could represent
                                                                     network elements in a
                                       Product Backlog               complex telecom
                            Product                                  environment
                                                         A
                            Backlog                          B
                            (for                                 C   “Components” A, B and C
                            components                               could also represent a
                            A, B and C,                              Call Processing,
                            comprising the                           Maintenance and
                            “system”)                                Messaging subsystems

                                                                               4
Wednesday, March 17, 2010
What’s wrong with component teams:
          Backlog gets built by dependency analysis of components versus by
          evaluating customer value of features
          A single requirement doesn’t map to a single component team (work is
          unbalanced) and could span multiple components
          Dependencies are handled between components
          Difficult to demonstrate completed requirements across components - takes
          a long time!
          New work is discovered as components are integrated

                                       Product Backlog
                      Product                            A                     Components A, B and C

                      Backlog                                B
                      (for                                       C
                      components
                      A, B and C,
                      comprising the                     re-architecture &
                                                         design added to the

                      “system”)                          backlog from inter-
                                                         component analysis

                                                                                          5
Wednesday, March 17, 2010
What’s wrong with component teams:
            Large backlog items are split into component backlog items lacking
            customer visible value
            Defining these component-based backlog items “splits” =
            Architecture (which happens before the iteration starts)
            Resulting in final system test (of all components) after iteration ends
            (finding problems late in the cycle)!
                                                                     System Test
                    Architecture           Develop the
                                                                    the integrated
                                           Components
                                                                     components
                                   Product Backlog
                     Product                         A                Components A, B and C
                     Backlog                             B
                     (for                                    C
                     components
                     A, B and C,
                     comprising the                  re-
                                                     architecture
                     “system”)                       & design
                                                     back to the
                                                     backlog
                                                                                   6
Wednesday, March 17, 2010
Some attempts to deal with this:
             Issues are managed by a role-type, aka “project
             manager”, across component teams
             This leads to resource and/or priority spats
             handling unbalanced feature needs between
             various component teams
                                               Project Managers
                                     Product   for A, B and C
                                     Backlog       PM

                                                                  A
                                                    A
                    Product
                    Backlog                                           B
                    (for                                PM
                                                         B                C
                    components                               PM
                    A, B and C,                               C


                    comprising the
                    “system”)                                Added Project Managers
                                                             needed for coordinating the
                                                             work across component teams

                                                                                     7
Wednesday, March 17, 2010
Instead, try feature teams:
               Structure the teams so that their expertise
               spans the architecture - cutting across all
               components
               “feature teams” where all dependencies
               between components are managed within each
               team.                            X   Z
                                              Y

                   Product Backlog
                                                  A
                   (for components A,
                   B and C beginning
                   with highest valued
                                                  B
                   features
                   X, Y and Z
                                                  C

                                                      8
Wednesday, March 17, 2010
Case Study: Single product feature
           teams
               Structure the teams so that their expertise spans
               the architecture - cutting across all CallP,
               Maintenance and Messaging components.
               “Feature teams” X, Y, Z manage the
               dependencies between within each team.

                                                X Y Z
                  Product Backlog
                  (for Database,                        Call Processing
                  Business Logic &
                  Web UI
                  components)                           Maintenance
                  beginning with
                  highest valued
                  features
                  X, Y and Z
                                                        Messaging


                                                             9
Wednesday, March 17, 2010
Case Study: Multiple NEs (LCS)
                                                                                       Feature 1: Position of                     Abbreviations:
                                                                                       LCS Client (user!)
                 Product backlog of                                                                                               UMTS -Universal Mobile Telecommunication
                                                                                                                                  System
                   3GPP Location                                                                                                  GSM -Global System for Mobile
                 Services spanning                                                                                                Communications
                                                                                                                                  MS - Mobile Station in GSM
                 multiple products.                                                                                               UE - User Equipment in UMTS
                                                                                                                                  HLR - Home Location Register
                First feature - locate                                                                                            GMLC -Gateway Mobile Location Center
               the Location Services
                    (LCS) Client
                                                                                                                        PO        LCS - Location Services
                                                                                                                                  MSC Mobileservices Switching Center
                                                                                                                                  SMLC -Serving Mobile Location Center
                                                                                                                                  BSS - Base Station Subsystem
                                                                                                                                  RNC - Radio Network Controller
                                                                                                                                  NE - Network Element
                                                                                                                                  ...and PO = Product Owner

                                                                               A

                              B
                                                                                                                               A B C
                                                                                                                                           MS/UE
                                                                                                                                           BSS/RNC
                                                                                                      Teams (A,B,C) with
                                                                               C                     skills ranging multiple               xMLC
                                                                                                             products
                                                                                                                                           MSC

  The call flows for the External LCS Client to get the position of the User from 1-10, detailed in 3GPP Rel-99.
                                                                                                                                           HLR
  Example of a suggested feature work breakout from call flow diagram for teams A, B, C




                                                                                                                                                        10
Wednesday, March 17, 2010
What is a Feature Team?
              Ideally co-located: if you can’t, you need to plan, play
              and execute well together- doing whatever it takes.
              Cross-functional: The team has all the skills
              (representing all components) to get the job done.
              Members of the team work across all disciplines,
              across all components, on the highest value customer
              features.
              There are specialists and generalists on the team (test,
              architecture, developers, customer documentation:
              everything it takes.)
              The teams are generally very long lived and high
              performing: they get better with time.



                                                                11
Wednesday, March 17, 2010
What happens to the dependencies?

               With feature teams the dependency handling (that
               we saw between components), now has moved to
               dependency management between feature teams.
               This dependency is mitigated with
                    Strict source version control system - this does not
                    mean “the latest version is on my thumb drive”
                    Well run continuous integration system
                    Automated build and test
                    Dependency issues discussed/handled in daily Scrum of
                    Scrums


                                                                       12
Wednesday, March 17, 2010
Transitioning to feature teams:

               Restructure Product Backlog so that it is grouped by
               Customer Centric feature requirement groupings (call it
               whatever you want to call it - Customer Requirement
               Group - CRG)
               Every CRG has one Product Owner (PO)
               Every CRG has a set of feature teams specializing in that
               area.
               Every PO is responsible for one customer centric domain.
               Chief PO is responsible for moving teams between
               prioritized CRGs as needed.
               Make avid use of Architects and Test for planning, defining
               backlog acceptance criteria, and dependency analysis
               between product components. (last slides)


                                                                    13
Wednesday, March 17, 2010
Abbreviations:


      Scaling (Example LCS CRG)
                                                                                            MS - Mobile Station in GSM
                                                                                            UE - User Equipment in UMTS
                                                                                            HLR - Home Location Register
                                                                                            LCS - Location Services
                              LCS User Stories....
                                                                                            MSC Mobileservices Switching Center
                                                                                            MLC -Mobile Location Center
                                                                                            BSS - Base Station Subsystem
                                                                                            RNC - Radio Network Controller
                                                                                            ...and PO = Product Owner
                                                             Chief Product Owner of
                                                                    LCS CRG
                                                                                          Coordinated in
                                                                                          Scrum of Scrums


                   PO                                 PO               PO


      A B C                                          A B C                  A B C
                            MS/UE                              MS/UE                MS/UE
                            BSS/RNC                            BSS/RNC              BSS/RNC
                            xMLC                               xMLC                 xMLC
                            MSC                                MSC                  MSC
                            HLR                                HLR                  HLR


                                                                                                      14
Wednesday, March 17, 2010
Transitioning to feature teams:




                            Architect team
                                                  Not a good model for
                                                  transitioning to feature
                                                  teams. Why?
                                                  - Creates a hand-off between
                                                  architecture and teams doing the
                                                  work
                     HLR MS/UE MSC xMLC BSS/RNC   - Architecture accountability not
                                                  built into org structure
                            Component Teams       - Test information not built in early
                                                  - Architecture teams become the
                                                  bottle neck with no improvement
                                                  feedback loops built in.
                                                  - Prone to mis-interpretation of
                                                  user story acceptance


                                                                                15
Wednesday, March 17, 2010
Transitioning to feature teams: Include an
   Architecture & Test “Feature” Team
   (example below of an LCS feature team)

      Transition model builds in architectural improvement & story
      acceptance feedback, while also allowing the feature team to realize
      (and improve) the cycle time from “Architecture Ready” to “Done!”

                                             Component Teams




                              LCS   HLR MS/UE MSC xMLC BSS/RNC
                            Feature
                             Team   Arrows indicate Story Acceptance Criteria being
                                       passed to component teams.
                                       In this example, the story will be accepted when HLR
                                       answers, after having verified that the requesting GMLC is
                                       authorized to obtain the location of the subscriber.



                  LSC Feature team inclusive of User Acceptance
                  Test + Architecture responsible for
                  - Defining the User Story Acceptance Criteria for stories
                  spanning multiple components.
                  - Verifying acceptance after story complete
                  - Test built into org structure                                                   16
Wednesday, March 17, 2010
If you can’t get there...

              Second slide deck coming soon on tools to help with
              plumbing.
              If you can’t get there and need help, call me!


              Catherine Louis
              email: cll@cll-group.com
              Tel +1.919.244.1888


              Material licensed under Creative Commons:
              This work is licensed under a Creative Commons
              Attribution-Noncommercial-Share Alike 3.0 Unported
              License

                                                                    17
Wednesday, March 17, 2010

Contenu connexe

Similaire à Agile Component versus Agile Feature Teams

Abstract factory petterns
Abstract factory petternsAbstract factory petterns
Abstract factory petternsHyeonSeok Choi
 
Conspectus January 2010 News Bulletin
Conspectus January 2010 News BulletinConspectus January 2010 News Bulletin
Conspectus January 2010 News BulletinRandal Reifsnider
 
Next Generation Component Management - Altium Designer
Next Generation Component Management - Altium DesignerNext Generation Component Management - Altium Designer
Next Generation Component Management - Altium DesignerAltium
 
On the Composition and Reuse of Viewpoints
On the Composition and Reuse of ViewpointsOn the Composition and Reuse of Viewpoints
On the Composition and Reuse of ViewpointsHenry Muccini
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
FME's Role in a Map Revision Production Workflow and R&D Environment
FME's Role in a Map Revision Production Workflow and R&D EnvironmentFME's Role in a Map Revision Production Workflow and R&D Environment
FME's Role in a Map Revision Production Workflow and R&D EnvironmentSafe Software
 
IT 505 Final Submission Operating System Upgrade Implementation Brief
IT 505 Final Submission Operating System Upgrade Implementation BriefIT 505 Final Submission Operating System Upgrade Implementation Brief
IT 505 Final Submission Operating System Upgrade Implementation BriefEmmaDrinmk
 
Automatic ground truth generation for image sequences
Automatic ground truth generation for image sequencesAutomatic ground truth generation for image sequences
Automatic ground truth generation for image sequencesIAEME Publication
 
Reverse Architecting of a Medical Device Software
Reverse Architecting of a Medical Device SoftwareReverse Architecting of a Medical Device Software
Reverse Architecting of a Medical Device SoftwareDharmalingam Ganesan
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using addJavid iqbal hashmi
 
doc - University of Idaho
doc - University of Idahodoc - University of Idaho
doc - University of Idahobutest
 
doc - University of Idaho
doc - University of Idahodoc - University of Idaho
doc - University of Idahobutest
 
doc - University of Idaho
doc - University of Idahodoc - University of Idaho
doc - University of Idahobutest
 

Similaire à Agile Component versus Agile Feature Teams (20)

Abstract factory petterns
Abstract factory petternsAbstract factory petterns
Abstract factory petterns
 
Assesment process model
Assesment process modelAssesment process model
Assesment process model
 
Conspectus January 2010 News Bulletin
Conspectus January 2010 News BulletinConspectus January 2010 News Bulletin
Conspectus January 2010 News Bulletin
 
Next Generation Component Management - Altium Designer
Next Generation Component Management - Altium DesignerNext Generation Component Management - Altium Designer
Next Generation Component Management - Altium Designer
 
On the Composition and Reuse of Viewpoints
On the Composition and Reuse of ViewpointsOn the Composition and Reuse of Viewpoints
On the Composition and Reuse of Viewpoints
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
FME's Role in a Map Revision Production Workflow and R&D Environment
FME's Role in a Map Revision Production Workflow and R&D EnvironmentFME's Role in a Map Revision Production Workflow and R&D Environment
FME's Role in a Map Revision Production Workflow and R&D Environment
 
Unit 2
Unit 2Unit 2
Unit 2
 
Project
ProjectProject
Project
 
Robot_Eye_Report
Robot_Eye_ReportRobot_Eye_Report
Robot_Eye_Report
 
IT 505 Final Submission Operating System Upgrade Implementation Brief
IT 505 Final Submission Operating System Upgrade Implementation BriefIT 505 Final Submission Operating System Upgrade Implementation Brief
IT 505 Final Submission Operating System Upgrade Implementation Brief
 
PLM - ERP integration
PLM - ERP integrationPLM - ERP integration
PLM - ERP integration
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Automatic ground truth generation for image sequences
Automatic ground truth generation for image sequencesAutomatic ground truth generation for image sequences
Automatic ground truth generation for image sequences
 
Reverse Architecting of a Medical Device Software
Reverse Architecting of a Medical Device SoftwareReverse Architecting of a Medical Device Software
Reverse Architecting of a Medical Device Software
 
Cots integration
Cots integrationCots integration
Cots integration
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using add
 
doc - University of Idaho
doc - University of Idahodoc - University of Idaho
doc - University of Idaho
 
doc - University of Idaho
doc - University of Idahodoc - University of Idaho
doc - University of Idaho
 
doc - University of Idaho
doc - University of Idahodoc - University of Idaho
doc - University of Idaho
 

Plus de Global Agile Consulting- CLL-Group, LLC

Agile2016: Design Your Agile Organization Using SOA (Service-Oriented Archite...
Agile2016: Design Your Agile Organization Using SOA (Service-Oriented Archite...Agile2016: Design Your Agile Organization Using SOA (Service-Oriented Archite...
Agile2016: Design Your Agile Organization Using SOA (Service-Oriented Archite...Global Agile Consulting- CLL-Group, LLC
 
Recruit, hire, retain top talent: Workshop handout with interview questions
Recruit, hire, retain top talent: Workshop handout with interview questionsRecruit, hire, retain top talent: Workshop handout with interview questions
Recruit, hire, retain top talent: Workshop handout with interview questionsGlobal Agile Consulting- CLL-Group, LLC
 
Design thinking techniques to explore and uncover failure patterns sgphx
Design thinking techniques to explore and uncover failure patterns sgphxDesign thinking techniques to explore and uncover failure patterns sgphx
Design thinking techniques to explore and uncover failure patterns sgphxGlobal Agile Consulting- CLL-Group, LLC
 

Plus de Global Agile Consulting- CLL-Group, LLC (11)

Scrum Gathering Austin Catherine Louis.pdf
Scrum Gathering Austin Catherine Louis.pdfScrum Gathering Austin Catherine Louis.pdf
Scrum Gathering Austin Catherine Louis.pdf
 
What if the people who showed up could be the best team ever_.pdf
What if the people who showed up could be the best team ever_.pdfWhat if the people who showed up could be the best team ever_.pdf
What if the people who showed up could be the best team ever_.pdf
 
Monetize Your Cost Center: DevOps West 2020
Monetize Your Cost Center:  DevOps West 2020Monetize Your Cost Center:  DevOps West 2020
Monetize Your Cost Center: DevOps West 2020
 
Agile2016: Design Your Agile Organization Using SOA (Service-Oriented Archite...
Agile2016: Design Your Agile Organization Using SOA (Service-Oriented Archite...Agile2016: Design Your Agile Organization Using SOA (Service-Oriented Archite...
Agile2016: Design Your Agile Organization Using SOA (Service-Oriented Archite...
 
Recruit, hire, retain top talent: Workshop handout with interview questions
Recruit, hire, retain top talent: Workshop handout with interview questionsRecruit, hire, retain top talent: Workshop handout with interview questions
Recruit, hire, retain top talent: Workshop handout with interview questions
 
Recruit, hire, retain top talent: DevOps West Las Vegas 2016
Recruit, hire, retain top talent: DevOps West Las Vegas 2016Recruit, hire, retain top talent: DevOps West Las Vegas 2016
Recruit, hire, retain top talent: DevOps West Las Vegas 2016
 
Design thinking techniques to explore and uncover failure patterns sgphx
Design thinking techniques to explore and uncover failure patterns sgphxDesign thinking techniques to explore and uncover failure patterns sgphx
Design thinking techniques to explore and uncover failure patterns sgphx
 
Stoos intro
Stoos introStoos intro
Stoos intro
 
Shaping behaviors Agile Carolinas June 10, 2010
Shaping behaviors   Agile Carolinas June 10, 2010Shaping behaviors   Agile Carolinas June 10, 2010
Shaping behaviors Agile Carolinas June 10, 2010
 
What are we afraid of?
What are we afraid of?What are we afraid of?
What are we afraid of?
 
Kantor 4 Player Model (handout)
Kantor 4 Player Model (handout)Kantor 4 Player Model (handout)
Kantor 4 Player Model (handout)
 

Dernier

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Agile Component versus Agile Feature Teams

  • 1. Component versus Feature Teams 1 Wednesday, March 17, 2010
  • 2. Agenda Conway’s Law Component Team Issues Feature Teams Instead 2 Wednesday, March 17, 2010
  • 3. Conway’s Law: “...organizations which design systems...are constrained to produce designs which are copies of the communication structures of these organizations. Melvin E. Conway, April 1968 And the corollary of Conway’s Law “Organizations unwilling to re-organize to generate an optimal design, can end up producing sub-standard design reflecting the pre-existing organization.” 3 Wednesday, March 17, 2010
  • 4. What is a “component” team Using this example: 1 Product Owner Multiple Teams One team is responsible for one part of the system (component). “Components” A, B and C could represent network elements in a Product Backlog complex telecom Product environment A Backlog B (for C “Components” A, B and C components could also represent a A, B and C, Call Processing, comprising the Maintenance and “system”) Messaging subsystems 4 Wednesday, March 17, 2010
  • 5. What’s wrong with component teams: Backlog gets built by dependency analysis of components versus by evaluating customer value of features A single requirement doesn’t map to a single component team (work is unbalanced) and could span multiple components Dependencies are handled between components Difficult to demonstrate completed requirements across components - takes a long time! New work is discovered as components are integrated Product Backlog Product A Components A, B and C Backlog B (for C components A, B and C, comprising the re-architecture & design added to the “system”) backlog from inter- component analysis 5 Wednesday, March 17, 2010
  • 6. What’s wrong with component teams: Large backlog items are split into component backlog items lacking customer visible value Defining these component-based backlog items “splits” = Architecture (which happens before the iteration starts) Resulting in final system test (of all components) after iteration ends (finding problems late in the cycle)! System Test Architecture Develop the the integrated Components components Product Backlog Product A Components A, B and C Backlog B (for C components A, B and C, comprising the re- architecture “system”) & design back to the backlog 6 Wednesday, March 17, 2010
  • 7. Some attempts to deal with this: Issues are managed by a role-type, aka “project manager”, across component teams This leads to resource and/or priority spats handling unbalanced feature needs between various component teams Project Managers Product for A, B and C Backlog PM A A Product Backlog B (for PM B C components PM A, B and C, C comprising the “system”) Added Project Managers needed for coordinating the work across component teams 7 Wednesday, March 17, 2010
  • 8. Instead, try feature teams: Structure the teams so that their expertise spans the architecture - cutting across all components “feature teams” where all dependencies between components are managed within each team. X Z Y Product Backlog A (for components A, B and C beginning with highest valued B features X, Y and Z C 8 Wednesday, March 17, 2010
  • 9. Case Study: Single product feature teams Structure the teams so that their expertise spans the architecture - cutting across all CallP, Maintenance and Messaging components. “Feature teams” X, Y, Z manage the dependencies between within each team. X Y Z Product Backlog (for Database, Call Processing Business Logic & Web UI components) Maintenance beginning with highest valued features X, Y and Z Messaging 9 Wednesday, March 17, 2010
  • 10. Case Study: Multiple NEs (LCS) Feature 1: Position of Abbreviations: LCS Client (user!) Product backlog of UMTS -Universal Mobile Telecommunication System 3GPP Location GSM -Global System for Mobile Services spanning Communications MS - Mobile Station in GSM multiple products. UE - User Equipment in UMTS HLR - Home Location Register First feature - locate GMLC -Gateway Mobile Location Center the Location Services (LCS) Client PO LCS - Location Services MSC Mobileservices Switching Center SMLC -Serving Mobile Location Center BSS - Base Station Subsystem RNC - Radio Network Controller NE - Network Element ...and PO = Product Owner A B A B C MS/UE BSS/RNC Teams (A,B,C) with C skills ranging multiple xMLC products MSC The call flows for the External LCS Client to get the position of the User from 1-10, detailed in 3GPP Rel-99. HLR Example of a suggested feature work breakout from call flow diagram for teams A, B, C 10 Wednesday, March 17, 2010
  • 11. What is a Feature Team? Ideally co-located: if you can’t, you need to plan, play and execute well together- doing whatever it takes. Cross-functional: The team has all the skills (representing all components) to get the job done. Members of the team work across all disciplines, across all components, on the highest value customer features. There are specialists and generalists on the team (test, architecture, developers, customer documentation: everything it takes.) The teams are generally very long lived and high performing: they get better with time. 11 Wednesday, March 17, 2010
  • 12. What happens to the dependencies? With feature teams the dependency handling (that we saw between components), now has moved to dependency management between feature teams. This dependency is mitigated with Strict source version control system - this does not mean “the latest version is on my thumb drive” Well run continuous integration system Automated build and test Dependency issues discussed/handled in daily Scrum of Scrums 12 Wednesday, March 17, 2010
  • 13. Transitioning to feature teams: Restructure Product Backlog so that it is grouped by Customer Centric feature requirement groupings (call it whatever you want to call it - Customer Requirement Group - CRG) Every CRG has one Product Owner (PO) Every CRG has a set of feature teams specializing in that area. Every PO is responsible for one customer centric domain. Chief PO is responsible for moving teams between prioritized CRGs as needed. Make avid use of Architects and Test for planning, defining backlog acceptance criteria, and dependency analysis between product components. (last slides) 13 Wednesday, March 17, 2010
  • 14. Abbreviations: Scaling (Example LCS CRG) MS - Mobile Station in GSM UE - User Equipment in UMTS HLR - Home Location Register LCS - Location Services LCS User Stories.... MSC Mobileservices Switching Center MLC -Mobile Location Center BSS - Base Station Subsystem RNC - Radio Network Controller ...and PO = Product Owner Chief Product Owner of LCS CRG Coordinated in Scrum of Scrums PO PO PO A B C A B C A B C MS/UE MS/UE MS/UE BSS/RNC BSS/RNC BSS/RNC xMLC xMLC xMLC MSC MSC MSC HLR HLR HLR 14 Wednesday, March 17, 2010
  • 15. Transitioning to feature teams: Architect team Not a good model for transitioning to feature teams. Why? - Creates a hand-off between architecture and teams doing the work HLR MS/UE MSC xMLC BSS/RNC - Architecture accountability not built into org structure Component Teams - Test information not built in early - Architecture teams become the bottle neck with no improvement feedback loops built in. - Prone to mis-interpretation of user story acceptance 15 Wednesday, March 17, 2010
  • 16. Transitioning to feature teams: Include an Architecture & Test “Feature” Team (example below of an LCS feature team) Transition model builds in architectural improvement & story acceptance feedback, while also allowing the feature team to realize (and improve) the cycle time from “Architecture Ready” to “Done!” Component Teams LCS HLR MS/UE MSC xMLC BSS/RNC Feature Team Arrows indicate Story Acceptance Criteria being passed to component teams. In this example, the story will be accepted when HLR answers, after having verified that the requesting GMLC is authorized to obtain the location of the subscriber. LSC Feature team inclusive of User Acceptance Test + Architecture responsible for - Defining the User Story Acceptance Criteria for stories spanning multiple components. - Verifying acceptance after story complete - Test built into org structure 16 Wednesday, March 17, 2010
  • 17. If you can’t get there... Second slide deck coming soon on tools to help with plumbing. If you can’t get there and need help, call me! Catherine Louis email: cll@cll-group.com Tel +1.919.244.1888 Material licensed under Creative Commons: This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 17 Wednesday, March 17, 2010