Difference between revisions of "Chapter 12: Software Engineering Economics"

From SWEBOK
Jump to: navigation, search
(Accounting)
(Cash Flow)
Line 173: Line 173:
 
flow diagram for a proposal.
 
flow diagram for a proposal.
 
[[File:A Cash Flow Diagram.jpg|thumb|400px|frame|Figure 12.2:  A Cash Flow Diagram]]
 
[[File:A Cash Flow Diagram.jpg|thumb|400px|frame|Figure 12.2:  A Cash Flow Diagram]]
 +
===Decision-Making Process===
 +
{{RightSection|{{referenceLink|number=1|parts=c2, c4}}}}

Revision as of 11:35, 27 August 2015

Acronyms
EVM
Earned Value Management
IRR
Internal Rate of Return
MARR
Minimum Acceptable Rate of Return
SDLC
Software Development Life Cycle
SPLC
Software Product Life Cycle
ROI
Return on Investment
ROCE
Return on Capital Employed
TCO
Total Cost of Ownership
Introduction

Software engineering economics is about making decisions related to software engineering in a business context. The success of a software product, service, and solution depends on good business management. Yet, in many companies and organizations, software business relationships to software development and engineering remain vague. This knowledge area (KA) provides an overview on software engineering economics. Economics is the study of value, costs, resources, and their relationship in a given context or situation. In the discipline of software engineering, activities have costs, but the resulting software itself has economic attributes as well. Software engineering economics provides a way to study the attributes of software and software processes in a systematic way that relates them to economic measures. These economic measures can be weighed and analyzed when making decisions that are within the scope of a software organization and those within the integrated scope of an entire producing or acquiring business. Software engineering economics is concerned with aligning software technical decisions with the business goals of the organization. In all types of organizations — be it “for-profit,” “notfor- profit,” or governmental — this translates into sustainably staying in business. In “for-profit” organizations this additionally relates to achieving a tangible return on the invested capital — both assets and capital employed. This KA has been formulated in a way to address all types of organizations independent of focus, product and service portfolio, or capital ownership and taxation restrictions. Decisions like “Should we use a specific component?” may look easy from a technical perspective, but can have serious implications on the business viability of a software project and the resulting product. Often engineers wonder whether such concerns apply at all, as they are “only engineers.” Economic analysis and decision-making are important engineering considerations because engineers are capable of evaluating decisions both technically and from a business perspective. The contents of this knowledge area are important topics for software engineers to be aware of even if they are never actually involved in concrete business decisions; they will have a well-rounded view of business issues and the role technical considerations play in making business decisions. Many engineering proposals and decisions, such as make versus buy, have deep intrinsic economic impacts that should be considered explicitly. This KA first covers the foundations, key terminology, basic concepts, and common practices of software engineering economics to indicate how decision-making in software engineering includes, or should include a business perspective. It then provides a life cycle perspective, highlights risk and uncertainty management, and shows how economic analysis methods are used. Some practical considerations finalize the knowledge area.

Breakdown of Topics for Software Engineering Models and Methods

The breakdown of topics for the Software Engineering Economics KA is shown in Figure 12.1.

Figure 12.1: Breakdown of Topics for the Software Engineering Economics KA

1 Software Engineering Economics Fundamentals

1.1 Finance

[1, c2]

Finance is the branch of economics concerned with issues such as allocation, management, acquisition, and investment of resources. Finance is an element of every organization, including software engineering organizations. The field of finance deals with the concepts of time, money, risk, and how they are interrelated. It also deals with how money is spent and budgeted. Corporate finance is concerned with providing the funds for an organization’s activities. Generally, this involves balancing risk and profitability, while attempting to maximize an organization’s wealth and the value of its stock. This holds primarily for “for-profit” organizations, but also applies to “not-for-profit” organizations. The latter needs finances to ensure sustainability, while not targeting tangible profit. To do this, an organization must

  • identify organizational goals, time horizons, risk factors, tax considerations, and financial constraints;
  • identify and implement the appropriate business strategy, such as which portfolio and investment decisions to take, how to manage cash flow, and where to get the funding;
  • measure financial performance, such as cash flow and ROI (see section 4.3, Return on Investment), and take corrective actions in case of deviation from objectives and strategy.

1.2 Accounting

[1, c15]

Accounting is part of finance. It allows people whose money is being used to run an organization to know the results of their investment: did they get the profit they were expecting? In “for-profit” organizations, this relates to the tangible ROI (see section 4.3, Return on Investment), while in “not-for-profit” and governmental organizations as well as “for-profit” organizations, it translates into sustainably staying in business. The primary role of accounting is to measure the organization’s actual financial performance and to communicate financial information about a business entity to stakeholders, such as shareholders, financial auditors, and investors. Communication is generally in the form of financial statements that show in money terms the economic resources to be controlled. It is important to select the right information that is both relevant and reliable to the user. Information and its timing are partially governed by risk management and governance policies. Accounting systems are also a rich source of historical data for estimating.

1.3 Controlling

[1, c15]

Controlling is an element of finance and accounting. Controlling involves measuring and correcting the performance of finance and accounting. It ensures that an organization’s objectives and plans are accomplished. Controlling cost is a specialized branch of controlling used to detect variances of actual costs from planned costs.

1.4 Cash Flow

[1, c3]

Cash flow is the movement of money into or out of a business, project, or financial product over a given period. The concepts of cash flow instances and cash flow streams are used to describe the business perspective of a proposal. To make a meaningful business decision about any specific proposal, that proposal will need to be evaluated from a business perspective. In a proposal to develop and launch product X, the payment for new software licenses is an example of an outgoing cash flow instance. Money would need to be spent to carry out that proposal. The sales income from product X in the 11th month after market launch is an example of an incoming cash flow instance. Money would be coming in because of carrying out the proposal.

The term cash flow stream refers to the set of cash flow instances over time that are caused by carrying out some given proposal. The cash flow stream is, in effect, the complete financial picture of that proposal. How much money goes out? When does it go out? How much money comes in? When does it come in? Simply, if the cash flow stream for Proposal A is more desirable than the cash flow stream for Proposal B, then—all other things being equal—the organization is better off carrying out Proposal A than Proposal B. Thus, the cash flow stream is an important input for investment decision-making. A cash flow instance is a specific amount of money flowing into or out of the organization at a specific time as a direct result of some activity. A cash flow diagram is a picture of a cash flow stream. It gives the reader a quick overview of the financial picture of the subject organization or project. Figure 12.2 shows an example of a cash flow diagram for a proposal.

Figure 12.2: A Cash Flow Diagram

1.5 Decision-Making Process

[1, c2, c4]