Learning about application software by studying processes. Issue 10 (2nd May 2014) - Osterweil, Leon J.; Huang, Liguo; Armbrust, Ove
ABSTRACT In earlier work, it has been suggested that processes and applications seem to share many important characteristics and seem to be amenable to similar approaches of modeling, definition, and analysis. In most of this previous work, approaches and technologies for developing applications have been applied to the development of processes, largely with positive results. This paper suggests the opposite, namely that approaches and technologies for developing processes seem likewise to be applicable to developing applications. As an example, this paper notes that resource specification, allocation, and management are central issues in the development of many processes, and suggests that although these capabilities seem to be important for growing classes of application software, the ability to support them seems curiously neglected. The paper also notes that management of rework is a central issue of virtually all creative activities. This is evidenced by the observation that facilities for supporting rework are prominent features in so many creative domains. Accordingly, the paper suggests an analogous need for facilities for supporting rework in application software as well, especially in application software aimed at supporting human creativity. The paper concludes by noting that both application and process software technologies grow through consideration of the relevance of technologies developed for one to the other. This in turn should lead to a clearer understanding of the essence of what they have in common, leading to conjectures about the nature of a more abstract class of entities, that we refer to simply as software. Copyright © 2014 John Wiley & Sons, Ltd.