Presentation is loading. Please wait.

Presentation is loading. Please wait.

Code Reuse as a Practice within Extreme Programming Gerald DeHondt Kent State University Vijayan Sugumaran Oakland University.

Similar presentations


Presentation on theme: "Code Reuse as a Practice within Extreme Programming Gerald DeHondt Kent State University Vijayan Sugumaran Oakland University."— Presentation transcript:

1 Code Reuse as a Practice within Extreme Programming Gerald DeHondt Kent State University Vijayan Sugumaran Oakland University

2 Purpose of this Research Propose a framework that will integrate the strengths of Code Reuse as a practice within the Extreme Programming methodology. Components developed according to the practices and values of XP will be more easily integrated into future development projects.

3 Collaboration and Communication  Agile development is characterized by social inquiry, extensive collaboration and communication providing the basis for collective action (Cockburn and Highsmith, 2001; Cockburn, 2002; Highsmith, 2003).  Reuse of software components provides an exceptional form of collaboration, cultivating superior methods and software throughout the organization.  Organizations must invest in tools that support and facilitate rapid iterative development and versioning/configuration management (Nerur, Mahapatra, and Mangalaraj, 2005).  Can be accomplished through investment in a suitable reuse strategy supporting agile development. Even with the most developed repository in place, organizational measures and strategies must be implemented to support the process, including training staff to make the most effective use of this corporate asset.

4 Extreme Programming and the Need for Integration  Continuous code integration and refactoring improve the design and code (Nerur and Balijepally 2007).  XP focuses on delivering the features the customer wants.  Reusable components represent satisfied customer requirements.  Refactoring and reuse of these components helps demonstrate understanding of customer requirements and places developers closer to a completed system.

5 Proposed Framework  Identifies the synergy between Software Reuse and Refactoring in Extreme Programming.  Common Goals:  Developing high quality software.  Minimizing time to market.

6 Reuse Practice Process Model Component Search and Retrieval (Step 1)  Reuse  Repository  Extend/  Customize  Components  Learning Feedback Mechanism  Candidate Components  Refactor  Components  Components for  Refactoring  Generate Target Components  (Step 3) Identify Components to Extend and Refactor (Step 2) Repository Management (Step 4) Reuse Repository New System Requirements Components for Customization Extend/ Customize Components Target Application Components Refactored Components Components for Refactoring Learning Feedback Mechanism Candidate Components Refactor Components Components for Refactoring Generate Target Components (Step 3)

7 Steps in Proposed Framework 1) Search and Retrieval 2) Identify Components to Extend and Refactor 3) Generate Target Components a) Extend/Customize Component b) Refactor Component 4) Repository Management

8 Advantages and Caveats  Extends Extreme Programming to include Software Reuse as a practice.  Common Traits  Test Driven Development  Collective Ownership  Communication  Reusable Components are “XP-Compliant”.  Improved Software Quality  Refactoring focuses on the current project.  Software Reuse focuses on future projects.  Blending these approaches increases organizational learning and can provide a richer, more robust code base.  Organizational Acceptance and Buy-In  Incentives  Process education

9 Summary and Future Work  Summary  Proposed model identifies synergy between Software Reuse and Refactoring.  Framework integrates salient features of both methods.  Allows XP to continue growth and development to meet the needs of the development community.  Future Research  Empirical validation through practical application.  Investigate factors impacting organizational adoption.  Enhancement of model based on practical implementation.

10 Questions ?


Download ppt "Code Reuse as a Practice within Extreme Programming Gerald DeHondt Kent State University Vijayan Sugumaran Oakland University."

Similar presentations


Ads by Google