Web Development: Estimating Quick-to-Market Software



Similar documents
This past year, electronic commerce

COCOMO II and Big Data

Software cost estimation. Predicting the resources required for a software development process

MTAT Software Economics. Lecture 5: Software Cost Estimation

COCOMO-SCORM Interactive Courseware Project Cost Modeling

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

Cost Estimation Driven Software Development Process

2 Evaluation of the Cost Estimation Models: Case Study of Task Manager Application. Equations

Software cost estimation

Software cost estimation

CISC 322 Software Architecture

Chapter 23 Software Cost Estimation

An Efficient Approach for Agile Web Based Project Estimation: AgileMOW

Cost Estimation Strategies COST ESTIMATION GUIDELINES

Extending Change Impact Analysis Approach for Change Effort Estimation in the Software Development Phase

CISC 322 Software Architecture. Example of COCOMO-II Ahmed E. Hassan

Software Migration Project Cost Estimation using COCOMO II and Enterprise Architecture Modeling

Topics. Project plan development. The theme. Planning documents. Sections in a typical project plan. Maciaszek, Liong - PSE Chapter 4

Effect of Schedule Compression on Project Effort

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

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

The COCOMO II Estimating Model Suite

Web Framework Points: an Effort Estimation Methodology for Web Application Development

Outline. CIW Web Design Specialist. Course Content

COCOMO II Model Definition Manual

Fuzzy Expert-COCOMO Risk Assessment and Effort Contingency Model in Software Project Management

Software cost estimation

Cost Models for Future Software Life Cycle Processes: COCOMO 2.0 *

IMPROVED SIZE AND EFFORT ESTIMATION MODELS FOR SOFTWARE MAINTENANCE. Vu Nguyen

Deducing software process improvement areas from a COCOMO II-based productivity measurement

A Comparative Evaluation of Effort Estimation Methods in the Software Life Cycle

Observer RPM. Remote Program Monitor. Post STB-Monitoring, Logging and Troubleshooting

Please Note: Temporary Graduate 485 skills assessments applicants should only apply for ANZSCO codes listed in the Skilled Occupation List above.

Bachelor of Science in Business Administration - Information Systems and Technology Major

ElegantJ BI. White Paper. Considering the Alternatives Business Intelligence Solutions vs. Spreadsheets

Desktop Computing in Skillport Finding Approved Folders and Printing Certificates of Completion

Business Intelligence and Reporting

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

A DIFFERENT KIND OF PROJECT MANAGEMENT: AVOID SURPRISES

Project Plan 1.0 Airline Reservation System

Web Design Specialist

Agile Inspired Risk Mitigation Techniques for Software Development Projects

DEVELOPMENT. Development Tools for Microsoft Dynamics GP. Microsoft Dynamics GP. White Paper. Date: March 2006

University of Southern California COCOMO Reference Manual

SLIM Estimate and Microsoft Project Best Practices

Incorporating Data Mining Techniques on Software Cost Estimation: Validation and Improvement

A DIFFERENT KIND OF PROJECT MANAGEMENT

Making Compliance Work for You

The ITIL Foundation Examination

Adopting Quality Management for Business Success

ElegantJ BI. White Paper. The Enterprise Option Reporting Tools vs. Business Intelligence

MAS 90 MAS 200. Client/Server Client/Server for SQL Server

BarTender Integration Methods. Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER

Project Planning and Project Estimation Techniques. Naveen Aggarwal

Extending CMMI Level 4/5 Organizational Metrics Beyond Software Development

Test Run Analysis Interpretation (AI) Made Easy with OpenLoad

Contents. Introduction... 1

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

Choosing the Right Project and Portfolio Management Solution

ARIS An Enterprise Tool Supporting BPM and Enterprise Change Management. Carol Hoyt, SVP/Sr. Quality & Change Delivery Consultant June 22, 2010

Real World Considerations for Implementing Desktop Virtualization

Information Systems Development Process (Software Development Life Cycle)

how can I deliver better services to my customers and grow revenue?

FROM RELATIONAL TO OBJECT DATABASE MANAGEMENT SYSTEMS

SIZE & ESTIMATION OF DATA WAREHOUSE SYSTEMS

A standards-based approach to application integration

Next Generation Business Performance Management Solution

LONDON SCHOOL OF COMMERCE. Programme Specification for the. Cardiff Metropolitan University. BSc (Hons) in Computing

Multiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching

A Service-oriented Architecture for Business Intelligence

Senior IT Strategist R&D Center

University of Central Florida Class Specification Administrative and Professional. Web Operations Manager

Using In-Memory Computing to Simplify Big Data Analytics

