Deciding to engage in a software project typically results in incurring costs and generating revenues over a long time period. Introducing new technology into the software process can likewise be considered an investment decision. This paper presents capital budgeting techniques employed among financial analysts and upper-level management to evaluate such investment decisions. Examples are given to illustrate financial analysis techniques based on actual data reported in the software engineering literature. Under proper time discounting, the commonly reported effect of modern programming practices to shift costs to earlier in the lifecycle decreases the net present value of a project unless resulting gains in quality and productivity more than compensate. The principal theses of this paper are that software managers should use these techniques in performing cost analyses and that software process measurement programs need to be designed with the goal of supporting such analyses.