SlideShare uma empresa Scribd logo
1 de 26
Mythical XP-
      Dealing with XP Rules, Myths, Anti-Patterns and Controversies
                                        Ravi Tadwalkar and Max Spring
                                                10-July-2012




Abstract:
How does one apply XP?
This interactive workshop is about XP Rules, Myths, Anti-Patterns and Controversies agilists "deal" with.
If we understand XP myths and bust them, we will learn how to apply XP at the core of your corporate process!
Agenda
●   Business Case for XP
●   Scope of XP Myths: Categories
    ○   Managing (the process): "Team Room"
    ○   Designing: "Model Driven Architecture"
    ○   Coding: "Ownership"
    ○   Testing: "Test Automation"
    ○   Planning (the product): "Small Releases"

●   Q&A
Business Case for XP
● How to apply XP at the core of traditional waterfall,
   RUP, agile/scrum or lean/kanban processes?
   ○ XP best practices are like a color palette, once you
     learn what each color in the palette means to you,
     you can mix and match what works.
   ○ XP just appears heavyweight, so phase it in.
     It’s like weight training. XP is spectrum of practices.

● XP is a continuum, in that we need to apply XP rules to
   today's context

● XP from a newcomer’s perspective can involve myths
   that can come out of not having exposure to XP rules
Scope of XP Myths: Categories
                                                                                                      Managing:
                                                                                                      team room




 Coding:
 Ownership                                                                                              Testing:
                                                                                                        Automation




                                                                                                        Designing:
                                                                                                        MDA
Planning:
small releases


      sources: http://www.extremeprogramming.org/rules.html   http://xprogramming.com/what-is-extreme-programming
Managing (the process): "Team Room"

●   What is a team room?
    ○   A room for "Whole Team" for collaboration
Team Room
Myth:
   "Team room does not work for us, since I cannot be
   sure a) whether people are really working, or
   b) people are doing private work."
This functional manager called for yet another all-hands.
Team is fuming over too many and too long meetings.

 ●   Micro-management
 ●   Lack of mutual trust
 ●   Not knowing team/project state causes anxiety
Team Room

● A better visualization or materialization of this state
   would be helpful
● Team room can be remedy for underlying trust factor
● Team room enables transparent view of all agile
   artifacts to all team members and stakeholders
● Human brain mapping capability
   ○ spatial
   ○ persistent
   ○ tactile
Team Room
● Large companies create “model team-room"
  ○ Not just a small “lean startup” aspect anymore

● Colored Sticky Notes
● Geo-distribution
  ○ cameras (for TP sessions)
  ○ Wikis
  ○ Google Docs (shared editing)

● Multi-purpose room
  ○ gamestorming supplements brainstorming
  ○ highlight impediments / blockers / obstacles
More "Managing" myths
● XP is only for engineers

● Scrum/Kanban can live without XP

● Standup meetings do not work for us,
  we need MoM (minutes of meetings)

● Moving people around cannot work,
  because we need IC (individual contributors)
Scope of XP Myths: Categories




                                                                                                  Designing:
                                                                                                  MDA



sources: http://www.extremeprogramming.org/rules.html   http://xprogramming.com/what-is-extreme-programming
Design (the product): "MDA"

● MDA - Model-Driven Architecture
  ○ Single Point of Truth (SPOT)


● Domain model




● System metaphor
  ○ orthogonal to domain model
MDA (Model Driven Arch.)
Myth:
   "MDA takes too much time."


   ○ Domain knowledge hardcoded all over the place
   ○ Often in scripting environments
   ○ Lack of consistent domain terminology
     i.e. (lack of glossary)
   ○ Inadequate architecture
      ■ Pieces of architectural "views" exist
   ○ MDA is BDUF? (big design upfront)
MDA - Done Right


● More emphasis on tool chain
● The earlier, the better:
   start introducing an explicit domain model early on

● Even if late:
   start introducing a small abstract model with concrete
   mappings into your existing system
   ○ model should be an ever-growing SPOT!
MDA - Done Right

● Have a true Architecture Driven by Model(s)

● Ideal scenario: Product roadmapping is a starting point
● Avoid (yet another) worst case scenario of being "late"

● Just another layer
  of an "inside-out"
  approach
More "Designing" myths
● We refactor our codebase at the end, after code reviews

● “Simplicity rule for us works this way”:
   ○ We implement specialized optimizations early on-
     knowing that this may end up optimizing “algo”
     despite usage pattern

● Spike solutions need to be managed just like any other
   engineering work or contract, a spike is used for more
   than just doing “feasibility study”!
Scope of XP Myths: Categories



                                                                                                  Testing:
                                                                                                  Automation




sources: http://www.extremeprogramming.org/rules.html   http://xprogramming.com/what-is-extreme-programming
Test Automation
Myth:
   "Automated tests are impossible for our domain."

● Domain can be difficult to virtualize
Large legacy codebase with little or no test automation
● Very few regressions may have happened thus far, so
   there might be over-confidence in code quality
Test Automation

● Invest in simplifying domain virtualization
   ○ simulators/emulators
   ○ automated runtime materialization (e.g. Puppet)

● Put test CI & reporting site in place to increase
   motivation for putting tests in place
   ○ e.g. Sonar

● Start small, but start putting test automation in place

● Have a software engineer in test & test architect; don't
  just resort to getting build-monkeys!
More "Testing" myths
● We have never found this working: All code must have
  unit tests. Ideally, when you find a bug, you create tests.

● CI does not need TDD, just CI is enough.

● Documentation should be in place before automation

● Prior to “first customer ship”, we cannot dictate that “All
  code must pass all tests before it can be released.”

● Ideally, acceptance tests are run often and the score
  should be published. We keep little conservative outlook
  on this one. We never make our scores public.
Scope of XP Myths: Categories


Coding:
Ownership




   sources: http://www.extremeprogramming.org/rules.html   http://xprogramming.com/what-is-extreme-programming
"Coding" Myth: Ownership
Myth (fact or crap?):
   Few XP practices may need face-lift. Specifically:
   ○ Collective code ownership have an unintended
       consequence: "tragedy of the commons".
   ○ Pair programming works best with developers who
       love community service.
●   Team ownership creates expertise impedance mismatch:
     ○ One engineer has contradictory view & conflicting style than others.
         This mature developer has passion for longer term view of big picture.
●   Pair programming has perceived interchangeability:
     ○ management "myth" of cross-training team.
     ○ no respect for specialization
Ownership- Done Right

● Ideal: "team structure matches with component graph"
   ○ each component has an owner (and a backup)

● Distributed teams use proactive pre-commit code review
   (e.g. Gerrit) and collaboration tools (e.g. WebEx or vnc),
   fulfilling similar purpose as collective code ownership
   and pair programming

● Tighter collaboration during design (of interface
  contract) between producer & consumer (backed with
  TDD)
More "Coding" myths
● Customer is always there for you
● Coding standard & style are a must and better be
   automated
● we always write unit test last, usually as
   “int main(argc[], argv[])” wrapper
● We never do pair programming, since we have
   standards for code reviews, walkthroughs and
   inspections
● I do scripting, I don’t need CI
● Complex (fancy) “Branch & Merge“ strategy needed for
   better CI
"Planning" myths
Here are possible "Planning" myths:

● “Small releases” is a misnomer for large-scale product
   development teams

● User stories are written upfront, all of them.

● Release planning creates the release schedule that we
   can stick to

● The project is divided into iterations, and we change
   iteration length at will
Scope of XP Myths: Categories
                                                                                                      Managing:
                                                                                                      team room




 Coding:
 Ownership                                                                                              Testing:
                                                                                                        Automation




                                                                                                        Designing:
                                                                                                        MDA
Planning:
small releases


      sources: http://www.extremeprogramming.org/rules.html   http://xprogramming.com/what-is-extreme-programming
Q&A

Mais conteúdo relacionado

Semelhante a Managing xp

Effective cplusplus
Effective cplusplusEffective cplusplus
Effective cplusplusMark Veltzer
 
Serverless Functions and Machine Learning: Putting the AI in APIs
Serverless Functions and Machine Learning: Putting the AI in APIsServerless Functions and Machine Learning: Putting the AI in APIs
Serverless Functions and Machine Learning: Putting the AI in APIsNordic APIs
 
DN18 | Demystifying the Buzz in Machine Learning! (This Time for Real) | Dat ...
DN18 | Demystifying the Buzz in Machine Learning! (This Time for Real) | Dat ...DN18 | Demystifying the Buzz in Machine Learning! (This Time for Real) | Dat ...
DN18 | Demystifying the Buzz in Machine Learning! (This Time for Real) | Dat ...Dataconomy Media
 
