Agile Software Development with XP
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Agile Software Development with XP

on

  • 2,482 views

The Object Oriented Technology course assignment from CU.

The Object Oriented Technology course assignment from CU.

Statistics

Views

Total Views
2,482
Views on SlideShare
2,473
Embed Views
9

Actions

Likes
4
Downloads
153
Comments
0

2 Embeds 9

http://www.slideshare.net 7
http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Agile Software Development with XP Presentation Transcript

  • 1. BY Extreme Programming
  • 2.
    • The problem in today Software Development
    • Agile Methods
    • eXtreme Programming (XP)
    • Q&A
  • 3.
    • Risks:
      • Schedule Slips
      • Quality of product (Defect Rate)
      • Requirement Changes
      • Project Cancelled
  • 4.  
  • 5.  
  • 6.  
  • 7.  
  • 8. Customer satisfaction by rapid, continuous delivery of useful software
  • 9. Working software is delivered frequently
  • 10. Working software is the principal measure of progress
  • 11. Even late changes in requirements are welcomed
  • 12. Close, daily cooperation between business people and developers
  • 13. Face-to-face conversation is the best form of communication
  • 14. Projects are built around motivated individuals, who should be trusted
  • 15. Continuous attention to technical excellence and good design
  • 16. Simplicity
  • 17. Self - organizing teams
  • 18. Regular adaptation to changing circumstances
  • 19.
    • Agile UP
    • XP (eXtreme Programming)
    • FDD (Feature Driven Development)
    • Scrum
  • 20. >>
  • 21.  
  • 22.  
  • 23. An attempt to reconcile humanity and productivity
  • 24. A mechanism for social change
  • 25. A path to improvement
  • 26. A style of development
  • 27. A software development discipline
  • 28.  
  • 29. Communication
  • 30. Simplicity
  • 31. Feedback
  • 32. Courage
  • 33. Respect
  • 34.  
  • 35.
    • Planning game
    • Frequent releases
    • Metaphor
    • Simple Design
    • Testing
    • Refactoring
    • Pair Programming
    • Collective Ownership
    • Continuous Integration
    • 40 Hour Week
    • On-site customer
    • Coding Standards
  • 36.
    • A release cycle is usually up to 3 months
    • Each iterations is around to 3 weeks
    • Each iteration the selected user stories are implemented
    • Each user story is split in programming tasks of 1-3 days
    • small and frequent releases provide frequent feedback from the customer.
  • 37.
    • Do the simplest thing that could possible work
    • You aren’t going to need it
      • do not spend time implementing potential future functionality (requirements will change)
    • Put in what you need when you need it
    • Simple design ensures that there is less
      • to communicate
      • to test
      • to refactor
  • 38.
    • Tests play the most important and central role in XP
    • Tests are written before the code is developed
    • All tests are automated (test suites, testing framework)
    • User stories = Requirements
    • Tests = System Specification
    • 2 kinds of test:
      • Acceptance tests (functional tests)
        • clients provide test cases for their stories
        • developers transform these in automatic tests
      • Unit tests
        • developers write tests for their classes (before implementing the classes)
        • All unit tests must run 100% successfully all the time
  • 39.
    • Process of improving code while preserving its function
    • The aim of refactoring is to
      • make the design simpler
      • make the code more understandable
      • improve the tolerance of code to change
    • The code should not need any comments
      • There is no documentation in XP
      • The code and the user stories are the only documents
    • Refactoring is continuous design
  • 40.
    • Two programmers sit together in front of a workstation
      • one enters code
      • one reviews the code and thinks
    • Second most important practice after tests
    • Costs 10-15% more than stand-alone programming
    • Code is simpler (fewer LOC) with less defects (15%)
    • Ensures continuous code inspection (SE)
  • 41.
    • Daily integration at least
    • The whole system is built (integrated) every couple of hours
    • XP feedback cycle:
      • develop unit test
      • code
      • integrate
      • run all units tests (100%)
      • release
    • A working tested system is always available
  • 42.  
  • 43.
    • Traditional Software Lifecycle:
      • Listen - Design - Code - Test
    • XP lifecycle
      • Listen - Test - Code - Design
    • Listen to customers while gathering requirements
    • Develop test cases (functional tests and unit tests)
    • Code the objects
    • Design (refactor) as more objects are added to the system
  • 44. Listen to customers while gathering requirements
  • 45. Develop test cases (functional tests and unit tests)
  • 46.  
  • 47. Design (refactor) as more objects are added to the system
  • 48.  
  • 49.