Skip to main content

Supporting Agile Reuse Through Extreme Harvesting

  • Conference paper
Agile Processes in Software Engineering and Extreme Programming (XP 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4536))

Abstract

Agile development and software reuse are both recognized as effective ways of improving time to market and quality in software engineering. However, they have traditionally been viewed as mutually exclusive technologies which are difficult if not impossible to use together. In this paper we show that, far from being incompatible, agile development and software reuse can be made to work together and, in fact, complement each other. The key is to tightly integrate reuse into the test-driven development cycles of agile methods and to use test cases - the agile measure of semantic acceptability - to influence the component search process. In this paper we discuss the issues involved in doing this in association with Extreme Programming, the most widely known agile development method, and Extreme Harvesting, a prototype technique for the test-driven harvesting of components from the Web. When combined in the appropriate way we believe they provide a good foundation for the fledgling concept of agile reuse.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Mili, A., Mili, R., Mittermeir, R.: A Survey of Software Reuse Libraries. Annals of Software Engineering 5 (1998)

    Google Scholar 

  2. Ambler, S., Jeffries, R.: Agile Modeling: Effective Practices for Extreme Programming and the Unified Process. John Wiley and Sons, Chichester (2001)

    Google Scholar 

  3. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)

    Google Scholar 

  4. Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, Reading (1999)

    Google Scholar 

  5. Beck, K., Gamma, E.: JUnit: A Cook’s Tour. Java Report (August 1999)

    Google Scholar 

  6. Seacord, R.: Software Engineering Component Repositories. In: Proceedings of the International Workshop on Component-based Software Engineering, Los Angeles, USA (1999)

    Google Scholar 

  7. Frakes, W.B., Kang, K.: Software Reuse Research: Status and Future. IEEE Transactions on Software Eng. 31(7) (2005)

    Google Scholar 

  8. Hummel, O., Atkinson, C.: Using the Web as a Reuse Repository. In: Proceedings of the International Conference on Software Reuse, Torino (2006)

    Google Scholar 

  9. Baeza-Yates, R., Ribeiro-Neto, B.: Modern Information Retrieval. Addison-Wesley, London, UK (1999)

    Google Scholar 

  10. McCarey, F., Ó Cinnéide, M., Kushmerick, N.: An Eclipse Plugin to Support Agile Reuse. In: Proc. of the 6th Int. Conf. on Extreme Progr. and Agile Processes, Sheffield (2005)

    Google Scholar 

  11. Podgurski, A., Pierce, L.: Retrieving Reusable Software by Sampling Behavior, ACM Transactions on Software Engineering and Methodology 2(3) (1993)

    Google Scholar 

  12. McCarey, F., Ó Cinnéide, M., Kushmerick, N.: RASCAL: A Recommender Agent for Agile Reuse. In: Artificial Intelligence Review, vol. 24(3-4), Kluwer, Dordrecht (2005)

    Google Scholar 

  13. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  14. Beck, K.: Test Driven Development: By Example. Addison-Wesley, London, UK (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Giulio Concas Ernesto Damiani Marco Scotto Giancarlo Succi

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this paper

Cite this paper

Hummel, O., Atkinson, C. (2007). Supporting Agile Reuse Through Extreme Harvesting. In: Concas, G., Damiani, E., Scotto, M., Succi, G. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2007. Lecture Notes in Computer Science, vol 4536. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73101-6_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-73101-6_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-73100-9

  • Online ISBN: 978-3-540-73101-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics