80 likes | 249 Views
Extreme Programming. Fits well with AP and AOP. Problem. Many software projects are canceled or are late. Reason: use of technology-centric models not human-centric models . Human-Centric Design Process. developer creates succession of system version
E N D
Extreme Programming Fits well with AP and AOP
Problem • Many software projects are canceled or are late. • Reason: use of technology-centric models not human-centric models
Human-Centric Design Process • developer • creates succession of system version • works as an effective team member that understands how the evolving system shows up in the customer’s world • what is the value • what are the breakdowns • skillfully listens and carefully co-designs each improvement with customer
Human-Centric Process • ends with a system meeting the specs • and with a satisfied customer
Comm. ACM Nov. 2001 • The Core of the Third-Wave Professional by Denning and Dunham • Quote: Extreme Programming is an excellent example of a technology that supports adaptive software development of this kind.
From the text book • Chapter 6: many small adjustments: like driving a car. • Chapter 8: Basic principles: rapid feedback: see hw 4, assume simplicity, incremental change, embracing change, quality work • Extreme programming is a kind of Yoga for programmers: live in the moment
How does AP support Extreme Programming? • Growth plans • Write test cases using sentences • Structure-shyness through traversal strategies: what can you do if customer does not know exactly what the class graph will be: that is the way AP was created.
How does AOP support Extreme Programming? • Use aspects to program growth phases: align phases with concerns: e.g., in the next phase we add the synchronization concern. • Programming by addition instead of modification • Short releases: A property-based aspect can do a lot of changes. • Easier refactoring? Easy undoing a change.