Process Elements: Components of Software Process Architectures

  • Jesal Bhuta
  • Barry Boehm
  • Steven Meyers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3840)


To reduce the complexity and time spent in building life cycle plans, project managers often reuse process assets from past projects. Such impromptu reuse is risky when the assets being reused were not created with strategies that make it reusable. In elaborating Osterweil’s “Software Processes are Software Too” insight, Boehm et al have expressed the duality between software products and processes as: “If a given approach is good for software products, then its process counterpart is good for software processes.” In this paper we discuss the duality between product and process reuse. We propose the development of process elements, “process counterparts to software components,” which can be built with reusable strategies. These process elements can then be integrated with other process elements to develop software plans. We also present the results of an experiment that was conducted on several projects using our approach.


Process Element Capability Maturity Model Project Parameter Past Project Project Planner 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abts, C., Boehm, B., Clark, E.: COCOTS: A Software COTS-Based System (CBS) Cost Model. In: Proceedings ESCOM 2001, pp. 1–8 (2001)Google Scholar
  2. 2.
    Ambler, S., McGibbon, B.: Process Patterns: Building Large-Scale Systems Using Object Technology. Cambridge University Press, Cambridge (1998)Google Scholar
  3. 3.
    Ambler, S., McGibbon, B.: More Process Patterns: Delivering Large-Scale Systems Using Object Technology. Cambridge University Press, Cambridge (1999)CrossRefGoogle Scholar
  4. 4.
    Basili, V., Boehm, B.: COTS-Based Systems Top 10 List. IEEE Computer, 91–93 (May 2001)Google Scholar
  5. 5.
    Basili, V., McGarry, F.: The Experience Factory: How to Build and Run One. In: 19th International Conference on Software Engineering, Boston, Massachusetts (May 1997)Google Scholar
  6. 6.
    Biggerstaff, T.: Design Recovery for Maintenance and Reuse. IEEE Computer, 36–49 (July 1989)Google Scholar
  7. 7.
    Boehm, B.: A Spiral Model of Software Development and Enhancement. IEEE Computer, 61–72 (May 1988)Google Scholar
  8. 8.
    Boehm, B.: Anchoring the Software Process. IEEE Software, 73–82 (July 1996)Google Scholar
  9. 9.
    Boehm, B., Abts, C., Brown, A.W., Chulani, S., Clark, B., Horowitz, E., Madachy, R., Reifer, D., Steece, B.: Software Cost Estimation with COCOMO II. Prentice Hall, Englewood Cliffs (2000)Google Scholar
  10. 10.
    Boehm, B., Basili, V.: Software Defect Reduction Top-10 List. IEEE Computer (January 2001)Google Scholar
  11. 11.
    Boehm, B., Brown, A.W., Huang, L., Port, D.: The Schedule as Independent Variable (SAIV) Process for Acquisition of Software-Intensive Systems. USC CSE Technical Report (November 2003)Google Scholar
  12. 12.
    Boehm, B., Egyed, A., Port, D., Shah, A., Kwan, J., Madachy, R.: A stakeholder win-win approach to software engineering education. Annals of Software Engineering 6(1-4), 295–321 (1998)CrossRefGoogle Scholar
  13. 13.
    Boehm, B., Port, D., Abi-Antoun, M., Egyed, A.: Guidelines for the Life Cycle Objectives (LCO) and the Life Cycle Architecture (LCA) deliverables for Model-Based Architecting and Software Engineering (MBASE). USC CSE Technical Report (1999)Google Scholar
  14. 14.
    Boehm, B., Port, D., Bhuta, J., Yang, Y.: Not All CBS Are Created Equally: COTS Intensive Project Types. In: Dean, J., Gravel, A. (eds.) ICCBSS 2002. LNCS, vol. 2255, pp. 36–50. Springer, Heidelberg (2002)Google Scholar
  15. 15.
    Boehm, B., Port, D., Yang, Y., Bhuta, J., Abts, C.: Composable Process elements for Developing COTS-Based Applications. In: Proceedings of the ACM-IEEE Symposium on Empirical Software Engineering (August 2003)Google Scholar
  16. 16.
    Boehm, B., Wolf, S.: An Open Architecture for Software Process Asset Reuse. In: Proceedings of the 10th International Software Process Workshop (1996)Google Scholar
  17. 17.
    Cass, A., Lerner, B., Sutton, S., McCall, E., Wise, A., Osterweil, L.: Little-JIL/Juliette: a process definition language and interpreter. In: Proceedings of the 22nd international conference on Software engineering (2000)Google Scholar
  18. 18.
    Cost as Independent Variable (CAIV),
  19. 19.
    Dusink, L., Katwijk, J.: Reuse Dimensions. In: Proceedings of the 1995 Symposium on Software reusability, vol. 20, pp. 137–149 (1995)Google Scholar
  20. 20.
    Feiler, P., Humphrey, W.: Software Process Development and Enactment: Concepts and Definitions. In: Second International Conference on the Software Process (1993)Google Scholar
  21. 21.
    Gacek, C., Boehm, B.: Composing Components: How Does One Detect Potential Architectural Mismatches? In: Proceedings of the OMG-DARPA-MCC Workshop on Compositional Software Architectures (January 1998)Google Scholar
  22. 22.
    Jacobson, I., Griss, M., Jonsson, P.: Software Reuse. Addison-Wesley, Reading (1998)Google Scholar
  23. 23.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  24. 24.
    Kim, H.: Ada Code Reuse Guidelines for Design-for-Reuse. Master’s Thesis, Department of Computer Science, University of Durham, Durham, England, U.K. (June 1996)Google Scholar
  25. 25.
    Kim, H., Boldyreff, C.: An approach to increasing software component reusability in Ada. In: Proceedings of 1996 Ada-Europe International Conference on Reliable Software Technologies, pp. 89–100 (1996)Google Scholar
  26. 26.
    Kim, H., Boldyreff, C.: Software Reusability Issues in Code and Design. ACM SIGAda Ada Letters XVII(6), 91–97 (1997)Google Scholar
  27. 27.
    Kruchten, P.: The Rational Unified Process: An Introduction. Addision-Wesley, Reading (1999)Google Scholar
  28. 28.
    Model-Based Systems Architecting and Software Engineering (MBASE) Guidelines,
  29. 29.
    Morisio, M., Seaman, C., Parra, A., Basili, V., Kraft, S., Condon, S.: Investigating and Improving a COTS-Based Software Development Process. In: Proceedings of the 22nd International Conference of Software Engineering, June 2000, pp. 32–41 (2000)Google Scholar
  30. 30.
    Osterweil, L.: Software Processes are Software Too. In: Proceedings of 9th International Conference of Software Engineering. ACM/IEEE (1987)Google Scholar
  31. 31.
    Paulk, M.: Key practices of the capability maturity model Version 1.1. Research Access for Software Engineering Institute (1993)Google Scholar
  32. 32.
    Port, D., Yang, Y.: Empirical Analysis of COTS Activity. In: 3rd International Conference on COTS-Based Software Systems (February 2004)Google Scholar
  33. 33.
    Rakic, M., Medvidovic, N.: Increasing the Confidence in Off-the-Shelf Components: A Software Connector-Based Approach. In: Proceedings of the 2001 Symposium on Software Reusability, pp. 11–18 (2001)Google Scholar
  34. 34.
    Royce, W.: Software Project Management A Unified Framework. Addision-Wesley, Reading (1998)Google Scholar
  35. 35.
    Software Engineering Institute: The Capability Maturity Model: Guidelines for Improving the Software Process. Addison-Wesley Professional, Reading (1995)Google Scholar
  36. 36.
    Tarr, P., Ossher, H., Harrison, W., Sutton, S.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proceedings 21st International Conference on Software Engineering, pp. 107–119 (1999)Google Scholar
  37. 37.
    Tracz W., Edwards J.: Implementation Working Group Report. In: Reuse In Practice Workshop, Software Engineering InstituteGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Jesal Bhuta
    • 1
  • Barry Boehm
    • 1
  • Steven Meyers
    • 2
  1. 1.Center for Software EngineeringUniversity of Southern CaliforniaLos AngelesUSA
  2. 2.Software Process GroupLos AngelesUSA

Personalised recommendations