Professional Documents
Culture Documents
1.1 Software Product As A Cost Object
1.1 Software Product As A Cost Object
1 INTRODUCTION...........................................................................................................................1
1.1 Software product as a Cost Object.....................................................................1 1.2 Software Product Development Life Cycle..........................................................2
4 CONCLUSION..............................................................................................................................12
1 Introduction
1.1 Software product as a Cost Object
Software Development time and cost estimations are imperative in organizational budgeting, project planning, resource allocation and outsourcing decisions with respect to approving a software development project. Wrong estimations both understated and overstated costs have negative impacts on management and organization. Studies have shown that software development projects often run over budget, and
many projects are abandoned because of severe cost overruns and schedule slippages. Many traditional estimation approaches estimate total project time, and assume that accurate time estimation automatically leads to accurate cost estimation. E.g two projects that require the same number of man-days will have the same cost estimate, even though one project may be more complex and require a greater proportion of time to be spent in more expensive activities such as project management and R&D. This assumption may not hold as the time spent in different development and implementation activities differs across projects, Different activities have different costs and some activities cost more than others. The Activity Based Costing (ABC) Methodology has become more prominent during recent times due to its ability to allocate the indirect costs based on the activities involved in the business process thus resulting in a better or improved cost allocations. In the current project, the team would study and compare the costing of "Development of a Software Product" by using a conventional method (currently applied in the Organization) as well as by Activity Based Costing methodology. The team would also present how the cost information can be used for better decisions by the Management.
1) Innermost circle in the figure shows the software development process followed in the execution of the projects 2) Second concentric circle shows the teams which are directly involved, resourced in the execution of the project at different stages of the development 3) Outermost concentric circle shows the teams whose services and infrastructure will be utilized by project teams for the execution of the project. Oracle SCM Product Strategy, Product Management teams shown in the figure above reviews enhancement requests logged by different customers in software products, discusses with product sales teams on the new feature requirements of customers, compares with competitive products in the SCM space and identify feature gaps, takes feedback from analysts groups like Gartner, Forrester on the features being offered and new feature additions and comes up with a products future road map.
Product Management team groups different requirements gathered into list of projects, prioritize them, associates value to each of those based on the parameters like number of customers looking for the feature, how critical features are for the business, Generic or industry specific, differentiators etc. PM discusses with product development team and puts high level cost estimate for each of the projects and then submit the projects for Top management Approval. Top Management reviews the projects, does the cost benefit analysis based on the estimates given and see whether the projects can be addressed with current budget or not. If not they either scope out some of projects from the current release or allocates more budget for additional headcount for the execution of the projects.
Direct Costs
SCM Cost Center 1
Cost Center 2 Product Management Project Costing Cost Center3 (US) Product Development Cost Center4 (India) Product Deveopment Project Resource pool Direct Cost Allocation Indirect Cost Allocation
Indirect Costs
Cost Center 8
Facilities
Cost Center9
HR Operations
Cost Center11
Doc Team
Cost center13
Training Dept
(R) Product Management Product Management Product Dev Product Dev Product Dev QA Release Product Managers Sr Product Managers Senior Apps Engineer Project Leads Dev Manager QA Engineers Release Engineer Total
*Numbers mentioned in the table are not real and just taken for explanation
Direct cost for the projects can be calculated using the formula mentioned below (CTC of R * nR) * Total MDays Direct Cost = _______________________________ Working days in a year Lets not have a detailed calculation of the direct costs and say it arrives at a constant figure called DC at the end of the calculation.
components Automated Tests Preparation Infrastructure & administration costs Documentation Demos
Table 2
Total Project Cost = Direct Cost incurred + Indirect Cost incurred Total Project Cost = Rs. (DC+6,60,800)
Any software development company would try to build the product using as many re-usable components as possible instead of developing every new product from the scratch. This is because the custom-crafted approach to software is very expensive in terms of both time and money. Applications Technology Group (ATG) is the central team which is responsible for developing the re-usable components which can be implemented by the various products in the organization. ATG spends a lot of time and money in R&D, technology innovations via collaboration with other companies and therefore incurs lot of cost. In the current methodology, the ATG costs are levied to the implementing projects based on the size of the implementing project (in terms of the direct labor allocated to it). Therefore, a large product (in terms of the direct labor) will be charged high costs even if it uses very little re-usable components from ATG. Since ATG costs are typically very high, this kind of cost allocation can highly skew the over-all cost of the product. Similar problems arise when allocating costs any global function like the infrastructure, sales and general administration etc.
2.3.2
There is no direct way of knowing the cost of a given activity in the software development process. This forms a very important piece of information to the management for decision making on outsourcing a specific development activity. With whatever indirect ways the cost of an activity be arrived at, the above point on inaccurate allocation of indirect costs also adds to the inaccuracy in the determined cost.
The ABC model first groups the organization resources into various resource pools such as salaries for various direct resources involved in the project (example, project management team, development team etc), infrastructure costs like facility rental expense, license fees, and the S&GA expenses. Various activities performed in the organization are then grouped into major functionally homogeneous activities, such as Requirement analysis, functional/technical design, development, sales and distribution. Each activity consumes different amounts of one or more resource pools. For example, sales and distribution uses 5% of infrastructure and 40% of salaries of the direct labor. The costs of performing the activities are determined by allocating the costs from the resource pools to each activity according to the percentage of the resource pool
consumed. This principle is fundamentally different from the traditional costing system that assumes that products consume resources directly. The generic ABC model is outlined in the figure above. Once the activity costs are determined, they can be traced to cost objects (such as product) using cost drivers. Cost drivers measure the frequency and intensity of the demands placed on activities by cost objects, For example, one of the cost drivers for the sales and distribution activity is the number of demos presented by the sales team. The organization computes the total number of demos presented in a given time period, and traces the sales activity cost to all the products based on the number of demos done for each product. The product with the largest number of demos would bear the highest cost for sales activity. This is in contrast to the current costing methodology where the sales and distribution costs allocated to a product is directly proportional to the size of the product in terms of the direct labor involved in it. Table 4. Definition of Cost Drivers Activity Cost Driver No. Of UI reviews Definition Number of the reviews with the user experience team which is a central teams approving the UI design done by the product managers. This is important because the UIs form a direct interface with the end customers Number of re-usable components consumed weighted by the complexity of the component used. Number of new external software licenses used during the development phase of the project Number of automated test scripts created during the testing phase of the product Number of planned demos done by the sales force. No. of hours of common infrastructure used. E.g., the Video Conference facilities, Central Environments for testing/demoing the product etc.
No. of re-usable * Complexity No. of new software licenses No. of Automated Tests No. of demos No. of hours of usage of common infrastructure
3.2 Results
Lets look at the indirect costs involved using the activity based system. Here we will exclude the direct costs that are already described in table 2 in section 2.2.2 because they remain the same in the current (traditional) costing approach and the proposed Activity based costing approach. The results of the ABC analysis are presented in the table 3 below which contains the following: (1) Cost Analysis, which includes the identification and analysis of activity cost pools, total cost per activity.
(2) Cost Driver Analysis, which reports the identification of cost drivers, determination of driver rates which is a given number which the operational managers should be able to plug-in during project costing. Activity Cost Pool Cost Driver Cost Driver Count Functional Design UI review Technical Design No. Of UI review No. o f re-usable components * Complexity No. of new software Automated System Testing Sales & Distribution All Activities Infrastructure & administration costs Total 4,69,400 licenses No. of Automated Tests No. of demos No. of hours of usage 10 30 5 160 1000 500 10000 2400 10*1000=10000 30*500=15000 5*10000=50000 160*2400=384000 (usage) 2 40 Driver Rate 3200 100 3200*2=6400 40*100=4000 Total cost
Table 3
Total Project Cost = Direct Cost incurred + Indirect Cost incurred Total Project Cost = Rs. (DC+ 4,69,400) Total Project Cost = Rs. (DC+6,60,800) using Activity Based Costing using Current/Traditional Costing
4 Conclusion
It is obvious that ABC provides accurate, deeper insight into the source and causes for software product cost. This information enables managers for effective decision making on which activities to control to reduce the costs or improve operational efficiency. While the recommendations presented for the ABC model appear idealistic and can accurately produce the cost estimates for developing a software product or a particular activity in its development cycle, the ABC approach also has its own challenges. The accuracy is a function of capturing and availability of the detailed information of the resource/cost drivers. The analysis of resources, costs and utilization in activities required to customize the model to an organization can introduce significant setup costs and complexity for this approach. The problems of increased model complexity include user resistance, increased variances among project team members in driver counts, and delay in estimation.