SlideShare a Scribd company logo
1 of 17
Download to read offline
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

More Related Content

Similar to 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
 

Similar to 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
 

More from 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
 

More from 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)
 

Recently uploaded

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Recently uploaded (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

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