Economics

Key Points

▲ Modern software technology is enabling systems to be built with fewer human-generated source lines.

▲ Modern software processes are iterative.

A Modern software development and maintenance environments are the delivery mechanism for process automation.

Improvements in the economics of software development have been not only difficult to achieve but also difficult to measure and substantiate. In software textbooks, trade journals, and product literature, the treatment of this topic is plagued by inconsistent jargon, inconsistent units of measure, disagreement among experts, and unending hyperbole. If we examine any one aspect of improving software economics, we end up with fairly narrow conclusions and an observation of limited value.

Similarly, if an organization focuses too much on improving only one aspect of its software development process, it will not realize any significant economic improvement even though it improves this one aspect spectacularly.

The key to substantial improvement is a balanced attack across several interrelated dimensions. I have structured the presentation of the important dimensions around the five basic parameters of the software cost model presented in Chapter 2.

1. Reducing the size or complexity of what needs to be developed

2. Improving the development process

3. Using more-skilled personnel and better teams (not necessarily the same thing)

4. Using better environments (tools to automate the process)

5. Trading off or backing off on quality thresholds

These parameters are given in priority order for most software domains. Table 3-1 lists some of the technology developments, process improvement efforts, and management approaches targeted at improving the economics of software development and integration.

Most software experts would also stress the significant dependencies among these trends. For example, tools enable size reduction and process improvements, size-reduction approaches lead to process changes, and process improvements drive tool requirements. Consider the domain of user interface software. Two decades ago, teams developing a user interface would spend extensive time analyzing operations, human factors, screen layout, and screen dynamics. All this would be done on paper because it was extremely expensive to commit designs, even informal prototypes, to executable code. Therefore, the process emphasized a fairly heavyweight set of early paper artifacts and user concurrence so that these "requirements" could be frozen and the high construction costs could be minimized.

Table 3-1. Important trends in improving software economics

cost model parameters

trends

Size

Higher order languages (C++, Ada 95, Java, Visual Basic,

Abstraction and component-based

etc.)

development technologies

Object-oriented (analysis, design, programming)

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment