This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Understanding and Controlling Software Costs
October 1988 (vol. 14 no. 10)
pp. 1462-1477

A discussion is presented of the two primary ways of understanding software costs. The black-box or influence-function approach provides useful experimental and observational insights on the relative software productivity and quality leverage of various management, technical, environmental, and personnel options. The glass-box or cost distribution approach helps identify strategies for integrated software productivity and quality improvement programs using such structures as the value chain and the software productivity opportunity tree. The individual strategies for improving software productivity are identified. Issues related to software costs and controlling them are examined and discussed. It is pointed out that a good framework of techniques exists for controlling software budgets, schedules, and work completed, but that a great deal of further progress is needed to provide an overall set of planning and control techniques covering software product qualities and end-user system objectives.

[1] B. Adelson and E. Soloway, "The role of domain experience in software design,"IEEE Trans. Software Eng., vol. SE-11, pp. 1351-1360, Nov. 1985.
[2] A. J. Albrecht, "Measuring application development productivity," inProc. SHARE-GUIDE Applications Development Symp., Oct. 1979, pp. 83-92.
[3] M. W. Alford, "A requirements engineering methodology for real-time processing requirements,"IEEE Trans. Software Eng., vol. SE-3, pp. 60-68, Jan. 1977.
[4] M. W. Alford, "SREM at the age of eight: The distributed computing design system,"Computer, vol. 18, Apr. 1985.
[5] J. Allen and B. P. Lientz,Systems in Action: A Managerial and Social Approach, Goodyear, 1978.
[6] R. S. Arnold, Ed.,Software Maintenance Workshop Record, IEEE, Dec. 1983.
[7] J. D. Aron, "Estimating resources for large programming systems," NATO Science Committee, Rome, Italy, Oct. 1969; inSoftware Engineering Techniques, Buxton and Randell, Eds.
[8] C. Babcock, "New Jersey motorists in software jam,"Computer-world, pp. 1, 6, Sept. 30, 1985.
[9] R. Balzer, "A 15 year perspective on automatic programming,"IEEE Trans. Software Eng., vol. SE-11, no. 11, pp. 1257-1268, Nov. 1985.
[10] R. M. Balzer, T. E. Cheatham, and C. Green, "Software technology in the 1990's: Using a new paradigm,"Computer, vol. 16, pp. 39-45, Nov. 1983.
[11] D. R. Barstow, "Domain-specific automatic programming,"IEEE Trans. Software Eng., vol. 11, no. 11, pp. 1321-1336, Nov. 1985.
[12] D.R. Barstow, H.E. Shrobe, and E. Sandewall, Eds.,Interactive Programming EnvironmentsNew York: McGraw-Hill, 1984.
[13] V. Basili and D. Weiss, "Evaluation of a Software Requirements Document by Analysis of Change Data," Proc. Fifth Int'l Conf. of Software Eng., IEEE CS Press, 1981, pp. 314-323.
[14] L. A. Belady and M. M. Lehman, "Characteristics of large systems,"Research Directions in Software Technology, P. Wegner, Ed. Cambridge, MA: MIT Press, 1979.
[15] T. E. Bell, D. C. Bixler, and M. E. Dyer, "An extendible approach to computer-aided software requirements engineering,"IEEE Trans. Software Eng., pp. 49-59, Jan. 1977.
[16] H.D. Benington, "Production of Large Computer Programs,"Proc. ONR Symp. Advanced Programming Methods for Digital Computers, June 1956, pp. 15-27. Also available inAnnals of the History of Computing, Oct. 1983, pp. 350-361, andProc. Ninth Int'l Conf. Software Engineering, Computer Society Press, 1987.
[17] R. K. D. Black, R. P. Curnow, R. Katz, and M. D. Gray, "BCS software production data," Boeing Computer Services, Inc., Final Tech. Rep. RADC-TR-77-116, NTIS No. AD-A039852, Mar. 1977.
[18] B. H. Boar,Application Prototyping. New York: Wiley, 1984.
[19] B. H. Boehm, J. R. Brown, H. Kaspar, M. Lipow, E. J. MacLeod, and M. J. Merritt,Characteristics of Software Quality. Amsterdam, The Netherlands: North-Holland, 1978.
[20] B. W. Boehm, M. H. Penedo, E. D. Stuckle, R. D. Williams, and A. H. Pyster, "A software development environment for improving productivity,"Computer, vol. 17, pp. 30-44, June 1984.
[21] B. W. Boehm, "Software and its impact: A quantitative assessment,"Datamation, pp. 48-59, May 1973.
[22] B. W. Boehm, "Software engineering,"IEEE Trans. Comput., vol. C-25, pp. 1226-1241, Dec. 1976.
[23] B. W. Boehm,Software Engineering Economics. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[24] B. W. Boehm, The hardware/software cost ratio: Is it a myth?"Computer, vol. 16, pp. 78-80, Mar. 1983.
[25] B. W. Boehm, "Software engineering economics,"IEEE Trans. Software Eng., vol. SE-10, pp. 4-21, Jan. 1984.
[26] B. W. Boehm, "COCOMO: Answering the most frequent questions," inProc. COCOMO Users' Group, Wang Institute, May 1985.
[27] B. W. Boehm, "A sprial model of software development and enhancement,"Computer, vol. 21, pp. 61-72, May 1988.
[28] B. W. Boehm, T. Gray Seewaldt, "Prototyping versus specifying, A multiproject experiment,"IEEE Trans. Software Eng., vol. SE-10, May 1984.
[29] Brooks, Jr., Frederick P. 1975.The Mythical Man-Month: Essays on Software Engineering. Reading, Mass., Addison-Wesley.
[30] J. R. Brown and M. Lipow, "The quantitative measurement of software safety and reliability," TRW Rep. QR 1776, Aug. 1973.
[31] R. J. A. Buhr, C. M. Woodside, G. M. Karam, K. Van Der Loo, and G. D. Lewis, "Experiments with Prolog design descriptions and tools in CAEDE: An iconic design environment for multitasking, embedded systems," inProc. 8th Int. Conf. Software Engineering, Aug. 1985, pp. 62-67.
[32] J. Buxton, "Requirements for Ada programming support environments: 'Stoneman'," U.S. Dep. Defense, OSD/R&E, Washington, DC, Feb. 1980.
[33] J. D. Couger and R. A. Zawacki,Motivating and Managing Computer Personnel. New York: Wiley, 1980.
[34] B. Curtis, "Fifteen years of psychology in software engineering: Individual differences and cognitive science," inProc. 7th Int. Conf. Software Engineering, Mar. 1984, pp. 97-106.
[35] E. B. Daly, "Management of software engineering,"IEEE Trans. Software Eng., vol. SE-3, pp. 229-242, May 1977.
[36] T. De Marco,Controlling Software Projects. New York: Yourdon, 1982.
[37] T. A. De Marco and T. Lister, "Programmer performance and the effects of the workplace," inProc. 8th Int. Conf. Software Engineering, Aug. 1985, pp. 268-272.
[38] W. J. Doherty and R. P. Kelisky, "Managing VM/CMS for user effectiveness,"IBM Syst. J., vol. 18, no. 1, pp. 143-163, 1979.
[39] A. Douville, J. Salasin, and T. H. Probert, "Ada impact on COCOMO workshop report,"Inst. Defense Analysis, May 1985.
[40] M. Dowson and J. C. Wileden, Ed.,Proc. Second Software Process Workshop (ACM Software Eng. Notes), Aug. 1986.
[41] S. W. Draper and D. A. Norman, "Software engineering for user interfaces,"IEEE Trans. Software Eng., vol. SE-11, pp. 252-258, Mar. 1985.
[42] Electronic Industries Association, "DoD computing activities and programs: Ten year market forecast issues, 1985-1995," Oct. 1985.
[43] J. L. Elshoff, "An analysis of some commercial PL/I programs,"IEEE Trans. Software Eng., vol. SE-2, pp. 113-120, June 1976.
[44] M. R. Fagan, "Design and code inspections to reduce errors in program development,"IBM Syst. J., vol. 15, no. 3, pp. 182-211, 1976.
[45] S. I. Feldman, "MAKE--A program for maintaining computer programs,"Unix Programmers' Manual, vol. 9, pp. 255-265, Apr. 1979.
[46] D. Fisher, "Software costs in the Department of Defense," IDA Rep. R-1079, 1974.
[47] G. Formica, "Software management by the European space agency: Lessons learned and future plans," inProc. Third Int. Software Management Conf., AIAA/RAeS, London, Oct. 1978, pp. 15-35.
[48] F. R. Freiman and R. E. Park, "PRICE software model version 3: An overview," inProc. IEEE-PINY Workshop Quantitative Software Models, IEEE Catalog No. TH0067-9, Oct. 1979, pp. 32-41.
[49] E. Frewin, P. Hamer, B. Kitchenham, N. Ross, and L. Wood, "Quality measurement and modeling--State of the art report," ESPRIT Rep. REQUEST/STC-gdf/001/51/QL-RP/00.7, July 1985.
[50] "GUIDE survey of new programming technologies,"Guide Proc., GUIDE, Inc., Chicago, IL, pp. 306-308, 1979.
[51] T. Gilb,Design by Objectives. Amsterdam, The Netherlands: North-Holland, 1985.
[52] R. L. Glass and R. A. Noiseux,Software Maintenance Guidebook. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[53] J.D. Gould and C.H. Lewis, "Designing for Usability: Key Principles and What Designers Think,"Comm. ACM, Vol. 28, No. 3, Mar. 1985, pp. 300-311.
[54] E. Grant and H. Sackman, "An exploratory investigation of programmer performance under on-line and off-line conditions," System Development Corp., Rep. SP-2581, Sept. 1966.
[55] C. C. Green, D. Luckham, R. Balzer, T. Cheatham, and C. Rich, "Report on a knowledge-based software assistant," USAF/RADC Rep. RADC-TR-195, Aug. 1983.
[56] C. C. Green, "The design of the PSI program synthesis system," inProc. 2nd Int. Conf. Software Engineering, Oct. 1976, pp. 4-18.
[57] T. Guimaraes, "A study of application program development techniques,"Commun. ACM, pp. 494-499, May 1985.
[58] M. Halstead,Elements of Software Science. New York: Elsevier-North Holland, 1977.
[59] E. Harel and E. R. Mc Lean, "The effects of using a nonprocedural language on programmer productivity," UCLA Grad. School Management, Inform. Syst. Working Paper 3-83, Nov. 1982.
[60] P. Heckel,The Elements of Friendly Software Design. Warner Books, 1984.
[61] J. R. Herd, J. N. Postak, W. E. Russel, and K. R. Stewart, "Software cost estimation study--Study results," Doty Associates, Inc., Rockville, MD, Final Tech. Rep. RADC-TR-77-220, Vol. I (of two), June 1977.
[62] E. Horowitz, A. Kemper, and B. Narasimhan, "A survey of application generators,"IEEE Software, vol. 2, pp. 40-54, Jan. 1985.
[63] W. A. Hosier, "Pitfalls and safeguards in real-time digital systems with emphasis on programming,"IRE Trans. Eng. Management, pp. 99-115, June 1961; inProc. 9th Int. Conf. Software Engineering, IEEE, Mar. 1987.
[64] H. Hunke, Ed.,Software Engineering Environments. Amsterdam, The Netherlands: North-Holland, 1981.
[65] M. A. Jackson,System Development. Englewood Cliffs, NJ: Prentice-Hall, 1983.
[66] R. W. Jensen, "An improved macrolevel software development resource estimation model," inProc. 5th ISPA Conf., Apr. 1983, pp. 88-92.
[67] R. W. Jensen, "Projected productivity impact of near-term Ada use in software system development," inProc. 7th ISPA Conf., May 1985.
[68] R. W. Jensen and S. Lucas, "Sensitivity analysis of the Jensen software model," inProc. 5th ISPA Conf., Apr. 1983, pp. 384-389.
[69] T. C. Jones, "Demographic and technical trends in the computing industry," Software Productivity Research, Inc., July 1983.
[70] T. C. Jones,Programming Productivity. New York: McGraw-Hill, 1986.
[71] E. Kant, "Understanding and automating algorithm design."IEEE Trans. Software Eng., vol.SE-11, no. II, pp. 1361-1374, Nov. 1985.
[72] B. W. Kernighan, "The Unix system and software reusability,"IEEE Trans. Software Eng., vol. SE-10, pp. 513-518, Sept. 1984.
[73] B. W. Kernighan and J. R. Mashey, "The Unix programming environment,"Computer, vol. 14, pp. 12-24, Apr. 1981.
[74] B. W. Kernighan and P. J. Plauger,Software Tools. Reading, MA: Addison-Wesley, 1976.
[75] R. G. Lanegran and C. A. Grasso, "Software engineering with reusable design and code,"IEEE Trans. Software Eng., vol. SE- 10, pp. 498-501, Sept. 1984.
[76] J. Z. Lavi, "A systems engineering approach to software engineering," inProc. IEEE Software Workshop, Feb. 1984, pp. 49-57.
[77] M. M. Lehman, V. Stenning, and C. Potts, Eds.,Proc. Software Process Workshop, IEEE, Feb. 1984.
[78] E. Lieblein, "STARS program overview," inProc. DoD/Industry STARS Workshop, EIA, May 1985.
[79] B. P. Lientz and E. B. Swanson,Software Maintenance Management. Reading, MA: Addison-Wesley, 1980.
[80] M. Lundeberg, G. Goldkuhl, and A. Nilsson,Information Systems Development: A Systematic Approach. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[81] J. H. Manley, "Software engineering provisioning process," inProc. 8th Int. Conf. Software Engineering, Aug. 1985, pp. 273- 284.
[82] E. W. Martin, "Strategy for a DoD software initiative,"Computer, vol. 16, pp. 52-59, Mar. 1983.
[83] Y. Matsumoto, "Management of industrial software production,"Computer, vol. 17, pp. 59-70, Feb. 1984.
[84] T. J. McCabe, "A complexity measure,"IEEE Trans. Software Eng., vol. SE-2, pp. 308-320, Dec. 1976.
[85] J. A. McCall, P. K. Richards, and G. F. Walters, "Factors in software quality," General Electric, Co., Rep. GE-TIS-77 CIS 02, 1977.
[86] D. D. McCracken and M. A. Jackson, "Life cycle concept considered harmful,"ACM Software Eng. Notes, pp. 29-32, Apr. 1982.
[87] R. W. McGuffin, A. E. Elliston, B. R. Tranter, and P. N. Westmacott, "CADES--Software engineering in practices," inProc. 4th Int. Conf. Software Engineering, Sept. 1979, pp. 136-144.
[88] P. J. Metzger,Managing a Programming Project, 2nd ed. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[89] J. Munson, "Report of the USAF Scientific Advisory Board committee on the high cost and risk of mission-critical software," Dec. 1983.
[90] Naval Ocean Systems Center, "SEATECS: Software engineering automation for tactical embedded computer systems," Aug. 31, 1982.
[91] E. A. Nelson,Management Handbook for the Estimation of Computer Programming Costs, Systems Development Corp., Ad- A648750, Oct. 31, 1966.
[92] D. L. Parnas, "Designing software for ease of extension and contraction,"IEEE Trans. Software Eng., vol. SE-5, pp. 128-137, Mar. 1979.
[93] D. L. Parnas, P. C. Clements, and D. M. Weiss, "The modular structure of complex systems,"IEEE Trans. Software Eng., vol. SE-11, pp. 259-266, Mar. 1985.
[94] M. E. Porter,Competitive Strategy: Techniques for Analyzing Industries and Competitors. New York: Free Press, 1980.
[95] M. E. Porter,Competitive Advantage. New York: Free Press, 1985.
[96] L. H. Putnam, "A general empirical solution to the macro software sizing and estimating problem,"IEEE Trans. Software Eng., vol. SE-4, pp. 345-361, July 1978.
[97] Raytheon Computer Services, "Reusable software: Theory and implementation," Raytheon Co., 1983.
[98] D. J. Reifer,Tutorial: Software Management. Washington, DC: IEEE Computer Society, 1981.
[99] D. J. Reifer and S. Trattner, "A glossary of software tools and techniques,"Computer, vol. 10, pp. 52-60, July 1977.
[100] S. P. Reiss, "Pecan: Program development systems that support multiple views,"IEEE Trans. Software Eng., vol. SE-11, pp. 276-285, Mar. 1985.
[101] C. Rich and H. E. Shrobe, "Initial report on a programmer's apprentice,"IEEE Trans. Software Eng., pp. 456-467, Nov. 1978.
[102] R. J. Rubey, J. A. Dana, and P. W. Biche, "Quantitative aspects of software validation,"IEEE Trans. Software Eng., vol. SE-1, pp. 150-155, June 1975.
[103] H. A. Rubin, "A comparison of cost estimation tools-(a panel session)," inProc. 8th Int. Conf. on Software Eng.(London), Aug. 1985, pp. 174-180.
[104] B. Shneiderman,Software Psychology: Human Factors in Computer and Information Systems. Cambridge, MA: Winthrop, 1980.
[105] D.R. Smith, G. B. Kotik, and S. J. Westfold, "Research on knowledge-based software environments at Kestrel Institute,"IEEE Trans. Software Eng., vol. SE-11, no. 11, pp. 1278-1295, Nov. 1985.
[106] H. M. Sneed and A. Marey, "Automated software quality assurance,"IEEE Trans. Software Eng., vol. SE-11, pp. 909-916, Sept. 1985.
[107] D. Spadaro, "Project evaluation made simple,"Datamation, pp. 121-124, Nov. 1985.
[108] H. G. Steubing, "A software engineering environment (SEE) for weapon system software,"IEEE Trans. Software Eng., vol. SE-10, pp. 384-397, July 1984.
[109] G. E. Swinson, "Workstation-based rapid simulation aids for distributed processing networks," inProc. IEEE Simulation Conf., 1984.
[110] STARS Joint Program Office, "STARS--SEE operational concept document," Oct. 2, 1985.
[111] D. Teichroew and E. A. Hershey III, "PSL/PSA: A computer-aided technique for structured documentation and analysis of information processing systems,"IEEE Trans. Software Eng., vol. SE-3, pp. 41-48, Jan. 1977.
[112] W. Teitelman, "A tour through Cedar,"IEEE Trans. Software Eng., vol. SE-11, pp. 285-302, Mar. 1985.
[113] W. Teitelman and L. Masinter, "The Interlisp programming environment,"Computer, vol. 14, pp. 25-33, Apr. 1981.
[114] A. J. Thadhani, "Factors affecting programmer productivity during application development,"IBM Syst. J., vol. 23, pp. 19-35, Nov. 1984.
[115] C. E. Walston and C. P. Felix, "A method of programming measurement and estimation,"IBM Syst. J., vol. 16, no. 1, pp. 54-73, 1977.
[116] S. P. Wartik and M. H. Penedo, "Fillin: A reusable tool for form-oriented software,"IEEE Software, vol. 3, pp. 61-69, Mar. 1986.
[117] A. I. Wasserman,Tutorial: Software Development Environments. Washington, DC: Computer Society, 1981.
[118] R. C. Waters, "The programmers' apprentice: A session with KBEmacs,"IEEE Trans Software Eng., vol. SE-11, no. 11, pp. 1296-1320, Nov. 1985.
[119] P. Wegner, "Capital-intensive software technology,"IEEE Software, vol. 1, pp. 7-45, July 1984.
[120] G. Weinberg,The Psychology of Computer Programming, Van Nostrand Reinhold, New York, 1971.
[121] G. M. Weinberg and E. L. Schulman, "Goals and performance in computer programming,"Human Factors, vol. 16, no. 1, pp. 70- 77, 1974.
[122] R. D. Williams, "Managing the development of reliable software," inProc. 1975 Int. Conf. Reliable Software, IEEE/ACM, Apr. 1975, pp. 3-8.
[123] A. O. Williman and C. O'Donnell, "Through the central 'multiprocessor' avionics enters the computer era,"Astronautics and Aeronautics, July 1970.
[124] R. W. Wolverton, "The cost of developing large-scale software,"IEEE Trans. Comput., vol. C-24, pp. 615-636, June 1975.
[125] P. Zave, "The operational versus the conventional approach to software development,"Commun. ACM, vol. 27, no. 2, pp. 104-118, Feb. 1984.
[126] M. Zelkowitz and S. Squires, Ed.,Proc. ACM Rapid Prototyping Symp., ACM, Oct. 1982.

Index Terms:
software costs; black-box; influence-function; software productivity; glass-box; cost distribution; integrated software productivity; quality improvement; value chain; software productivity opportunity tree; software budgets; end-user system objectives; DP management; software engineering
Citation:
B.W. Boehm, P.N. Papaccio, "Understanding and Controlling Software Costs," IEEE Transactions on Software Engineering, vol. 14, no. 10, pp. 1462-1477, Oct. 1988, doi:10.1109/32.6191
Usage of this product signifies your acceptance of the Terms of Use.