Scrum is not enough - being a successful agile engineer
Scrum is not enough - being a successful agile engineerScrum is not enough - being a successful agile engineer
Scrum is not enough - being a successful agile engineerAnton Keks
 
Scaling Machine Learning from zero to millions of users (May 2019)
Scaling Machine Learning from zero to millions of users (May 2019)Scaling Machine Learning from zero to millions of users (May 2019)
Scaling Machine Learning from zero to millions of users (May 2019)Julien SIMON
 
Clojure: Programming self-optimizing webapps in Lisp
Clojure: Programming self-optimizing webapps in LispClojure: Programming self-optimizing webapps in Lisp
Clojure: Programming self-optimizing webapps in LispStefan Richter
 
Viktor Turskyi "Effective NodeJS Application Development"
Viktor Turskyi "Effective NodeJS Application Development"Viktor Turskyi "Effective NodeJS Application Development"
Viktor Turskyi "Effective NodeJS Application Development"Fwdays
 
Software architecture, Patterns for Scale
Software architecture, Patterns for ScaleSoftware architecture, Patterns for Scale
Software architecture, Patterns for ScaleiGbanam
 
From prototype to production - The journey of re-designing SmartUp.io
From prototype to production - The journey of re-designing SmartUp.ioFrom prototype to production - The journey of re-designing SmartUp.io
From prototype to production - The journey of re-designing SmartUp.ioMáté Lang
 
Strata CA 2019: From Jupyter to Production Manu Mukerji
Strata CA 2019: From Jupyter to Production Manu MukerjiStrata CA 2019: From Jupyter to Production Manu Mukerji
Strata CA 2019: From Jupyter to Production Manu MukerjiManu Mukerji
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software houseParis Apostolopoulos
 
TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)Nacho Cougil
 
An Overview of automated testing (1)
An Overview of automated testing (1)An Overview of automated testing (1)
An Overview of automated testing (1)Rodrigo Lopes
 
Serverless? How (not) to develop, deploy and operate serverless applications.
Serverless? How (not) to develop, deploy and operate serverless applications.Serverless? How (not) to develop, deploy and operate serverless applications.
Serverless? How (not) to develop, deploy and operate serverless applications.gjdevos
 
Scale Machine Learning from zero to millions of users (April 2020)
Scale Machine Learning from zero to millions of users (April 2020)Scale Machine Learning from zero to millions of users (April 2020)
Scale Machine Learning from zero to millions of users (April 2020)Julien SIMON
 

Semelhante a Managing xp (20)

What is xp
What is xpWhat is xp
What is xp
 
Effective cplusplus
Effective cplusplusEffective cplusplus
Effective cplusplus
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Serverless Functions and Machine Learning: Putting the AI in APIs
Serverless Functions and Machine Learning: Putting the AI in APIsServerless Functions and Machine Learning: Putting the AI in APIs
Serverless Functions and Machine Learning: Putting the AI in APIs
 
DN18 | Demystifying the Buzz in Machine Learning! (This Time for Real) | Dat ...
DN18 | Demystifying the Buzz in Machine Learning! (This Time for Real) | Dat ...DN18 | Demystifying the Buzz in Machine Learning! (This Time for Real) | Dat ...
DN18 | Demystifying the Buzz in Machine Learning! (This Time for Real) | Dat ...
 
Scrum is not enough - being a successful agile engineer
Scrum is not enough - being a successful agile engineerScrum is not enough - being a successful agile engineer
Scrum is not enough - being a successful agile engineer
 
Scaling Machine Learning from zero to millions of users (May 2019)
Scaling Machine Learning from zero to millions of users (May 2019)Scaling Machine Learning from zero to millions of users (May 2019)
Scaling Machine Learning from zero to millions of users (May 2019)
 
What is dev ops?
What is dev ops?What is dev ops?
What is dev ops?
 
Clojure: Programming self-optimizing webapps in Lisp
Clojure: Programming self-optimizing webapps in LispClojure: Programming self-optimizing webapps in Lisp
Clojure: Programming self-optimizing webapps in Lisp
 
Viktor Turskyi "Effective NodeJS Application Development"
Viktor Turskyi "Effective NodeJS Application Development"Viktor Turskyi "Effective NodeJS Application Development"
Viktor Turskyi "Effective NodeJS Application Development"
 
