extreme programming fits well with aop. problem many software projects are canceled or are late....
TRANSCRIPT
Extreme Programming
Fits well with 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: assume simplicity, incremental change, embracing change, quality work
• Extreme programming is a kind of Yoga for programmers: live in the moment
How does AOP 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.