SOFTWARE COST DRIVERS AND COST ESTIMATION IN NIGERIA ASIEGBU B, C AND AHAIWE, J

U.S. Navy Automated Software Testing

Customer Experience Flow

Improving Software Project Management Skills Using a Software Project Simulator

IndustrialIT System 800xA Engineering

Vidi NMs Network Management

Storage Technologies for Video Surveillance

Practical Application of Service Oriented Architecture

Introduction to Strategic Supply Chain Network Design Perspectives and Methodologies to Tackle the Most Challenging Supply Chain Network Dilemmas

PCCC PCCC Course Description

PRONTO-Xi Business Intelligence

Software development for the on demand enterprise. Building your business with the IBM Software Development Platform

Application Development With Data Studio

JD Edwards EnterpriseOne Mobile Solutions

Vanguard Knowledge Automation System

Case Management and Real-time Data Analysis

APICS INSIGHTS AND INNOVATIONS UNCOVERING CHRONIC DISRUPTION IN SUPPLY CHAIN AND OPERATIONS MANAGEMENT

For more information about UC4 products please visit Automation Within, Around, and Beyond Oracle E-Business Suite

PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING

Transcription:

Web Development: Estimating Quick-to-Market Software Donald J. Reifer 15 th International Forum on COCOMO and Software Estimation 10/25/00 Copyright 2000, RCI 1

Setting the Stage Business and government are rushing to web Many organizations are embracing quick-tomarket paradigms (death march projects, etc.) These changes result in new way for applications to be engineered 10/25/00 Copyright 2000, RCI 2

Web Versus Traditional Projects Characteristics Primary aim Typical size Timeline Technology used Process Traditional Build products at minimum cost Medium to large (10 100+ engineers) 12-18 months OOT, CASE tools, generators, C++, etc. CMM-based Web Bring products to market quickly Small (3-10 engineers) 3-6 months CBSE, frameworks, Java, multi-media, etc. Ad hoc, death marches 10/25/00 Copyright 2000, RCI 3

Reasons for Death Marches Startup mentality of fledging, entrepreneurial companies Naïve promises made by marketing, senior executives, inexperienced project leaders The Marine Corp mindset real programmers don t need sleep (feed them pizza and keep them coding) Intense pressure put on for quick return by investors Heat placed on firm due to globalization of marketplace Many unplanned and unexpected crises (turnover, etc.) Source: Yourdon, Death March, Prentice-Hall, 1997 10/25/00 Copyright 2000, RCI 4

More on Web Versus Traditional Characteristics Products Development staff Estimating technology Traditional Code-based systems, done in-house, mostly new, many external interfaces, often complex Professional software engineers Size: SLOC or fp Resources: models or WBS estimate Web Object-based systems, multi-media, done outhouse, many reusable parts, few external interfaces, often simple Graphics designers, software engineers, etc. Size:??? (web objects) Resources: ad hoc or via WBS estimate 10/25/00 Copyright 2000, RCI 5

Web-Based Estimating Challenges Characteristics Estimating process Size estimation Schedule estimation Traditional Most use analogy and past experience Requirements drive estimates SLOC or function points used Legacy, reuse, etc. handled as % new Most estimated using cube root relationship Web Most use WBS (inputs from developers) Applications are built using frameworks or templates (90% solution) Web objects proposed (applets, video, etc.) No agreed to metric Analysis show estimates too long (square root?) 10/25/00 Copyright 2000, RCI 6

Web-Based Estimating Challenges Characteristics Effort estimation Calibration What-if analysis Traditional Estimated using regression or via knowledge base Modified by cost drivers Allocated via rules or Rayleigh curves Use past experience Quantitative Estimated by breaking the job down into tasks and having responsible engineer estimate what is needed to do job Little history No knowledge base Based on folklore Qualitative Web 10/25/00 Copyright 2000, RCI 7

New Size Metrics Traditional Source lines of code Non-visual, no motion, etc. Function points Conventions don t exist Function point extensions (3D, predictive object points, etc.) Requirements driven, often OO-based, non-visual UML metrics Same as extensions Non-Traditional Multi-media files Graphics - Text Audio - Motion Pictures (JPEG, etc.) Web components Applets, Agents, etc. Fine-grained building blocks DCOM, CORBA, etc. Coarse-grained components Shopping carts, etc. 10/25/00 Copyright 2000, RCI 8

Time for Some Heresy Halstead s Equation for Volume V = N log 2 (n) = (N 1 + N 2 ) log 2 (n 1 + n 2 ) Where: N = number of occurrences of Operands/Operators n = number of distinct Operands/Operators N 1 = total occurrences of Operand estimator N 2 = total occurrences of Operator estimator n 1 = number of unique Operands estimator n 2 = number of unique Operator estimator V = volume of work involved represented as we objects 10/25/00 Copyright 2000, RCI 9

