Abstract

Opportunistic design, an approach in which people develop new software systems by routinely reusing and combining components that were not designed to be used together, has become very popular. This emergent pattern places focus on largescale reuse and developer convenience with the developers trawling for most suitable open source components and modules online. The availability of open source assets for almost all imaginable domains has led to software systems in which the visible application code, as written by the application developers themselves, forms only the tip of the iceberg, compared to the reused bulk that remains mostly unknown to the developers. The actual reuse takes place in an ad hoc, mix-and-match fashion. In this article, we take a look at this increasingly popular approach in light of our industry experiences. We argue that challenges associated with such a development model are quite different from traditional software development and reuse.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call