Unit 9: Software Economics



Similar documents
Software Engineering. Dilbert on Project Planning. Overview CS / COE Reading: chapter 3 in textbook Requirements documents due 9/20

Product Lifecycle Management. Diane Ryan Siemens PLM Software

Simulation for Business Value and Software Process/Product Tradeoff Decisions

Improving Software Productivity

Software Life Cycle Processes

Contents. Today Project Management. Project Management. Last Time - Software Development Processes. What is Project Management?

CSSE 372 Software Project Management: Software Estimation With COCOMO-II

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4

Project Plan 1.0 Airline Reservation System

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

How project duration, upfront costs and uncertainty interact and impact on software development productivity? A simulation approach

Project Plan. Online Book Store. Version 1.0. Vamsi Krishna Mummaneni. CIS 895 MSE Project KSU. Major Professor. Dr.Torben Amtoft

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Lean Six Sigma Black Belt-EngineRoom

10 Keys to Successful Software Projects: An Executive Guide

E-COCOMO: The Extended COst Constructive MOdel for Cleanroom Software Engineering

Optimizing Inventory in Today s Challenging Environment Maximo Monday August 11, 2008

Measurable Results: Establish service excellence. Reduce errors by 50% The choice for progressive medical centers.

Pricing Crowdsourcing-based Software Development Tasks

Cost Estimation Tool for Commercial Software Development Industries

SUPPORTING LOGISTICS DECISIONS BY USING COST AND PERFORMANCE MANAGEMENT TOOLS. Zoltán BOKOR. Abstract. 1. Introduction

Article 3, Dealing with Reuse, explains how to quantify the impact of software reuse and commercial components/libraries on your estimate.

Supply Chain Design and the effects on shipping

Three Things I Wish I Learned in School

Process Models and Metrics

Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan.

SOFTWARE ECONOMICS UNIT 15. Presented by. Stefano Street


Software effort estimation and risk analysis A Survey Poonam kaushal Poonamkaushal14@gmail.com

Software project cost estimation using AI techniques

Software Engineering. Reading. Effort estimation CS / COE Finish chapter 3 Start chapter 5

Logical steps to logistics optimization. Preparing for smart metering mass deployment

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Primary Logistics Activities

Simulating Software Projects An Approach for Teaching Project Management

Appendix: Dynamics of Agile Software Development Model Structure

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Application Outsourcing: The management challenge

RETAIL INDUSTRY INSIGHTS. Maximising Inventory Efficiency

Test Data Management

CSE 435 Software Engineering. Sept 16, 2015

CUT COSTS, NOT PROJECTS

Noorul Islam College of Engineering M. Sc. Software Engineering (5 yrs) IX Semester XCS592- Software Project Management

Manufacturing Flow Management

Valuation of Software Intangible Assets

Software Engineering from an Engineering Perspective: SWEBOK as a Study Object

DIRECT SHIPMENT VS. CROSS DOCKING

Cost Estimation for Secure Software & Systems

Chapter 2 Software Processes

Driving Business Agility with the Use of Open Source Software

Increasing marketing campaign profitability with Predictive Analytics

Establishing Business Process Continuous Improvement Capabilities

Improve the Agility of Demand-Driven Supply Networks

Comparison of SDLC-2013 Model with Other SDLC Models by Using COCOMO

Transportation Management

MSE Presentation 1 MultiAgent Control of Traffic Signals (MACTS)

Finding the KPIs for Yard Management

Parametric Estimation for ERP Implementations

Current Status of Technology Adoption: Micro, Small and Medium Manufacturing Firms in Boston

Smart Industrial Manufacturing

The 10 Most Important Ideas in Software Development

Dr. Barry W. Boehm USC Center for Software Engineering

Identifying Factors Affecting Software Development Cost

Chapter 23 Software Cost Estimation

Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

SAMPLE QUESTIONS EXAM EXEMPLAR QUESTIONS. AD4 - Category management in procurement and supply. Level 5 Advanced Diploma in Procurement and Supply

Supporting Workflow Overview. CSC532 Fall06

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Freight Payment: The Final Link in End-to-End Supply Chain Visibility

Towards a Methodology to Estimate Cost of Object- Oriented Software Development Projects

Optimal Resource Allocation for the Quality Control Process

Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur

Empirical Software Engineering Introduction & Basic Concepts

Meeting the Network Optimization Challenge Balancing Service, Contribution and Asset Return for the Global Business Unit

Lifecycle Models: Waterfall / Spiral / EVO

Enterprise services across a five product portfolio. Torbjörn Dimblad, VP Ocean Systems 28th April 2009

Predictive and Prescriptive Analytics An Example: Advanced Sales & Operations Planning

Lecture 1 IEGR 459: Introduction to Logistics Management and Supply Chain. James Ngeru Industrial and System Engineering

Project Planning and Project Estimation Techniques. Naveen Aggarwal

Security Considerations for the Spiral Development Model

Assignment 12: Quality Assurance Plan

How to Cheat and Make Better Decisions with Predictive Analytics. Track 1 Session 3

MTAT Software Economics. Lecture 5: Software Cost Estimation

Transcription:

Unit 9: Software Economics Objectives Ð To provide an empirical view of where the effort and money goes when we build large software systems. Ð To suggest ways of reducing and controlling software costs. An Important Issue Why is it important to understand and control software costs? Ð software costs are big and growing Ð many useful software products are not getting developed Ð understanding and controlling software costs can get us better software not just more software Associated Reading Ð Boehm, B.W & Papaccio, P.N. (1988); Understanding and Controlling Software Costs; IEEE Transactions on Software Engineering, SE4, 10, pp 1462-77. 1

Approaches Two primary ways of understanding software costs: Ð the "black " or influence-function approach Ð the "glass " or cost-distribution approach BOTH APPROACHES COMPLEMENT EACH OTHER Software Cost Influence Functions controlled experimentation observational analysis black 2

Examples of Experimental Results size (DSI) and effort (MH) comparisons for... Ð prototyping vs specifying Ð different code structuring schemes Ð different commenting and variable naming strategies Ð different languages black Conclusion: we need better metrics for software productivity than DSI/MH Examples of Observational Analysis attributes collected from large numbers of programming projects develop model of software cost from these eg IBM model, Doty model, SLIM model, COCOMO model, Jensen model, SPQR model black Key Feature: productivity range of software cost driver (multiplicative amount by which cost driver can influence the software cost estimated by the model) 3

COCOMO Software Lifecycle Productivity Ranges Number of Software Source Instructions Developed Personnel/Team Capability 4.18 Product Complexity Modern Programming Practices Required Reliability Requirements Volatility Timing Constraint Software Tools 1.92 1.87 1.76 1.66 1.65 2.36 Applications Experience Storage Constraint Virtual Machine Volatility Turnaround Time Virtual Machine Experience Database Size Scheduling Constraint Language Experience 1.57 1.56 1.49 1.47 1.34 1.23 1.23 1.2 black 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Software Cost Distribution Insights examine distribution of... Ð development and rework costs Ð code and documentation costs Ð labour and capital costs Ð software costs by phase and activity glass 4

Development and Rework Costs large fraction of effort on a software project is devoted to rework cost of fixing or reworking software is much smaller (by factors of 50-200) in the earlier phases of the software life-cycle than in the later phases rework instances tend to follow a Pareto distribution glass Conclusion: focus on identifying and eliminating high-risk problems Code and Documentation Costs a larger proportion of costs are attributable to activities producing intermediate documents (specifications, manuals, plans, studies, reports) than code Ð the exact proportion varies by application glass Conclusion: do not just focus on support for code production 5

Labour and Capital Costs software development and evolution is very labour intensive glass Conclusion: productivity leverage can be obtained by making software production more capital intensive 5 1 infrastructure human resource management technology development management 7 3 3 7 1 QA, CM 5 margin inbound logistics marketing & sales 4 reqts 8 prelim design detailed design 11 8 code & unit test rework 30 7 integration & test outbound logistics service (?) operations (80) value chain 6

Productivity Improvement Opportunity Tree improve productivity make people more effective make steps more efficient eliminate steps eliminate rework build simpler products reuse components Controlling Software Costs Two strategies: Ð building our understanding into a framework of objectives which serves as a basis for a set of management-by-objectives (MBO control loops) Ð optimising software development strategy around predictability and control 7

Key Points Understanding and controlling software costs is extremely important. You cannot control software costs without also understanding and controlling software quality. 8