Web-Based Size Predictors Web Object Predictors # of building blocks # of COTS components # of multi-media files # of application or object points (or others proposed) Example Operands Widgets, fined-grained components (ActiveX, DCOM, OLE, etc.), etc. COTS programs, library routines, web objects (cart), etc. Text, video, audio, etc. (not graphics files) # server tables, # client tables, # states, # entities, attributes, etc. Example Operators Create, apply, call, dispatch, interface, terminate, etc. Transform, access, bind, generate, interface, etc. Create, cut, paste, clear, edit, etc. Transform, access, modify, instantiate, generate, etc. 10/25/00 Copyright 2000, RCI 10

More Web-Based Predictors Web Object Predictors # of web components # of xml, sgml, html and query lines # of graphics files # of scripts (visual language, audio, motion, etc.) Example Operands Applets, agents, guards, etc. Lines including links to data attributes Templates, pictures, images, etc. Macros, containers, etc. Example Operators Create, schedule, dispatch, etc. Create, call, browse, link, traversal, etc. Apply, align, import, export, insert, etc. Create, store, edit, distribute, serialize, generate, etc. 10/25/00 Copyright 2000, RCI 11

Web Object Calculation Worksheet Web Object Predictors Low Medium High # of building blocks 1 2 4 # of components 2 4 6 # of multi-media files 1 2 4 # of application or object points * * * # of web components 2 4 6 # of xml, sgml, html & query lines 3 5 8 # of graphics files 2 4 6 # of scripts 1 2 3 Other 2 4 6 * Assume weights have already been applied 10/25/00 Copyright 2000, RCI 12

Interesting Findings Size of application is extremely sensitive to counting conventions Must use one set of conventions consistently We use IFPUG and weighted methods per class Fit data using web objects, not SLOC or other metric Weighted goodness of fit significantly better than for unweighted predictors Based upon 46 completed projects whose size ranged from 20 to 100 web objects Currently defining weightings more precisely 10/25/00 Copyright 2000, RCI 13

Estimation via COCOMO II Effort estimation via Early Design model Had co-linearity in the data which was noisy Simplified the effort estimation model further to eliminate co-linearity/fit the data Resulting model has eight drivers and fixed power laws based upon four types of web applications researched Schedule estimation via Early Design model Estimate was way off so used square instead of cube root relationship (based on scaling rules) 10/25/00 Copyright 2000, RCI 14

WEBMO Web Estimation Model 8 Effort = A C i (Size) P1 Duration = B(Effort) P2 i=1 Where: A = effort coefficient B = duration coefficient C i = cost drivers P1 = effort power law P2 = duration power law 10/25/00 Copyright 2000, RCI 15

Cost Drivers Kept Early Design model drivers: RCPX Product Reliability & Complexity RELY, DATA, CPLX, DOCU PDIF Platform Difficulty TIME, STOR, PVOL PERS Personnel capability ACAP, PCAP, PCON PREX Personnel experience APEX, PLEX, LTEX FCIL Facilities TOOL, SITE SCED Required development schedule Eliminated one driver RUSE not significant Could not calibrate with scale factors; used two new cost drivers to handle TEAM - Teamwork PEFF Process Efficiency 10/25/00 Copyright 2000, RCI 16

WEBMO Parameters/Power Laws A B P1 P2 Web based electronic commerce 2.3 2.0 1.05 * Financial/trading application 2.7 2.2 1.05 * B-to-B applications 2.0 1.5 1.00 * Web based information utilities 2.1 2.0 1.00 * * Either 0.5 or 0.33 based upon scaling ( > 40 web objects) 10/25/00 Copyright 2000, RCI 17

Driver Rating Scales Driver VL L N H VH RCPX - Client side - No distribution - Invocation - Simple math - Simple I/O - Limited data - Reliability not a factor - Client/server - Ltd distribution - Adaptation - Standard math - File management - Some files - Easy to recover from losses - Client/server - Fully distributed - Integration - Statistics - DBMS - Databases - Moderate recovery goals - Configurable web - Wide distribution - Synchronization - Math intensive - Distributed DB - Virtual database - High financial loss due to error - Seamless web - Full distribution - Collaboration - Soft real-time - Persistent DB - Virtual database - Errors cause risk to human life PDIF -Rare changes to platform - Speedy net - Best possible connectivity - No computer resource limitations -Few changes to platform -Fast net service - Rare lose of connectivity -Few computer resource limitations -Platform stable - Acceptable net performance -Acceptable connectivity -Must watch use of computer resources -Frequent changes to platform - Slow network performance - Poor connectivity - Lack of computer resources causing problems -Platform not stable -Unacceptable net performance - Unacceptable connectivity -Timing and storage impacts 10/25/00 Copyright 2000, RCI 18

