Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Extreme programming - a quick and agile overview !

3,367 views

Published on

Tried putting things in the deck that I learnt about Extreme programming in XP Conference held in Bangalore. I have tried to keep it at very high level added with light moments, so that it doesn't getting boring and makes sense for most of us

Published in: Technology
  • Be the first to comment

Extreme programming - a quick and agile overview !

  1. 1. Extreme Programming (XP) A quick & agile overview :-) @ vinitkumar
  2. 2. Cartoon of the day Typical problem in a Waterfall Software Development Methodology 
  3. 3. whoami  ~ 9+ years as a .net developer/Architect  ~ 4+ years as Digital developer/Architect (CQ/AEM/SDL)  Programming, reading, blogging, speaking, architecting  www.wcmexperts.com, www.codingasp.net, imvinit.wordpress.com  Widely travelled for various projects across US, Europe and Asia.  in.linkedin.com/in/vinitsingh, @vinitkumar
  4. 4. Agenda 1. Objectives of this session 2. Once upon a time 3. Waterfall to XP evolution 4. Agile methodology 5. Extreme Programming 6. Full stack developer
  5. 5. Objectives 1. To touch upon the terminologies that I learnt in XP Conference 2. Understand how Agile is different than Waterfall model 3. Understand what is XP 4. Understand what is FSD 5. Light moments with Dilbert
  6. 6. Once upon a time… Classic Waterfall Software Development Methodology
  7. 7. Waterfall to XP evolution Source: "Embracing change with extreme programming" by Kent Beck, IEEE Computer, October 1999.
  8. 8. What is XP??
  9. 9. Before we learn XP or unlearn Waterfall…
  10. 10. Agile Philosophy: Agile Manifesto • We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: – Individuals and interactions over processes and tools – Working software over comprehensive documentation – Customer collaboration over contract negotiation – Responding to change over following a plan • That is, while there is value in the items on the right, we value the items on the left more.
  11. 11. Agile Methodology  Definition of Agile:  Characterized by quickness, lightness, and ease of movement; nimble.  Mentally quick or alert: an agile mind.  Agile Methodology promotes:  Project management process that encourages frequent inspection and adaptation;  Leadership philosophy that encourages team work, self-organization and accountability;  Set of engineering best practices that allow for rapid delivery of high- quality software;  Business approach that aligns development with customer needs and company goals.
  12. 12. Examples of Agile Methods
  13. 13. Different Agile Methods  Extreme Programming / XP (Kent Beck, Ward Cunningham, Martin Fowler, Ron Jeffries)  Scrum (Ken Schwaber, Jeff Sutherland)  Kanban  Lean Software Development  Crystal (Alistair Cockburn)  Dynamic systems development method (DSDM)  Feature Driven Development / FDD (Peter Coad)  XBreed  Adaptive Software Development / ASD (Jim Highsmith)
  14. 14. So, now again what is XP??
  15. 15. Another Dilbert's cartoon  ?
  16. 16. Here is the Definition of XP  Extreme Programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements.  Empowers developers to confidently respond to changing customer requirements, even late in life cycle.  Proven at companies like First Union National Bank, Ford Motor Company, UBS, Bayerische Landesbank, Credit Swiss Life, DaimlerChrysler etc.
  17. 17. XP Values, Principles & Practices Values Practices Principles  Communication  Simplicity  Feedback  …  Humanity  Improvement  Quality  Accepted Responsibility  …  Planning Game  Short Release  Continuous Integration  Simple Design  Pair Programming  …  Principles are bridge between Values, which is synthetic and abstract, and Practices, which tell how to actually develop software.
  18. 18. XP - Core Values
  19. 19. XP - Basic Fundamental Principles
  20. 20. XP - Practices  Testing related practices - Automated Unit testing for every code  General/Human practices - Sit together, energized work, PP  Planning related practices - User stories, short releases, daily stand up  Design related practices – KISS, Simple design (avoid YAGNI), refactoring  Coding/Programming/Release related practices - TDD, Pair programming, CI, Coding standards, 40 hour week
  21. 21. Full stack developer – the packaged Geek
  22. 22. Full stack developer – the packaged Geek
  23. 23. Full stack developer – the packaged Geek Definition - “... a Full Stack Developer (FSD) is someone with familiarity in each layer, if not mastery in many and a genuine interest in all software technology … ” Another way to look at it - “…. when people are asking for a full-stack programmer they're looking for the all-singing, all dancing technical wizard. Or at least someone who won't complain too much when asked to do some work outside their normal comfort zone…”
  24. 24. To end this, another Dilbert's cartoon  ?
  25. 25. References used • @xpconf I attended • http://xpconference.in/ • http://www.slideshare.net/XPConference • Google images and Slideshare decks
  26. 26. Thank You!

×