SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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)
 

Mehr von 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
 

Mehr von 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)
 

Kürzlich hochgeladen

Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxWorkforce Group
 
Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Roland Driesen
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒anilsa9823
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756dollysharma2066
 
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxB.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxpriyanshujha201
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communicationskarancommunications
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataExhibitors Data
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMANIlamathiKannappan
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxAndy Lambert
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsP&CO
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Roland Driesen
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...anilsa9823
 
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...Any kyc Account
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesDipal Arora
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfAdmir Softic
 
John Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdfJohn Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdfAmzadHosen3
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...rajveerescorts2022
 

Kürzlich hochgeladen (20)

unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxB.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communications
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors Data
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptx
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
 
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pillsMifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
 
John Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdfJohn Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdf
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
 

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