Using Investment Analysis in Rational Focal Point: Part 1. Build a simple financial model for a software project

Rational Focal Point is widely used to manage product portfolios, IT portfolios, and application portfolios. One of the key features of this tool that can be used for analyzing the investments of any business is the Investment Analysis component. This two-part article explains how to use this feature, following two different scenarios as examples. Part 1 shows you how to build a simple financial model for a software project, and Part 2 describes a more advanced model that reuses the financial model from another project and compares results.

Share:

Swathi Jain (swathi.jain@in.ibm.com), User Assistance Team Lead, IBM

author photoSwathi leads the Rational Focal Point User Assistance team and is also an information architect. She collaborates with various teams to deliver high-quality documentation for the products and handles the multimedia content to help promote products and educate customers.



Veena K. Omprakash (veena.kumari@in.ibm.com), Information Developer, IBM

author photoVeena is an information developer for Rational Focal Point, working at the IBM India Software Lab. She has worked in this role for other Rational products and has contributed to developing various user assistance deliverables.



18 December 2012

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.

Scenario 1

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.

Scenario 2

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.

Prerequisites

  • 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

Configure the financial model

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.

  1. Open an existing workspace or create a new workspace.
  2. To create a module, click Configure > Module.
  3. Click Add Module, and name the module Software Project.
  4. To add attributes to the module, click Configure > Attributes, and select the Software Project module.
  5. Create two Date types of attributes, and name them Project Start Date and Project End Date.
  6. Create a Time Grid type of attribute, and configure it:
    1. 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.
    2. Click Add Sheet, and create four sheets to set the appropriate scenario type: High, Likely, Low, and Actual.
      Figure 1. Time Grid sheets
      Sheets for the Time grid attribute
    3. From the Time Interval list, select Year for all of the sheets, and select the Date attribute check box.
    4. For all of the sheets, select Project Start Date and Project End Date from the list for the start and end dates.
    5. 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.
Figure 2. Time grid streams
Rows for the time grid attribute

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.

  1. To retrieve the financial model results, create the result attributes listed in the table.
Table 1. Output attributes
Attribute typeAttribute nameAlias 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

Build the model

After setting up the attributes required for the projects, you can build the financial model.

Create the project

In the Software Project module, create an element for the project.

  1. To add elements to the Software Project module, click Modules > Software Project.
  2. Click Add Element.
  3. Specify the element name as Project1, and provide a description for the type of project.
  4. Click OK to save the changes.
  5. 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:

  1. In the Projects element, click to open the Development resource stream.
  2. 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
Estimate of resource requirements over time

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.

  1. Select the Development cost stream.
  2. 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
  3. Create a calculator tape:
    1. Click the Calculator tab.
    2. Click Tape > New Tape.
    3. Name the tape Development cost.
  4. Create a variable with the following parameters:
    • Name: DevelopmentCost
    • Type: Formula
    • Value: Type the formula,
      BurdenedLabor*'Development resource'[PERIOD]

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.

  1. In the Calculator tab, select the Auto recalc check box.
  2. To display the probability graph, select the Graph results check box.
  3. To see the development cost for 2012 plotted in a graph, click Apply simulation to 2012.
  4. 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
Graph of total development cost
  1. To save the tape, click Tape > Save Tape.
  2. 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:

  1. Estimate the number of developers required throughout the project lifecycle for the maintenance task:
    1. Select the Maintenance resource stream.
    2. 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
Graph of estimated resources required
  1. Calculate the maintenance cost:
    1. Select the Maintenance cost stream.
    2. Create a calculator tape and specify the name as Maintenance cost.
    3. Create a variable with the following parameters:
      • Name: MaintenanceCost
      • Type: Formula
      • Value: Type the formula,
         BurdenedLabor*'Maintenance resource'[PERIOD]
  2. Run the simulation.
  3. 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
Simulation result and graph
  1. To save the tape, click Tape > Save Tape.
  2. To save the setup, click Save.

Calculate the sales revenue

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.

  1. Estimate the number of licenses that will be sold throughout the project lifecycle:
    1. Select the License stream.
    2. 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
Graph of estimate of license to be sold over time
  1. Calculate the transactional sales revenue:
    1. Select the Sales stream.
    2. To create a variable, click the Variables tab.
  2. Create a variable with the following values:
    1. Name: CostPerLicense
    2. Type: Triangular
    3. Value: (type)
      • Low value: 20,000
      • Likely value: 22,000
      • High value: 24,000
  3. Create a calculator tape called Sales revenue.
  4. Create a variable with the following values:
    • Name: SalesRevenue
    • Type: Formula
    • Value: Type the formula,
      CostPerLicense*'License'[PERIOD]
  5. Run the simulation.
  6. 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
Simulation result and graph for total sales
  1. To save the tape, click Tape > Save Tape.
  2. 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
Variables used for analyzing the investment for a software development project

Analyze the results

Next, analyze the results of the model using the output attributes and the NPV probability distribution.

Analyze the output attributes

Figure 10. Output attributes
Analyze NPV, ROI, payback period 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.

Analyze the NPV probability

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
Distribution curve shows probability of NPV

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.


Summary and conclusion

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.


Acknowledgements

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.

Resources

Learn

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

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Rational software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=850775
ArticleTitle=Using Investment Analysis in Rational Focal Point: Part 1. Build a simple financial model for a software project
publish-date=12182012