Coconomography Ray Madachy rjmadach@nps.edu 25th International Forum on COCOMO and Systems/Software Cost Modeling November 2, 2010 Agenda • • • • • Coconomography Introduction Computation Method Project and Instructional Examples Instruments References 2 Introduction • Coconomography is the graphical computation of constructive cost models for systems and software engineering using nomographs. • They are the most rapid and simple method of calculating the models by drawing lines. No computers, calculators or manual calculations are needed. • The graphs are printed on paper or used on a flat screen • Nomographs are used for very fast calculations when approximate answers are appropriate and useful 3 COCOMO Calculator • • • • A typical cost model nomograph for three variables computes effort in Person-Months (PM) by drawing a line between size in Kilo Source Lines of Code (KSLOC) and the Effort Adjustment Factor (EAF). The graph layout encapsulates all the constants and variables in the formula PM = 2.94 * KSLOC^1.1 * EAF. It is plotted in logarithmic space so linear movement executes the multiplications. Can be extended to four variables using a single calculation line. Scale factors an be included with a contour “net diagram” replacing the straight line for PM. The contours that vary as a function of the scale factor ratings. 4 Possible Uses • Nomographs are the most concise representation to visualize and quantify model relationships. A sensitivity analysis is conducted by drawing multiple lines. • The input and output variables are easily switched to use effort or schedule as targets, and graphically visualize the feasible regions of the project factors. – Suppose there is a fixed target cost or timeframe. How much functionality can be incorporated with the given budget? The feasible size range is shown as the spread on the left axis from changing project factors represented on the EAF line. • The constrained ranges of organizations and their options can be visualized and easily discussed between stakeholders at a sitdown meeting. Anyone can mark them up instantly without waiting for specialists to perform a computer run. • Visual preface and summary for more detailed analyses. • The graphs can be used as crosschecks of other estimation methods and 5 tools, or help flag their erroneous inputs. Agenda • • • • • Coconomography Introduction Computation Method Project and Instructional Examples Instruments References 6 Basic Nomograph Construction • • • Transform the COCOMO II effort equation into logarithmic space: PM = 2.94 * KSLOC1.0997 * EAF PM / 2.94 = KSLOC1.0997 * EAF log(PM) - log(2.94) = 1.0997 * log(KSLOC) + log(EAF) The nomograph equation for three parallel lines is: F1(u1) + F2(u2) + F3(u3) = 0 To construct the graph set the functions to: F1(u1) = 1.0997 * log(KSLOC) F2(u2) = log(PM) - log(2.94) F3(u3) = log(EAF) F1 F2 F3 7 Agenda • • • • Coconomography Introduction Computation Method Project and Instructional Examples Instruments 8 Sensitivity Analysis 9 COSYSMO Effort Poster size 10 Effort and Schedule Ratio • • Compound graphs are created by aligning common axes in relationships. Schedule is determined from effort by drawing a line through the schedule ratio. • Note this example needs additions to calculate the cost increases when the ratio is less than unity. 11 Effort with Scale Factor • Solving for the Scale Factor is of the form F1(u1) = F2(u2) * F3(u3) = 0 (a diagonal line) 12 Visualizing Scale Factor Effects 100 K Range 10 K Range 13 Scale Factor and EAF 14 Decision Analysis Illustration 15 Agenda • • • • • Coconomography Introduction Computation Method Project and Instructional Examples Instruments References 16 Instruments • Desktop and poster size nomographs • Circular and linear slide rules 17 Aviation Usage • • • The slide rule still is in widespread use in aviation. The E6B Flight Computer, or"whiz wheel", is a circular slide rule mostly used in flight training but many professional and airline pilots carry and use them. • During flight planning on the ground they aid in calculating fuel burn, wind correction, time en route, and other items. • In the air, they can be used to calculate ground speed and the back is designed for wind correction calculations. Manual E6Bs remain far more popular than electronic ones because they are lighter, smaller, less prone to break, easy to use with one hand, quicker, and do not require electrical power. (Wikipedia) 18 COCOMO Slide Rule Cutout 19 Failed Design Goal • Five foot slide rule for conference room. • Groove mechanical tolerance became an issue due to imperfect wood warp – Two foot breadboard did not scale up – Did not check the important interfaces before applying fancy GUI (paint) • At this size the fine-grained tickmarks are precise enough to create recordable estimates in a group meeting 20 Agenda • • • • • Coconomography Introduction Computation Method Project and Educational Examples Instruments References 21 References • • • • • • • Boehm B., Abts C., Brown W., Chulani S., Clark B., Horowitz E., Madachy R., Reifer D., Steece B., Software Cost Estimation with COCOMO II, Prentice-Hall, 2000 Doerfler R., “Creating Nomograms with the Pynomo Software”, http://www.myreckonings.com, 2009 Levens A.S., Nomography, Fearon Publishers, 1971 Madachy R., “Coconomography”, http://diana.nps.edu/~madachy/coconomography/, 2010 Pynomo, http:/pynomo.org, accessed October 2010 Valerdi R., Systems Engineering Cost Estimation with COSYSMO, Wiley, 2011 Wikipedia, “E6B”, accessed October 2010 22