In any scenario, no single financial metric can determine the success of a project. Various factors such as risks and dependencies must be considered before forecasting the future value of the investment. The forecast assumptions can be made based on experience, market statistics, historical data reference, and other data.
Product managers and financial executives in development projects, and portfolio management programs in software and systems organizations can use investment analysis to arrive at better investment decisions. For example, product managers can use Investment analysis to identify various business cases for product enhancements.
Investment analysis can help in driving credible financial discussion within product management, finance team, and executive team to identify the assumptions of the business case and drive a more standard way of expressing the business case.
The future is uncertain in any scenario, but this should not deter an investor to invest in any new project.
The investors require analysis in terms of the data that helps to find the following parameters:
- How much investment is required over a period of time?
- What would the return on investment be at different phases of the project?
- When will the investment be recouped and become profitable?
- What kind of corrections do we need to make for the project to be profitable?
- What is the net present value of the project at any given time?
The Investment Analysis component in Rational Focal Point can help in providing answers to these uncertainties.
Scenarios and requirements for this article
To begin the financial analysis, the data that is provided as forecasted estimates that can be derived from the previous projects and best practices.
The Investment Analysis component in IBM® Rational® Focal Point™ uses the futuristic estimates and helps to see the credibility of a potential investment. Use Investment analysis to build financial models of expected cost and estimated benefits of your project over time. Focal Point uses these bounded estimates to compute the likely financial metrics for the project.
This two-part article is based on two scenarios.
A software and systems organization is considering developing a software tool. The management needs to determine the potential development cost, cost of resources, support cost, sales revenue, and license revenue over a period of time. They also need to analyze the return on investment (ROI), net present value (NPV), and payback period at each phase of the project.
A car manufacturing company is considering manufacturing hybrid cars but has two different options that varies a lot and is now considered to be two different projects.
In this first of two articles, we address Scenario 1 by explaining how to use using Rational Focal Point to build a simple financial model for the software development project.
Note:
None of the data is precise, including the types of streams, variables, and their values. The values might not resemble the real-world values as used in the automobile industry. The values are used as examples to show the use of the Investment Analysis feature of Rational Focal Point.
- Rational Focal Point Version 6.5.2 or later installed
- Working knowledge of Rational Focal Point
- Administrator privileges to create modules and elements and configure attributes
Several key computations must be considered when configuring the financial model:
- Cost
- The expected cost to complete the project and expected costs after delivery
- Benefit
- Expected revenue after delivery and expected revenue and cost savings from reus
- Risk
- Combined uncertainty in estimated costs and benefits
Determine the cost, benefit, and non-monetary parameters
For the model in this example, you will consider the following cost, benefit, and non-monetary streams in the software development project.
Cost streams
- Development
- This stream includes the metrics and portrayals for the resource requirement for project development, and the total development cost.
- Maintenance
- This stream includes the metrics and portrayals for the resource requirement for support and project maintenance tangent.
Benefit streams
- Sales revenue
- This stream includes the transactional sales revenue of the project by considering the number of licenses procured.
Non-monetary streams
- Development resource
- This stream includes the projection of the resource requirements for software development over the lifecycle of the software.
- Maintenance resource
- This stream includes the projection of the resource requirements for maintenance of the software throughout the project lifecycle.
- License
- This stream includes the projection of the number of licenses that might be sold from the time the software is released. This projection is used to calculate the sales revenue.
Configure the Time Grid attributes and output attributes
In this example, you configure a Time Grid attribute and output attributes to retrieve the investment analysis results.
- Open an existing workspace or create a new workspace.
- To create a module, click Configure > Module.
- Click Add Module, and name the module
Software Project. - To add attributes to the module, click Configure > Attributes, and select the Software Project module.
- Create two Date types of attributes, and name them
Project Start DateandProject End Date. - Create a Time Grid type of attribute, and configure it:
- Specify values:
- Name: Type
Project Specification - Alias name: Specify
sdlc.
Important:
You must use this alias name later as prefixes when you create the attributes to retrieve the financial analysis results. - Select the Allow Investment Analysis check box.
- Name: Type
- Click Add Sheet, and create four sheets to set the appropriate scenario type: High, Likely, Low, and Actual.
Figure 1. Time Grid sheets
- From the Time Interval list, select Year for all of the sheets, and select the Date attribute check box.
- For all of the sheets, select Project Start Date and Project End Date from the list for the start and end dates.
- To add the cost and benefit streams for the project, click Add Row and add the cost, benefit, and non-monetary streams shown in Figure 2:
- In the Time interval field, select Year.
- In the Display type field, select Stream.
- Click OK to save the time grid.
Note:
All cost streams must have the same units. The benefits can be monetary or non-monetary, but the monetary benefit must have the same unit as that of the cost.
- Specify values:
Figure 2. Time grid streams
The results from the financial analysis of the model can be retrieved by creating output attributes in the same module that contains the time grid. To return the results, the alias of the time grid is used as a prefix for the alias of each result attribute.
- To retrieve the financial model results, create the result attributes listed in the table.
Table 1. Output attributes
| Attribute type | Attribute name | Alias name |
|---|---|---|
| Time Grid | Project Specification | sdlc |
| Matrix | NPV Distribution | sdlc__NPV |
| Float | NPV Mean | sdlc__NPVMean |
| Float | NPV Standard Deviation | sdlc__NPVStddev |
| Integer | ROI | sdlc__ROI |
| Float | IRR | sdlc__IRR |
| Integer | Payback Period | sdlc__ paybackPeriod |
| Matrix | ROI TO Date | sdlc__ ROIToDate |
| Matrix | ROI TO Go | sdlc__ ROIToGo |
| Matrix | Payback period distribution | sdlc__ paybackPeriodDist |
After setting up the attributes required for the projects, you can build the financial model.
In the Software Project module, create an element for the project.
- To add elements to the Software Project module, click Modules > Software Project.
- Click Add Element.
- Specify the element name as
Project1, and provide a description for the type of project. - Click OK to save the changes.
- Click one of the stream names to open Investment Analysis mode.
Calculate the development cost
To calculate the development cost, you need to determine the number of developers and the investment for each developer.
Estimate the number of developers
First, you need to project the number of developers required over a period of time. This example is based on the following assumptions:
- 2012-2022: Project lifecycle
- 2013: Project delivery
- 2012-2013: Research and development
- 2013-2016: Development effort increases, the most engineers required
- 2014: Maintenance and support
- 2016-2022: Development declines
To estimate the number of developers required throughout the project lifecycle:
- In the Projects element, click to open the Development resource stream.
- Click the Estimates tab. Use the graphical editor or grid, and project your assumptions of the number of developers required over time.
Tip:
When you plot the estimates in the grid, in the Variables tab, clear the auto recalc check box. When the auto recalc option is On, any change in data will trigger a recalculation of all of the dependant calculator tapes. The auto recalc option in the Calculator tab will only rerun the current tape in the tab, thus bypassing the need to click the Run Simulation button repeatedly.
Figure 3. Development resource
Create a calculator tape for the total development cost
After estimating the number of developers required throughout the project lifecycle, you need to calculate the total cost to be invested on the development effort.
- Select the Development cost stream.
- To create a variable, click the Variables tab and specify the following parameters:
- Name:
BurdenedLabor - Type: Normal
- Type the values
- Mean value:
250,000 - Standard deviation value:
50,000
- Mean value:
- Name:
- Create a calculator tape:
- Click the Calculator tab.
- Click Tape > New Tape.
- Name the tape
Development cost.
- Create a variable with the following parameters:
- Name:
DevelopmentCost - Type: Formula
- Value: Type the formula,
BurdenedLabor*'Development resource'[PERIOD]
- Name:
Run the simulation
After the estimates for any stream are specified, you must run the simulation to see the result for each year. You can calculate the distribution of the financial metrics of the Software Project model by using the Monte Carlo simulation.
- In the Calculator tab, select the Auto recalc check box.
- To display the probability graph, select the Graph results check box.
- To see the development cost for 2012 plotted in a graph, click Apply simulation to 2012.
- Similarly, to see the development cost for each year, move the slider to each year and click Apply simulation to YYYY.
In Figure 4, the development cost is plotted in the graph for each year from 2012 to 2022.
DC is DevelopmentCost and BL is BurdenedLabor.
Figure 4. Total development cost
- To save the tape, click Tape > Save Tape.
- To save the setup, click Save.
Calculate the maintenance cost
The project will also require maintenance and support after the software is delivered. To calculate the maintenance cost, you need to determine the number of developers required and the investment for each developer.
Estimate the number of developers
We have made the following assumptions for the maintenance:
- The software will be delivered in 2013, and the maintenance will begin in 2014.
- The developers required for the maintenance task would be fewer than the developers required for development of the project.
- The burdened labor cost remains the same for maintenance and development resources.
To calculate the maintenance cost:
- Estimate the number of developers required throughout the project lifecycle for the maintenance task:
- Select the Maintenance resource stream.
- Click the Estimates tab. Use the graphical editor or grid and project your assumptions of the number of developers required over time.
Figure 5. Resources for maintenance task, 2012 - 2022
- Calculate the maintenance cost:
- Select the Maintenance cost stream.
- Create a calculator tape and specify the name as
Maintenance cost. - Create a variable with the following parameters:
- Name:
MaintenanceCost - Type: Formula
- Value: Type the formula,
BurdenedLabor*'Maintenance resource'[PERIOD]
- Name:
- Run the simulation.
- Move the slider to apply the simulation result to each year.
In Figure 6, MC is MaintenanceCost and BL is BurdenedLabor.
Figure 6. Total maintenance cost, 2012 - 2022
- To save the tape, click Tape > Save Tape.
- To save the setup, click Save.
After the project cost is calculated, you can ascertain the revenue that the project will generate. The revenue is calculated based on the number of licenses sold.
- Estimate the number of licenses that will be sold throughout the project lifecycle:
- Select the License stream.
- Click the Estimates tab. Use the graphical editor or grid, and project your assumptions of the number of licenses over time.
Figure 7. License sold projection, 2012 - 2022
- Calculate the transactional sales revenue:
- Select the Sales stream.
- To create a variable, click the Variables tab.
- Create a variable with the following values:
- Name: CostPerLicense
- Type: Triangular
- Value: (type)
- Low value:
20,000 - Likely value:
22,000 - High value:
24,000
- Low value:
- Create a calculator tape called
Sales revenue. - Create a variable with the following values:
- Name:
SalesRevenue - Type: Formula
- Value: Type the formula,
CostPerLicense*'License'[PERIOD]
- Name:
- Run the simulation.
- Move the slider to each year, and apply the simulation result.
In Figure 8, SR is SalesRevenue, and CPL is CostPerLicense.
Figure 8. Total sales revenue over time
- To save the tape, click Tape > Save Tape.
- To save the setup, click Save.
Now, you have built a financial model for the Software Project using the variables.
In Figure 9, BL is BurdenedLabor, and CPL is CostPerLicense.
Figure 9. Variables
Next, analyze the results of the model using the output attributes and the NPV probability distribution.
Figure 10. Output attributes
The output attributes for the Software Project show encouraging financial results:
- The rate of interest on the investment is 532%.
- The payback period of 1 indicates that the project will recover its initial investment in one year and will be profitable thereafter.
- The IRR value of 1,135.89 is the discount rate at which the net present value (NPV) of costs (negative cash flow) equals the NPV of the benefits (positive cash flow) of the investment.
The NPV Probability tab shows the probability distribution of the expected NPV for the Software Project. The probability distribution shows the 10th percentile, the mode, and 90th percentile values for the NPV. The vertical line in the middle of the distribution curve indicates the mode value.
Figure 11. NPV probability
The NPV probability distribution for the Software Project shows a good value at the 10th and 90th percentile, with the mode value of 598,330,167.43.
You have now calculated the company's development and maintenance costs for the Software Project, as well as the sales revenue.
The results indicate that the project is a good investment and the software is likely to be successful.
Part 2 of this article describes how to build more advanced models and analyze results.
To create this article, we collaborated with various subject-matter experts (SMEs) to derive various business cases and find the best way to implement this feature in real-life scenarios. We thank Murray Cantor, IBM Distinguished Engineer, for guiding us through the whole process of setting up the model. We also thank Michael Rowe, Vatsala Swamy, Bjorn Kylberg, and Neeti Sukhtankar for providing their valuable insights and feedback while we were developing this article.
Learn
- Find out more about Focal Point:
- Learn more about the Investment Analysis component in the information center.
- Read these two developerWorks articles:
- Calculate your return on investment for software and systems by Murray Cantor (IBM developerWorks, May 2012)
- Get started with Investment Analysis in IBM Rational Focal Point: An illustrated introduction by Tejaswini Jamakhandi (developerWorks, September 2012)
- Browse the Rational Focal Point overview page, as well as the developerWorks page, where you’ll find data sheets, system requirements, specific benefits, and related articles and white papers.
- Check the Rational Focal Point Information Centers for the user guides (documentation).
- Explore the Rational software area on developerWorks for technical resources and best practices for other Rational Software Delivery Platform products.
- Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
- Attend a free developerWorks Live! briefing to get up-to-speed quickly on IBM products and tools, as well as IT industry trends.
- Watch developerWorks on-demand demos, ranging from product installation and setup demos for beginners to advanced functionality for experienced developers.
- Improve your skills. Check the Rational training and certification catalog, which includes many types of courses on a wide range of topics. You can take some of them anywhere, any time, and many of the Getting Started ones are free.
Get products and technologies
- Download a free trial version of Rational software.
- Evaluate other IBM software in the way that suits you best: Download it for a trial, try it online, use it in a cloud environment, or spend a few hours in the SOA Sandbox learning how to implement service-oriented architecture efficiently.
Discuss
- Join the Rational Focal Point forum to ask questions and participate in discussions.
- Get connected with your peers and keep up on the latest information in the Rational community.
- Rate and write a review of Rational Focal Point. It's quick and easy.
- Share your knowledge and help others who use Rational software by writing a developerWorks article. Find out what makes a good developerWorks article and how to proceed.
- Follow Rational software on Facebook, Twitter (@ibmrational), and YouTube, and add your comments and requests.
- Ask and answer questions and increase your expertise when you get involved in the Rational forums, cafés, and wikis.





