Software reuse: metrics and models
ACM Computing Surveys (CSUR)
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Item-based collaborative filtering recommendation algorithms
Proceedings of the 10th international conference on World Wide Web
Information delivery in support of learning reusable software components on demand
Proceedings of the 7th international conference on Intelligent user interfaces
Modern Information Retrieval
Software Reuse: Guidelines and Methods
Software Reuse: Guidelines and Methods
A technique for automatically organizing software libraries for software reuse
CASCON '94 Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research
A Recommendation System for Software Function Discovery
APSEC '02 Proceedings of the Ninth Asia-Pacific Software Engineering Conference
Towards a semantic-based approach for software reusable component classification and retrieval
ACM-SE 42 Proceedings of the 42nd annual Southeast regional conference
Software reuse: survey and research directions
Journal of Management Information Systems - Special section: Managing virtual workplaces and teleworking with information technology
Supporting agile reuse through extreme harvesting
XP'07 Proceedings of the 8th international conference on Agile processes in software engineering and extreme programming
Proposing software design recommendations based on component interface intersecting
Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering
Knowledge management in different software development approaches
ADVIS'06 Proceedings of the 4th international conference on Advances in Information Systems
Hi-index | 0.00 |
Reuse in an Agile context is largely an unexplored research topic. On the surface, these two software engineering techniques would appear to be incompatible due to contradictory principles. For example, Agile components are usually accompanied with little or no support materials, which is likely to hamper their reuse. However we propose that Agile Reuse is possible and indeed advantageous. We have developed an Eclipse plug-in, named RASCAL, to support Agile Reuse. RASCAL is a recommender agent that infers the need for a reusable component and proactively recommends that component to the developer using a technique consistent with Agile principles. We present the benefits and the challenges encountered when implementing an Agile Reuse tool, paying particular to attention to the XP methodology, and detail our recommendation technique. Our overall results suggest RASCAL is a promising approach for enabling reuse in an Agile environment.