1 / 8

Extreme Programming

Explore the integration of Human-Centric Design with Extreme Programming and AOP, emphasizing the importance of understanding customer needs, incremental changes, and rapid feedback. Discover how AOP supports the growth phases and refactoring in Extreme Programming practices.

mthatcher
Download Presentation

Extreme Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Extreme Programming Fits well with AOP

  2. Problem • Many software projects are canceled or are late. • Reason: use of technology-centric models not human-centric models

  3. 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

  4. Human-Centric Process • ends with a system meeting the specs • and with a satisfied customer

  5. 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.

  6. 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

  7. 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.

  8. 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.

More Related