Best practices for structuring Machine Learning code
Best practices for structuring Machine Learning codeBest practices for structuring Machine Learning code
Best practices for structuring Machine Learning code
 
Software architecture, Patterns for Scale
Software architecture, Patterns for ScaleSoftware architecture, Patterns for Scale
Software architecture, Patterns for Scale
 
From prototype to production - The journey of re-designing SmartUp.io
From prototype to production - The journey of re-designing SmartUp.ioFrom prototype to production - The journey of re-designing SmartUp.io
From prototype to production - The journey of re-designing SmartUp.io
 
Strata CA 2019: From Jupyter to Production Manu Mukerji
Strata CA 2019: From Jupyter to Production Manu MukerjiStrata CA 2019: From Jupyter to Production Manu Mukerji
Strata CA 2019: From Jupyter to Production Manu Mukerji
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
 
TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)
 
An Overview of automated testing (1)
An Overview of automated testing (1)An Overview of automated testing (1)
An Overview of automated testing (1)
 
Serverless? How (not) to develop, deploy and operate serverless applications.
Serverless? How (not) to develop, deploy and operate serverless applications.Serverless? How (not) to develop, deploy and operate serverless applications.
Serverless? How (not) to develop, deploy and operate serverless applications.
 
Scale Machine Learning from zero to millions of users (April 2020)
Scale Machine Learning from zero to millions of users (April 2020)Scale Machine Learning from zero to millions of users (April 2020)
Scale Machine Learning from zero to millions of users (April 2020)
 

Mais de Ravi Tadwalkar

From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptxFrom Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptxRavi Tadwalkar
 
Kin2020- flow based product development- an experience report
Kin2020-  flow based product development- an experience reportKin2020-  flow based product development- an experience report
Kin2020- flow based product development- an experience reportRavi Tadwalkar
 
Session 0 role of leadership in agile v18
Session 0 role of leadership in agile v18Session 0 role of leadership in agile v18
Session 0 role of leadership in agile v18Ravi Tadwalkar
 
Agile for scrum team members v4
Agile for scrum team members v4Agile for scrum team members v4
Agile for scrum team members v4Ravi Tadwalkar
 
Agile for scrum masters v7
Agile for scrum masters v7Agile for scrum masters v7
Agile for scrum masters v7Ravi Tadwalkar
 
Agile for product owners v12
Agile for product owners  v12Agile for product owners  v12
Agile for product owners v12Ravi Tadwalkar
 
Introduction to agile lean
Introduction to agile  leanIntroduction to agile  lean
Introduction to agile leanRavi Tadwalkar
 
Exec Leadership workshop
Exec Leadership workshopExec Leadership workshop
Exec Leadership workshopRavi Tadwalkar
 
LKIN2019: Lean transformation journey of infra briefing for business agility...
LKIN2019: Lean transformation journey of infra  briefing for business agility...LKIN2019: Lean transformation journey of infra  briefing for business agility...
LKIN2019: Lean transformation journey of infra briefing for business agility...Ravi Tadwalkar
 
Modern agile & ESP proposal for Transformation
Modern agile & ESP proposal for TransformationModern agile & ESP proposal for Transformation
Modern agile & ESP proposal for TransformationRavi Tadwalkar
 
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementLKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementRavi Tadwalkar
 
Distributed agile- exec level briefing
Distributed agile- exec level briefingDistributed agile- exec level briefing
Distributed agile- exec level briefingRavi Tadwalkar
 
DevOps- exec level briefing
DevOps-  exec level briefingDevOps-  exec level briefing
DevOps- exec level briefingRavi Tadwalkar
 
Lean, agile and dev ops games- facilitator's guide
Lean, agile and dev ops games- facilitator's guideLean, agile and dev ops games- facilitator's guide
Lean, agile and dev ops games- facilitator's guideRavi Tadwalkar
 
Pecha kucha format- how can devops be implemented with lean and agile
Pecha kucha format- how can devops be implemented with lean and agilePecha kucha format- how can devops be implemented with lean and agile
Pecha kucha format- how can devops be implemented with lean and agileRavi Tadwalkar
 
