Using Components For Rapid Distributed Software Development


Repenning A., Ioannidou A., Payton M., Ye W., & Roschelle J.. (2001). Using Components for Rapid Distributed Software Development. IEEE Software 18(2).


Software development has not reached the maturity of other engineering disciplines; it is still challenging to produce software that works reliably, is easy to use and maintain, and arrives within budget and on time. In addition, relatively small software systems for highly specific applications are in increasing demand. This need requires a significantly different approach to software development from that used by their large, monolithic, general-purpose software counterparts such as Microsoft Word. The paper discusses the use of components for rapid distributed software development. It reports on the the experience of a large testbed called Educational Software Components of Tomorrow (, supported by the US National Science Foundation.


On paper, components would seem to be ideal building blocks for distributed software development. But how well are component-based approaches really suited for the rapid design and implementation of interactive applications? A large geographically distributed testbed consisting of domain experts, component framework coordinators, component generator tool providers, application developers, publishers, and users is producing and publishing educational applications. A rapid production pipeline process is employed to output one simple but complete application each week. The role of each stakeholder and the representations used to
communicate design, and implementation issues are documented in the context of one complete application production cycle. Guidelines for effective use of component technology for distributed software development are provided.

Read more from SRI