extreme programming fits well with aop. problem many software projects are canceled or are late....

8
Extreme Programming Fits well with AOP

Upload: suzanna-miles

Post on 26-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Extreme Programming Fits well with AOP. Problem Many software projects are canceled or are late. Reason: use of technology-centric models not human-centric

Extreme Programming

Fits well with AOP

Page 2: Extreme Programming Fits well with AOP. Problem Many software projects are canceled or are late. Reason: use of technology-centric models not human-centric

Problem

• Many software projects are canceled or are late.

• Reason: use of technology-centric models not human-centric models

Page 3: Extreme Programming Fits well with AOP. Problem Many software projects are canceled or are late. Reason: use of technology-centric models not human-centric

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

Page 4: Extreme Programming Fits well with AOP. Problem Many software projects are canceled or are late. Reason: use of technology-centric models not human-centric

Human-Centric Process

• ends with a system meeting the specs

• and with a satisfied customer

Page 5: Extreme Programming Fits well with AOP. Problem Many software projects are canceled or are late. Reason: use of technology-centric models not human-centric

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.

Page 6: Extreme Programming Fits well with AOP. Problem Many software projects are canceled or are late. Reason: use of technology-centric models not human-centric

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

Page 7: Extreme Programming Fits well with AOP. Problem Many software projects are canceled or are late. Reason: use of technology-centric models not human-centric

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.

Page 8: Extreme Programming Fits well with AOP. Problem Many software projects are canceled or are late. Reason: use of technology-centric models not human-centric

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.