Embrace TQM (Total Quality Mgmt) mindset with lean thinking
Embrace TQM (Total Quality Mgmt) mindset with lean thinkingEmbrace TQM (Total Quality Mgmt) mindset with lean thinking
Embrace TQM (Total Quality Mgmt) mindset with lean thinkingRavi Tadwalkar
 
DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)Ravi Tadwalkar
 
Ravi Tadwalkar as SM/DevOps/management/Coach
Ravi Tadwalkar as SM/DevOps/management/CoachRavi Tadwalkar as SM/DevOps/management/Coach
Ravi Tadwalkar as SM/DevOps/management/CoachRavi Tadwalkar
 
Kanban metrics- histograms & total wip
Kanban metrics- histograms & total wipKanban metrics- histograms & total wip
Kanban metrics- histograms & total wipRavi Tadwalkar
 
Example of BDD/scenario based vertical slicing (for PM/PO community)
Example of BDD/scenario based vertical slicing (for PM/PO community)Example of BDD/scenario based vertical slicing (for PM/PO community)
Example of BDD/scenario based vertical slicing (for PM/PO community)Ravi Tadwalkar
 

Mais de Ravi Tadwalkar (20)

From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptxFrom Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
 
Kin2020- flow based product development- an experience report
Kin2020-  flow based product development- an experience reportKin2020-  flow based product development- an experience report
Kin2020- flow based product development- an experience report
 
Session 0 role of leadership in agile v18
Session 0 role of leadership in agile v18Session 0 role of leadership in agile v18
Session 0 role of leadership in agile v18
 
Agile for scrum team members v4
Agile for scrum team members v4Agile for scrum team members v4
Agile for scrum team members v4
 
Agile for scrum masters v7
Agile for scrum masters v7Agile for scrum masters v7
Agile for scrum masters v7
 
Agile for product owners v12
Agile for product owners  v12Agile for product owners  v12
Agile for product owners v12
 
Introduction to agile lean
Introduction to agile  leanIntroduction to agile  lean
Introduction to agile lean
 
Exec Leadership workshop
Exec Leadership workshopExec Leadership workshop
Exec Leadership workshop
 
LKIN2019: Lean transformation journey of infra briefing for business agility...
LKIN2019: Lean transformation journey of infra  briefing for business agility...LKIN2019: Lean transformation journey of infra  briefing for business agility...
LKIN2019: Lean transformation journey of infra briefing for business agility...
 
Modern agile & ESP proposal for Transformation
Modern agile & ESP proposal for TransformationModern agile & ESP proposal for Transformation
Modern agile & ESP proposal for Transformation
 
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementLKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
 
Distributed agile- exec level briefing
Distributed agile- exec level briefingDistributed agile- exec level briefing
Distributed agile- exec level briefing
 
DevOps- exec level briefing
DevOps-  exec level briefingDevOps-  exec level briefing
DevOps- exec level briefing
 
Lean, agile and dev ops games- facilitator's guide
Lean, agile and dev ops games- facilitator's guideLean, agile and dev ops games- facilitator's guide
Lean, agile and dev ops games- facilitator's guide
 
Pecha kucha format- how can devops be implemented with lean and agile
Pecha kucha format- how can devops be implemented with lean and agilePecha kucha format- how can devops be implemented with lean and agile
Pecha kucha format- how can devops be implemented with lean and agile
 
Embrace TQM (Total Quality Mgmt) mindset with lean thinking
Embrace TQM (Total Quality Mgmt) mindset with lean thinkingEmbrace TQM (Total Quality Mgmt) mindset with lean thinking
Embrace TQM (Total Quality Mgmt) mindset with lean thinking
 
DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)
 
Ravi Tadwalkar as SM/DevOps/management/Coach
Ravi Tadwalkar as SM/DevOps/management/CoachRavi Tadwalkar as SM/DevOps/management/Coach
Ravi Tadwalkar as SM/DevOps/management/Coach
 
Kanban metrics- histograms & total wip
Kanban metrics- histograms & total wipKanban metrics- histograms & total wip
Kanban metrics- histograms & total wip
 
Example of BDD/scenario based vertical slicing (for PM/PO community)
Example of BDD/scenario based vertical slicing (for PM/PO community)Example of BDD/scenario based vertical slicing (for PM/PO community)
Example of BDD/scenario based vertical slicing (for PM/PO community)
 

Último

Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Anamaria Contreras
 
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...ShrutiBose4
 
International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...ssuserf63bd7
 
Marketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent ChirchirMarketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent Chirchirictsugar
 
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCRashishs7044
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Kirill Klimov
 
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu MenzaYouth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menzaictsugar
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy Verified Accounts
 
Investment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy CheruiyotInvestment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy Cheruiyotictsugar
 
8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCRashishs7044
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationAnamaria Contreras
 
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdfNewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdfKhaled Al Awadi
 
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...ictsugar
 
Memorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMMemorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMVoces Mineras
 
MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?Olivia Kresic
 
Annual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesAnnual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesKeppelCorporation
 
APRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfAPRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfRbc Rbcua
 

Último (20)

Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.
 
Call Us ➥9319373153▻Call Girls In North Goa
Call Us ➥9319373153▻Call Girls In North GoaCall Us ➥9319373153▻Call Girls In North Goa
Call Us ➥9319373153▻Call Girls In North Goa
 
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
 
International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...
 
Marketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent ChirchirMarketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent Chirchir
 
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
 
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCREnjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024
 
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
 
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu MenzaYouth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail Accounts
 
Investment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy CheruiyotInvestment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy Cheruiyot
 
8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement Presentation
 
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdfNewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
 
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
 
Memorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMMemorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQM
 
MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?
 
Annual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesAnnual General Meeting Presentation Slides
Annual General Meeting Presentation Slides
 
APRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfAPRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdf
 