Driver Rating Scales Driver VL L N H VH PERS - 15 th percentile - 35 th percentile - 55 th percentile - 75 th percentile - 90 th percentile - Major delays due to turnover and attrition - Minor delays due to turnover and attrition - Few delays due to turnover and attrition - Infrequent delays due to turnover and attrition - No delays due to turnover and attrition PREX - < 2 months average applications, platform, language and tool experience -< 6 months average applications, platform, language and tool experience - < 1 year average applications, platform, language and tool experience - < 3 years average applications, platform, language and tool experience - < 6 years average applications, platform, language and tool experience 10/25/00 Copyright 2000, RCI 19

Driver Rating Scales Driver VL L N H VH FCIL - International - Phone/fax - Ad hoc methods - Language tools - Basically no collaboration - Multi-site - Phone/email - Phase dependent methods - Basic CASE - Limited collaboration - One site - LAN - Life cycle methods - Tools support methods - Integrated product teams - Same building - WAN - Integrated methods - Integrated toolset - Collaborative teams - Co-located - Broadband - State-of-theart methods - Integrated toolset that supports collaboration SCED - Must shorten -75 percent of nominal -Must shorten -85 percent of nominal - Keep as is - Nominal - Can relax -130 percent of nominal - Can extend -160 percent of nominal REUSE Not used Not used Note used Not used Not used 10/25/00 Copyright 2000, RCI 20

Driver Rating Scales Driver VL L N H VH TEAM - No shared vision - Little shared vision - Some shared vision - Considerable shared vision - Extensive shared vision - Stakeholders do not work to meet each others objectives - Stakeholders talk and build some respect each other s goals - Stakeholders pull together and work towards joint goals - Stakeholders respect each others goals and collaborate on the effort - Stakeholders pull together from day 1 and mount a goaldirected effort - Teamwork limited - Some teamwork - Basic teamwork - Integrated teams - Seamless teams PEFF - Totally ad hoc, confused process - Reliance on hero s to get job done - Project-based processes (little sharing with others) - Reliance on management leadership to meet goals - Streamlined process tailored for fast-paced jobs and teams - Reliance on process for guidance - Efficient process matched to getting the job done - Process is the way engineers do their work - Effective process used to generate quality products ontime & budget - Everyone uses and believes in the process 10/25/00 Copyright 2000, RCI 21

Cost Driver Values Driver VL L N H RCPX 0.63 0.85 1.00 1.30 PDIF* 0.75 0.87 1.00 1.21 PERS 1.55 1.35 1.00 0.75 PREX 1.35 1.19 1.00 0.87 FCIL 1.35 1.13 1.00 0.85 SCED* 1.35 1.15 1.00 1.05 TEAM 1.45 1.31 1.00 0.75 PEFF 1.35 1.20 1.00 0.85 * Significant differences from original model VH 1.67 1.41 0.58 0.71 0.68 1.10 0.62 0.65 10/25/00 Copyright 2000, RCI 22

Current Status Goal is to help clients better estimate resources needed for web development In the process of learning, validating and extending the model Current database has 46 completed projects (need more) Using linear regression to fit the actuals to estimates Data is noisy (no timecards, 80 hour weeks, etc.) This is not a USC sponsored project Our intent is to develop a model for use in our consulting business We are funded by several clients and have a proposal in to NSF for a grant 10/25/00 Copyright 2000, RCI 23

Next Steps Analyze more data Determine if we can use Early Design model or CORADMO out of the box Improve predictive accuracy Current accuracy is estimates are within 30 percent of actuals 60 percent of the time Better than winging it, but not good enough Have fun, help clients and make money Reifer Consultants is a for profit firm 10/25/00 Copyright 2000, RCI 24

Final Thoughts The rush to the Internet represents a modern day gold rush Those who provision the prospectors will make the fortunes We want to provide them with tools they need to figure out what it will take for them to be successful 10/25/00 Copyright 2000, RCI 25

Acknowledgements USC Center for Software Engineering Barry Boehm and the COCOMO team Galorath Inc. Lee Fischman and Dan Galorath Marotz Bill Roetzheim The Multimedia House of Quality Adrian Cowderoy Those nameless individuals who worked hard to supply the data 10/25/00 Copyright 2000, RCI 26