Software as Capital: An Economic Perspective on Software EngineeringSoftware As Capital looks at software development through the eyes of a capital theorist, an economist fascinated by the constant evolution of new and better tools and processes. Baetjer asks, what is really happening in software development at the conceptual level? Why has programming practice evolved as it has? Why are certain tools and methodologies superior to others? What will it take to bring dramatic improvement to the industry? Answers lie in capital theory and the evolution of capital goods. The concept that designing capital goods is a social learning process leads to interesting conclusions about software process models and methodologies. The book examines the main failing of the software industry when compared to other industries: the absence of an extensive division of labor for software components. It sets out the reasons for the problem, outlines the solutions, and illustrates the benefits that will result from its solution. |
Contents
THE EVOLVING CAPITAL STRUCTURE | 3 |
CAPITAL GOODS AND DIVISION OF KNOWLEDGE ACROSS TIME AND SPACE | 16 |
A Short History of Software Development | 29 |
Copyright | |
16 other sections not shown
Common terms and phrases
abstraction allow analysis and design applications articulate aspects Austrian School automate build built capital structure chapter charge-per-use client communication compilers complementarity complex component markets Computer Society design process detail devel development methodologies diagrams division of knowledge division of labor economic economies of scope economists elements embodied knowledge environment evolution evolving example function growth theory Hayek human implementation important improve increasing information hiding inputs interaction interfaces involved Kent Beck kind knowl Lachmann laser machine maintain ment modularity modules object object-oriented languages object-oriented programming output particular physical problem production process programming languages rapid prototyping relationships requirements reusable components Romer Smalltalk social learning process soft software capital software components software design software development process software engineering software industry software maintenance software reuse software systems software tools specification tacit tion understand users Ward Cunningham