Managing xp

  • 1. Mythical XP- Dealing with XP Rules, Myths, Anti-Patterns and Controversies Ravi Tadwalkar and Max Spring 10-July-2012 Abstract: How does one apply XP? This interactive workshop is about XP Rules, Myths, Anti-Patterns and Controversies agilists "deal" with. If we understand XP myths and bust them, we will learn how to apply XP at the core of your corporate process!
  • 2. Agenda ● Business Case for XP ● Scope of XP Myths: Categories ○ Managing (the process): "Team Room" ○ Designing: "Model Driven Architecture" ○ Coding: "Ownership" ○ Testing: "Test Automation" ○ Planning (the product): "Small Releases" ● Q&A
  • 3. Business Case for XP ● How to apply XP at the core of traditional waterfall, RUP, agile/scrum or lean/kanban processes? ○ XP best practices are like a color palette, once you learn what each color in the palette means to you, you can mix and match what works. ○ XP just appears heavyweight, so phase it in. It’s like weight training. XP is spectrum of practices. ● XP is a continuum, in that we need to apply XP rules to today's context ● XP from a newcomer’s perspective can involve myths that can come out of not having exposure to XP rules
  • 4. Scope of XP Myths: Categories Managing: team room Coding: Ownership Testing: Automation Designing: MDA Planning: small releases sources: http://www.extremeprogramming.org/rules.html http://xprogramming.com/what-is-extreme-programming
  • 5. Managing (the process): "Team Room" ● What is a team room? ○ A room for "Whole Team" for collaboration
  • 6. Team Room Myth: "Team room does not work for us, since I cannot be sure a) whether people are really working, or b) people are doing private work." This functional manager called for yet another all-hands. Team is fuming over too many and too long meetings. ● Micro-management ● Lack of mutual trust ● Not knowing team/project state causes anxiety
  • 7. Team Room ● A better visualization or materialization of this state would be helpful ● Team room can be remedy for underlying trust factor ● Team room enables transparent view of all agile artifacts to all team members and stakeholders ● Human brain mapping capability ○ spatial ○ persistent ○ tactile
  • 8. Team Room ● Large companies create “model team-room" ○ Not just a small “lean startup” aspect anymore ● Colored Sticky Notes ● Geo-distribution ○ cameras (for TP sessions) ○ Wikis ○ Google Docs (shared editing) ● Multi-purpose room ○ gamestorming supplements brainstorming ○ highlight impediments / blockers / obstacles
  • 9. More "Managing" myths ● XP is only for engineers ● Scrum/Kanban can live without XP ● Standup meetings do not work for us, we need MoM (minutes of meetings) ● Moving people around cannot work, because we need IC (individual contributors)
  • 10. Scope of XP Myths: Categories Designing: MDA sources: http://www.extremeprogramming.org/rules.html http://xprogramming.com/what-is-extreme-programming
  • 11. Design (the product): "MDA" ● MDA - Model-Driven Architecture ○ Single Point of Truth (SPOT) ● Domain model ● System metaphor ○ orthogonal to domain model
  • 12. MDA (Model Driven Arch.) Myth: "MDA takes too much time." ○ Domain knowledge hardcoded all over the place ○ Often in scripting environments ○ Lack of consistent domain terminology i.e. (lack of glossary) ○ Inadequate architecture ■ Pieces of architectural "views" exist ○ MDA is BDUF? (big design upfront)
  • 13. MDA - Done Right ● More emphasis on tool chain ● The earlier, the better: start introducing an explicit domain model early on ● Even if late: start introducing a small abstract model with concrete mappings into your existing system ○ model should be an ever-growing SPOT!
  • 14. MDA - Done Right ● Have a true Architecture Driven by Model(s) ● Ideal scenario: Product roadmapping is a starting point ● Avoid (yet another) worst case scenario of being "late" ● Just another layer of an "inside-out" approach
  • 15. More "Designing" myths ● We refactor our codebase at the end, after code reviews ● “Simplicity rule for us works this way”: ○ We implement specialized optimizations early on- knowing that this may end up optimizing “algo” despite usage pattern ● Spike solutions need to be managed just like any other engineering work or contract, a spike is used for more than just doing “feasibility study”!
  • 16. Scope of XP Myths: Categories Testing: Automation sources: http://www.extremeprogramming.org/rules.html http://xprogramming.com/what-is-extreme-programming
  • 17. Test Automation Myth: "Automated tests are impossible for our domain." ● Domain can be difficult to virtualize Large legacy codebase with little or no test automation ● Very few regressions may have happened thus far, so there might be over-confidence in code quality
  • 18. Test Automation ● Invest in simplifying domain virtualization ○ simulators/emulators ○ automated runtime materialization (e.g. Puppet) ● Put test CI & reporting site in place to increase motivation for putting tests in place ○ e.g. Sonar ● Start small, but start putting test automation in place ● Have a software engineer in test & test architect; don't just resort to getting build-monkeys!
  • 19. More "Testing" myths ● We have never found this working: All code must have unit tests. Ideally, when you find a bug, you create tests. ● CI does not need TDD, just CI is enough. ● Documentation should be in place before automation ● Prior to “first customer ship”, we cannot dictate that “All code must pass all tests before it can be released.” ● Ideally, acceptance tests are run often and the score should be published. We keep little conservative outlook on this one. We never make our scores public.
  • 20. Scope of XP Myths: Categories Coding: Ownership sources: http://www.extremeprogramming.org/rules.html http://xprogramming.com/what-is-extreme-programming
  • 21. "Coding" Myth: Ownership Myth (fact or crap?): Few XP practices may need face-lift. Specifically: ○ Collective code ownership have an unintended consequence: "tragedy of the commons". ○ Pair programming works best with developers who love community service. ● Team ownership creates expertise impedance mismatch: ○ One engineer has contradictory view & conflicting style than others. This mature developer has passion for longer term view of big picture. ● Pair programming has perceived interchangeability: ○ management "myth" of cross-training team. ○ no respect for specialization
  • 22. Ownership- Done Right ● Ideal: "team structure matches with component graph" ○ each component has an owner (and a backup) ● Distributed teams use proactive pre-commit code review (e.g. Gerrit) and collaboration tools (e.g. WebEx or vnc), fulfilling similar purpose as collective code ownership and pair programming ● Tighter collaboration during design (of interface contract) between producer & consumer (backed with TDD)
  • 23. More "Coding" myths ● Customer is always there for you ● Coding standard & style are a must and better be automated ● we always write unit test last, usually as “int main(argc[], argv[])” wrapper ● We never do pair programming, since we have standards for code reviews, walkthroughs and inspections ● I do scripting, I don’t need CI ● Complex (fancy) “Branch & Merge“ strategy needed for better CI
  • 24. "Planning" myths Here are possible "Planning" myths: ● “Small releases” is a misnomer for large-scale product development teams ● User stories are written upfront, all of them. ● Release planning creates the release schedule that we can stick to ● The project is divided into iterations, and we change iteration length at will
  • 25. Scope of XP Myths: Categories Managing: team room Coding: Ownership Testing: Automation Designing: MDA Planning: small releases sources: http://www.extremeprogramming.org/rules.html http://xprogramming.com/what-is-extreme-programming
  • 26. Q&A