Experiencing Extreme Programming

Experiencing Extreme Programming

Overview eXperiencing • Background eXtreme Programming • Why XP? • Values/Practices • Experiencing XP Randall Bryant • Questions [email protected] 303-255-6079 Background Background Ctnd • Problems • AT&T/Bell Labs/Lucent for 19 years – Communication through documents, meetings, • Our Culture escalations – Process focused (waterfall), ISO certified – Process did not describe what we really did – Long term, up front planning and design – Could not respond to changing customer requests – Creating more process but not really improving – Control/Limit Change – Lot of intelligent, hard working people • Directive to “Revolutionize” organization – Read the “White” book in October 2000, began an • Received Quality/Process Improvement XP project the next week Awards, ISO Auditor • Started our own company based on XP Values Why XP? Values Affect Change • Communication • Closer to my envisioned development model • Realized the “revolution” was cultural • Simplicity • Easy to advocate change • Feedback – Complete development model • Courage – People could relate and see value in some area Agile Manifesto values: – Passionate (good or bade) subject matter -Individuals and interactions over processes and tools • It was the Values, not really the Practices -Working software over comprehensive documentation – Practices vary a lot across Agile methodologies -Customer collaboration over contract negotiation but the values remain the same -Responding to change over following a plan Cultural Change Experiencing XP • XP Work Environment • Make essential plans without the ceremony • Planning • Embrace change • Design – Reduce the risk of changes • Test • Reduce inertia • Refactoring – “…today’s problem”, “…simplest thing” • Pair Programming • Real teamwork • Documentation – Effective communication • An XP Day – Break ownership boundaries and positions • Miscellaneous/Questions XP Work Environment Planning • One “loud” room for a group of people • Short term planning on immediate needs • Everything happens in here does improve focus, commitment and time-to- – Meetings, development, arguments, your personal market life • XP Customer Role is a problem • Everyone is in here – Skill set, work load, buy-in, location or courage? • Story and task cards visible (physical entities) – Interesting and creative ways to fill role • Communication is non-stop and immediate • Experience: XP allows evolution of business plan but does not eliminate the need • Experience: Must have. Design Design • Where’s the design? – Everywhere! – Original culture • Keep “Simple” in mind • Design is done up front before development • Use Metaphor to guide design decisions • Design is communicated through documents and reviews • Pair/Team design is superior • Design documentation is updated when it changes – right! – XP • Design-by-Test is very effective • Design is everywhere (metaphor, code, tests) – Helps keep it simple • Design is done throughout development – Creates feedback and environment for refactoring • Design is communicated in the project room (meetings, discussions, conversation) – Stopping place (avoid “gold-plating”) • Support document is generated when needed • Experience: Great! True OO design. True – Expectations vs Needs reusable code. Easy to change. – Design is ongoing, not a discrete activity Testing Refactoring • Team is responsible for quality (avoid • What were we thinking before we had development/test separation) automated tests? • Testing happens earlier • Basis/proof/ability to quickly and effectively – Acceptance testing simultaneously with development change – Key for understanding what to develop • When to refactor? • Automation is critical but occasionally not – Somewhere between “always” to “only if there is a practical problem” • Incremental test and change concepts help • Testing pre-existing code can be difficult with learning and debugging • Experience: Higher quality, clearer direction, • Experience: Critical skill, needs to evolve into faster feedback. a passion. Pair Programming Documentation • Pair programming is culture shock! • Document what you need when you need it • One of the most valuable parts of XP and the – Old process ~10 documents, XP ~3, used ~2 first practice abandoned • Value of documentation – Head off ownership issues quickly – Design documentation is always out of date – Paired efforts are more easily understood and maintainable – What would someone need to know to take over – Distribute knowledge (eliminate “truck” factor) this code? • Use pairing on lots of things – not just code – Collective ownership, pair programming, tests lead to self documenting code • Experience: We are faster, with higher quality. Actually a lot of fun! • Does anyone really read anything anymore? Miscellaneous An XP Day • Simpler Project Management with rich, timely • Planning information – Short, stand up meeting to start • Takes time to learn how to create good – Any issues, what do we need to do, who needs help stories and good task breakdown • Development – Focus on useful function not infrastructure – Tasks taken and programming pairs formed – Tasks that can be completed in hours (end) – Write tests first, code until the tests pass • Continuous integration eliminates a lot of – Refactor if necessary – Deliver after ALL tests pass headaches – Get next task and new pair if needed • Sometimes change is expensive • Resolve issues in real time – Contact customer or taunt the last pair that designed it Questions on XP/Practices/Others Almost the Conclusion • The Planning Game • Collective Ownership • Actually the most disciplined “process” I have • Small Releases • Continuous ever followed (could be ISO Certified) Integration • Metaphor • The most fun we have ever had • 40 Hour Week • Simple design developing! • Testing • On-Site Customer • Refactoring • Coding Standards • Pair Programming Courage • Looked at and dealt with people issues related to XP (personality types for pairing, dynamics of project room, etc.) • Interpersonal relationships are important • Need courage to overcome fear, “bad” history, general personality dynamics • Some will leave (especially early), some will grow and some grow at a later time “What part is mine?” “I’m more productive as an individual” “Never been so productive and had so much fun!” “I feel naked!” “Learning new things everyday” “How will I contribute, compare, be rated?” “Team result is better than what I could have done alone” “Real teamwork and values”.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us