14.4 Budgeting for Software Research

14.4 Budgeting for Software Research

There are two types of software research: basic research and product development research. They are very different. Basic research is not intended to have immediate practical relevance. A company cannot convert the results of this research to cash in the near term. Product development research, on the other hand, focuses on a specific technology application. Specially trained development or maintenance staff will perform this product development research as part of their normal duties.

14.4.1 Basic Research

Basic software research is not application specific. There should be no expectation that the results of a basic software research program will enhance the company bottom line in the near term. It is an investment in the future. We intend to make the transition from the world of software craftsmanship to a new world based on sound engineering practice. There simply is not the knowledge base to do that now. Basic research will provide that foundation.

We do not know, for example, what is the best programming language metaphor for a particular application. We do not know how developers think. There are many different metaphors. Perhaps some are better than others; perhaps different developers are better with some metaphors and not so good with others; or perhaps developers are good at some programming applications and not so good at others. How should we match developers to applications? We really would like to have maintainable software. We just do not know what this means. Some topics that are clearly within the purview of basic research relate to the evaluation of:

  • Design objectives

  • Testability of software

  • Reliability of software systems

  • Hardware-software interface

  • Human-software interface

Basic research will provide the foundation for these and other fundamental questions that must have answers relatively soon. We are very rapidly approaching a software crisis. Modern, large software systems cannot be handcrafted; they must be engineered. No one individual can begin to understand the mechanics of a system that consist of over one million lines of code. No single group of people can begin to understand the mechanics of these huge systems. They will clearly have to be engineered. Basic software research will provide the necessary information for future software systems to be engineered.

One of the principal products of the basic research program will be intellectual property. Many companies in the computer-related sector now derive a significant portion of their revenue from their intellectual property base. The return on investment (ROI) for basic research is a strong factor in the budget for basic research. The time has come to learn to budget for basic research in software with the same expectation of ROI on the research expenditures.

14.4.2 Product Development Research

Product development research is very different from basic research. It is problem solving at its most basic level. The focus of product development research is on the here and now. There is a product on the floor and a deadline to ship the product. Research in this case will focus on solving problems specifically related to the product being developed. Again, a distinction must be made between research done on the application domain and research on the software development domain. Software product development research is entirely on the processes that will develop the software and not on the specific application domain.

Each software development or test department should have a product research budget. This budget should be used to fund release time and the hard costs of employees participating in the research program. By budgeting these monies, corporate commitment to the product development research effort will have clearly been established. By auditing the expenditure of these monies, guarantees can be given that the money is being invested wisely, if at all. If, for example, a manager is allocated 10 percent of the total departmental budget for product development research, then there is an expectation that there will be observable research results for this budget.



Software Engineering Measurement
Software Engineering Measurement
ISBN: 0849315034
EAN: 2147483647
Year: 2003
Pages: 139

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net