Today s Lecture Discuss aspects of the Extreme Programming Model Lecture 30 Extreme Programming As presented in Extreme Programming Explained Embrace Change by Kent Beck Why Extreme Kenneth M Anderson Foundations of Software Engineering CSCI 5828 Spring Semester 2000 Extreme Programming XP takes commonsense principles and practices to extreme levels May 4 2000 The Basic Problem Risk Beck defines four control variables in software development Schedule slips Project canceled Business Changes Staff Turnovers Kenn eth M Anderson 2000 Cost Time Quality Scope External forces get to pick the values of any three variables the development team picks the value of the fourth XP is a methodology that addresses risk at all levels of the development process May 4 2000 2 Four Control Variables Beck argues that risk is the main problem of software development Kenn eth M Anderson 2000 3 May 4 2000 Kenn eth M Anderson 2000 4 Scope is Important Four Variables cont Beck argues that the values of all four variables need to be visible Beck argues that scope is the most important of the four By adjusting project scope based on the values of the other three you increase your chance of success If stakeholders can see all four variables they can consciously choose which variables to control If they do not like the resulting value of the fourth variable they can choose to change the inputs or choose to control a different set of three May 4 2000 Kenn eth M Anderson 2000 This perspective is backed by XP practices Practice making estimates Implement most important requirements first 5 May 4 2000 Cost Curve Kenn eth M Anderson 2000 6 How to Flatten the Curve Cost of Change increases exponentially over time Technology its cheaper to fix a bug if its caught early in the life cycle Objects Used correctly they provide extreme flexibility XP is predicated on the notion that given the right set of practices the cost curve can be flattened This is a BIG assumption and may make adoption of XP impossible for some organizations Object Databses Practices Simple Design Automated Tests Refactoring May 4 2000 Kenn eth M Anderson 2000 7 May 4 2000 Kenn eth M Anderson 2000 8 Learning to Drive Four Values underlying XP Beck tells a story of learning to drive Communication Mom first told him line the car up in the middle of the lane straight toward the horizon via several mediums conversation code tests metrics Simplicity Beck drives car off the road Beck says Simplicity is not easy Mom then tells him Driving is not about getting the car going in the right direction Driving is about constantly paying attention making a little correction this way a little correction that way Feedback Tests as well as user feedback Courage This is the paradigm for XP Change is constant and must be constantly monitored and adapted to May 4 2000 Kenn eth M Anderson 2000 XP resembles a hill climbing algorithm you can get stuck in local optima 9 May 4 2000 Basic Principles Kenn eth M Anderson 2000 10 Additional Principles Rapid Feedback Assume Simplicity Incremental Change Embracing Change Quality Work May 4 2000 Kenn eth M Anderson 2000 11 Teach Learning Small Initial Investment Play to Win Concrete Experiments Open honest communication May 4 2000 Work with People s Instincts Accepted Responsibility Local Adaptation Travel Light Honest Measurement Kenn eth M Anderson 2000 12 XP Practices The Planning Game Small Releases Metaphor Simple Design Testing Refactoring May 4 2000 Pair Programming Collective Ownership Continuous Integration 40 hour Week On site Customer Coding Standards Kenn eth M Anderson 2000 13
View Full Document
Unlocking...