<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Project Planning &#38; Estimation &#187; Software Sizing</title>
	<atom:link href="http://www.galorath.com/wp/category/estimating/software-estimating-estimating/software-sizing/feed" rel="self" type="application/rss+xml" />
	<link>http://www.galorath.com/wp</link>
	<description>Estimation . Analysis . Planning . Control</description>
	<lastBuildDate>Sat, 04 Feb 2012 01:24:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Galorath / DCG IT Estimation For Business Value and Project Success Clinic</title>
		<link>http://www.galorath.com/wp/galorath-dcg-it-estimation-clinic.php</link>
		<comments>http://www.galorath.com/wp/galorath-dcg-it-estimation-clinic.php#comments</comments>
		<pubDate>Fri, 28 Oct 2011 11:07:26 +0000</pubDate>
		<dc:creator>galorath</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[IT Estimating]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[Software Estimating]]></category>
		<category><![CDATA[Software Sizing]]></category>
		<category><![CDATA[Ten Step Project Estimation Process]]></category>
		<category><![CDATA[business value]]></category>
		<category><![CDATA[function points]]></category>
		<category><![CDATA[IT business value]]></category>

		<guid isPermaLink="false">http://www.galorath.com/wp/?p=2447</guid>
		<description><![CDATA[Here are the slides from the Galorath / David Consulting Group estimating clinic  held in New York City. There were interesting discussions encompassing dealing with impossible demands, understanding risk and risk management, sizing, and a number of other topics.  Note: The Galorath slides and the DCG slides are combined in the one PDF file. Concepts [...]
Related posts:<ol>
<li><a href='http://www.galorath.com/wp/galorath-reifer-team-to-provide-large-project-success-via-risk-assessments.php' rel='bookmark' title='Galorath / Reifer Team To Provide Large Project Success Via Risk Assessments'>Galorath / Reifer Team To Provide Large Project Success Via Risk Assessments</a> <small>We are excited to announce a new addition to the...</small></li>
<li><a href='http://www.galorath.com/wp/another-view-of-project-success-from-dr-dobbs.php' rel='bookmark' title='Another View of Project Success From Dr. Dobbs'>Another View of Project Success From Dr. Dobbs</a> <small>While the Standish Group&#8217;s surveys are the most widely known...</small></li>
<li><a href='http://www.galorath.com/wp/the-business-value-if-it-book.php' rel='bookmark' title='The Business Value Of IT Book'>The Business Value Of IT Book</a> <small>I opened my copy of this book, The Business Value of...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fgalorath-dcg-it-estimation-clinic.php"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fgalorath-dcg-it-estimation-clinic.php&amp;source=galorath&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=business+value,function+points,IT+business+value&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Here are the slides from the <a href="http://www.galorath.com/blogfiles/New York Galorath DCG Event Oct 2011 Combined slides.pdf">Galorath / David Consulting Group estimating clinic </a> held in New York City. There were interesting discussions encompassing dealing with impossible demands, understanding risk and risk management, sizing, and a number of other topics.  Note: The Galorath slides and the DCG slides are combined in the one PDF file.</p>
<p>Concepts of IT providing business value to the organization were also discussed in detail.</p>
<p>Thanks to all who attended and especially to Mike Harris and David Herren for their insights.
<p><i><br />
<hr size="1" noshade>
<h4>Thank you for reading &#8220;Dan on Estimating&#8221;, if you would like more information about Galorath&#8217;s <a href="http://www.galorath.com/index.php/products/">estimation models</a>, please visit our <a href="http://www.galorath.com/index.php/contact/">contact page</a> or call us at +1 310 414-3222.</h4>
<p></i></p>
<p>Related posts:<ol>
<li><a href='http://www.galorath.com/wp/galorath-reifer-team-to-provide-large-project-success-via-risk-assessments.php' rel='bookmark' title='Galorath / Reifer Team To Provide Large Project Success Via Risk Assessments'>Galorath / Reifer Team To Provide Large Project Success Via Risk Assessments</a> <small>We are excited to announce a new addition to the...</small></li>
<li><a href='http://www.galorath.com/wp/another-view-of-project-success-from-dr-dobbs.php' rel='bookmark' title='Another View of Project Success From Dr. Dobbs'>Another View of Project Success From Dr. Dobbs</a> <small>While the Standish Group&#8217;s surveys are the most widely known...</small></li>
<li><a href='http://www.galorath.com/wp/the-business-value-if-it-book.php' rel='bookmark' title='The Business Value Of IT Book'>The Business Value Of IT Book</a> <small>I opened my copy of this book, The Business Value of...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.galorath.com/wp/galorath-dcg-it-estimation-clinic.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why We Estimate Schedule &amp; Cost</title>
		<link>http://www.galorath.com/wp/why-we-estimate-schedule-cost.php</link>
		<comments>http://www.galorath.com/wp/why-we-estimate-schedule-cost.php#comments</comments>
		<pubDate>Thu, 01 Sep 2011 03:07:29 +0000</pubDate>
		<dc:creator>galorath</dc:creator>
				<category><![CDATA[Cost Estimating]]></category>
		<category><![CDATA[Estimating]]></category>
		<category><![CDATA[Software Estimating]]></category>
		<category><![CDATA[Software Sizing]]></category>
		<category><![CDATA[Systems Estimating]]></category>
		<category><![CDATA[why estimate]]></category>

		<guid isPermaLink="false">http://www.galorath.com/wp/?p=2280</guid>
		<description><![CDATA[I stumbled across a working draft of an excellent document on my hard drive, produced, I believe, by a gentleman from Texas Instruments some years ago.  I thought this list of why we estimate cost and schedule was excellent and still relevant. Why We Estimate Schedule &#38; Cost To scope proposed tasks To explore alternative system [...]
Related posts:<ol>
<li><a href='http://www.galorath.com/wp/step-one-establish-estimate-scope-and-purpose.php' rel='bookmark' title='Step One: Establish Estimate Scope and Purpose'>Step One: Establish Estimate Scope and Purpose</a> <small>Establish Estimate Scope and Purpose Define and document expectations. When...</small></li>
<li><a href='http://www.galorath.com/wp/step-seven-estimate-validation-and-review.php' rel='bookmark' title='Step Seven: Estimate Validation and Review'>Step Seven: Estimate Validation and Review</a> <small>Step Seven: Estimate Validation and Review At this point in...</small></li>
<li><a href='http://www.galorath.com/wp/design-to-cost-metrics-can-help-increase-project-value-while-reducing-cost.php' rel='bookmark' title='Design To Cost Metrics Can Help Increase Project Value While Reducing Cost'>Design To Cost Metrics Can Help Increase Project Value While Reducing Cost</a> <small>An interesting paperBy Quentin Redman and George Stratton in the...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fwhy-we-estimate-schedule-cost.php"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fwhy-we-estimate-schedule-cost.php&amp;source=galorath&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=why+estimate&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I stumbled across a working draft of an excellent document on my hard drive, produced, I believe, by a gentleman from Texas Instruments some years ago.  I thought this list of why we estimate cost and schedule was excellent and still relevant.</p>
<h2>Why We Estimate Schedule &amp; Cost</h2>
<ul>
<li>To scope proposed tasks</li>
<li>To explore alternative system concepts</li>
</ul>
<h2><strong><em>design to cost/budget</em></strong></h2>
<ul>
<li>To explore alternative design concepts</li>
<li>To explore alternative proposals for enhancements and upgrades</li>
<li>To identify key design elements</li>
<li>To identify key process parameters</li>
</ul>
<h2><strong><em>prioritize needs vs wants</em></strong></h2>
<ul>
<li>To identify key assumptions</li>
<li>To identify and quantify uncertainties</li>
<li>To identify tasks and their relationships</li>
<li>To assess schedule feasibility</li>
<li>To identify, allocate and schedule resources</li>
<li>To assess an organization’s ability to perform within targeted costs</li>
<li>To evaluate the consequences of internal and external constraints</li>
<li>To establish achievable objectives</li>
<li>To establish a basis for quality service</li>
<li>To establish commitments</li>
<li>To bound the risk against customer needs</li>
<li>To balance levels of risk against customer needs</li>
<li>To provide a basis of successful risk management</li>
</ul>
<h2><strong><em>build vs buy analysis</em></strong></h2>
<ul>
<li>To prepare successful proposals</li>
<li>To evaluate proposals from competing bidders</li>
<li>To establish baselines for project tracking</li>
</ul>
<h2><strong><em>enhance/reuse vs redesign analysis</em></strong><em> </em></h2>
<ul>
<li>To predict life-cycle costs</li>
<li>To predict returns on investments</li>
<li>To provide information for establishing business and investment strategies</li>
</ul>
<p><i><br />
<hr size="1" noshade>
<h4>Thank you for reading &#8220;Dan on Estimating&#8221;, if you would like more information about Galorath&#8217;s <a href="http://www.galorath.com/index.php/products/">estimation models</a>, please visit our <a href="http://www.galorath.com/index.php/contact/">contact page</a> or call us at +1 310 414-3222.</h4>
<p></i></p>
<p>Related posts:<ol>
<li><a href='http://www.galorath.com/wp/step-one-establish-estimate-scope-and-purpose.php' rel='bookmark' title='Step One: Establish Estimate Scope and Purpose'>Step One: Establish Estimate Scope and Purpose</a> <small>Establish Estimate Scope and Purpose Define and document expectations. When...</small></li>
<li><a href='http://www.galorath.com/wp/step-seven-estimate-validation-and-review.php' rel='bookmark' title='Step Seven: Estimate Validation and Review'>Step Seven: Estimate Validation and Review</a> <small>Step Seven: Estimate Validation and Review At this point in...</small></li>
<li><a href='http://www.galorath.com/wp/design-to-cost-metrics-can-help-increase-project-value-while-reducing-cost.php' rel='bookmark' title='Design To Cost Metrics Can Help Increase Project Value While Reducing Cost'>Design To Cost Metrics Can Help Increase Project Value While Reducing Cost</a> <small>An interesting paperBy Quentin Redman and George Stratton in the...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.galorath.com/wp/why-we-estimate-schedule-cost.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cost of Independent Software Verification &amp; Validation (IV&amp;V)</title>
		<link>http://www.galorath.com/wp/cost-of-independent-software-verification-validation-ivv.php</link>
		<comments>http://www.galorath.com/wp/cost-of-independent-software-verification-validation-ivv.php#comments</comments>
		<pubDate>Thu, 01 Sep 2011 00:42:45 +0000</pubDate>
		<dc:creator>galorath</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software Sizing]]></category>
		<category><![CDATA[defect]]></category>
		<category><![CDATA[estimating defects]]></category>

		<guid isPermaLink="false">http://www.galorath.com/wp/?p=2273</guid>
		<description><![CDATA[It has long been that IV&#38;V (Independent Verification &#38; Validation) was purchased by the pound, in other words spend what you want.  That is beginning to change.  Galorath&#8217;s Bob Hunt briefed a method for performing a cost estimate and return based on defects and estimating the optimal spend with ROI considerations for IV&#38;V on critical software.  [...]
Related posts:<ol>
<li><a href='http://www.galorath.com/wp/estimating-the-cost-of-software-independent-verification-validation-ivv.php' rel='bookmark' title='Estimating The Cost of Software Independent Verification &amp; Validation (IV&amp;V)'>Estimating The Cost of Software Independent Verification &#038; Validation (IV&#038;V)</a> <small>Since IV&amp;V is a level of effort activity (purchase a...</small></li>
<li><a href='http://www.galorath.com/wp/software-defects-in-fielded-software-cast-analysis.php' rel='bookmark' title='Software Defects in Fielded Software: Cast Analysis'>Software Defects in Fielded Software: Cast Analysis</a> <small>Cast Software has identified the number of potential errors and...</small></li>
<li><a href='http://www.galorath.com/wp/dealing-with-generated-lines-of-code.php' rel='bookmark' title='Dealing With Generated Lines of Code'>Dealing With Generated Lines of Code</a> <small>We have gotten several questions recently on how to estimate...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fcost-of-independent-software-verification-validation-ivv.php"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fcost-of-independent-software-verification-validation-ivv.php&amp;source=galorath&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=defect,estimating+defects&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>It has long been that IV&amp;V (Independent Verification &amp; Validation) was purchased by the pound, in other words spend what you want.  That is beginning to change.  Galorath&#8217;s Bob Hunt briefed a method for performing a cost estimate and return based on defects and estimating the optimal spend with ROI considerations for IV&amp;V on critical software.  Bob rightly claims this approach needs refinement but it is a great start.  Here are the basics:</p>
<p><span id="more-2273"></span></p>
<div>•Assumptions:</div>
<div>•A Software Development program has a Total Development Cost of $X =($x/SM)(SM)*</div>
<div>•The Cost of Internal Software Testing (IST) is 50% of the total Software Development cost, or IST = (0.5)($X)=($x/size)(Zsize)</div>
<div>•IV&amp;V cost 2 times IST or IV&amp;V=(2)(0.5)($x/size)(Zsize)</div>
<div>•There are Y <span style="text-decoration: underline;">delivered defects</span> per size metric</div>
<div>•The Cost of Defect Recovery and Removal follows the “1:10:100” rule and we all “Y” defects would have been found after fielding</div>
<div>•The simple cost Break Even Point is reached when:</div>
<div>•IV&amp;V cost = IV&amp;V Savings</div>
<div>•(2)(0.5)($x/size)(Zsize)= (100)(Y)($x/SM)</div>
<div>•Zsize = 100Y</div>
<div>•Zsize/100 = Y</div>
<p> *SM – size metric could be  expressed as Lines of Code, Function Points, …</p>
<div>•Assume 7 to 10 delivered defects per KSLOC</div>
<div>•Code Complete by Steve McConnell:</div>
<div>•(a) Industry Average: &#8220;about 15 &#8211; 50 errors per 1000 lines of delivered<br />
code.</div>
<div>•(b) Microsoft Applications: &#8220;about 10 &#8211; 20 defects per 1000 lines of code<br />
during in-house testing, and 0.5 defect per KLOC (KLOC IS CALLED AS 1000 lines of code) in released product (Moore 1992).</div>
<p>(c) &#8220;Harlan Mills pioneered &#8216;cleanroom development&#8217;, a technique that has<br />
been able to achieve rates as low as 3 defects per 1000 lines of code during in-house testing and 0.1 defect per 1000 lines of code in released product (Cobb and Mills 1990). A few projects &#8211; for example, the space-shuttle software &#8211; have achieved a level of 0 defects in 500,000 lines of code using a system of format development methods, peer reviews, and statistical testing.“</p>
<div>•Capers Jones assumes 5 to 7 defects per function point</div>
<p><i><br />
<hr size="1" noshade>
<h4>Thank you for reading &#8220;Dan on Estimating&#8221;, if you would like more information about Galorath&#8217;s <a href="http://www.galorath.com/index.php/products/">estimation models</a>, please visit our <a href="http://www.galorath.com/index.php/contact/">contact page</a> or call us at +1 310 414-3222.</h4>
<p></i></p>
<p>Related posts:<ol>
<li><a href='http://www.galorath.com/wp/estimating-the-cost-of-software-independent-verification-validation-ivv.php' rel='bookmark' title='Estimating The Cost of Software Independent Verification &amp; Validation (IV&amp;V)'>Estimating The Cost of Software Independent Verification &#038; Validation (IV&#038;V)</a> <small>Since IV&amp;V is a level of effort activity (purchase a...</small></li>
<li><a href='http://www.galorath.com/wp/software-defects-in-fielded-software-cast-analysis.php' rel='bookmark' title='Software Defects in Fielded Software: Cast Analysis'>Software Defects in Fielded Software: Cast Analysis</a> <small>Cast Software has identified the number of potential errors and...</small></li>
<li><a href='http://www.galorath.com/wp/dealing-with-generated-lines-of-code.php' rel='bookmark' title='Dealing With Generated Lines of Code'>Dealing With Generated Lines of Code</a> <small>We have gotten several questions recently on how to estimate...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.galorath.com/wp/cost-of-independent-software-verification-validation-ivv.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Original Function Point Paper</title>
		<link>http://www.galorath.com/wp/oriiginal-function-point-paper.php</link>
		<comments>http://www.galorath.com/wp/oriiginal-function-point-paper.php#comments</comments>
		<pubDate>Thu, 14 Jul 2011 19:57:18 +0000</pubDate>
		<dc:creator>galorath</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software Estimating]]></category>
		<category><![CDATA[Software Sizing]]></category>
		<category><![CDATA[function points]]></category>
		<category><![CDATA[halstead software science]]></category>
		<category><![CDATA[SLOC]]></category>
		<category><![CDATA[software size]]></category>

		<guid isPermaLink="false">http://www.galorath.com/wp/?p=2243</guid>
		<description><![CDATA[Here is (one of) the original papers on Function Points, circa 1983. I love the simple definition of function points in the paper: &#8220;&#8230;essentially the weight sum of the number of inputs, outputs, master files,  inquiries provided to or generated by the software.&#8221; Today function points are a widely used method of defining software size [...]
Related posts:<ol>
<li><a href='http://www.galorath.com/wp/function-point-simple-introduction.php' rel='bookmark' title='Function Point Simple Introduction'>Function Point Simple Introduction</a> <small>I keep meaning to post Galorath&#8217;s Ton Dekker concise  introduction to...</small></li>
<li><a href='http://www.galorath.com/wp/cosmic-function-points-in-seer.php' rel='bookmark' title='COSMIC Function Points In SEER'>COSMIC Function Points In SEER</a> <small>SEER for Software supports the COSMIC function point estimation counting...</small></li>
<li><a href='http://www.galorath.com/wp/lines-of-code-versus-functon-points-versus-use-cases-for-sizing.php' rel='bookmark' title='Lines of Code Versus Functon Points Versus Use Cases For Sizing'>Lines of Code Versus Functon Points Versus Use Cases For Sizing</a> <small>I, along with many others, have written about the virtues...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Foriiginal-function-point-paper.php"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Foriiginal-function-point-paper.php&amp;source=galorath&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=function+points,halstead+software+science,SLOC,software+size&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Here is (one of) the <a href="http://galorath.com/blogfiles/AlbrechtGaffneyFunctionPointPaperSKMBT_75111071410070.pdf">original papers on Function Points</a>, circa 1983.</p>
<p>I love the simple definition of function points in the paper: &#8220;&#8230;essentially the weight sum of the number of inputs, outputs, master files,  inquiries provided to or generated by the software.&#8221;</p>
<p><a href="http://www.galorath.com/wp/wp-content/uploads/2011/07/Function-Points.jpg"><img class="alignnone size-medium wp-image-2249" title="Function Points" src="http://www.galorath.com/wp/wp-content/uploads/2011/07/Function-Points-300x84.jpg" alt="" width="300" height="84" /></a></p>
<p>Today function points are a widely used method of defining software size or scope.  Many organizations use them for estimating.  Many also use them for executive oversight of software development using metrics such as hours per function point and number of defects per function point.</p>
<p>It is interesting to note that one of the major findings was the high correlation between lines of code and function points and the work pointing to Halstead&#8217;s software science and their relation to function points.   He demonstrated a correlation from .854 to .997 of lines of code to function points in this paper.</p>
<p>It is also a walk down memory lane for me.  My foray into estimating, after my project being killed due to my estimate, was Halstead&#8217;s software science.
<p><i><br />
<hr size="1" noshade>
<h4>Thank you for reading &#8220;Dan on Estimating&#8221;, if you would like more information about Galorath&#8217;s <a href="http://www.galorath.com/index.php/products/">estimation models</a>, please visit our <a href="http://www.galorath.com/index.php/contact/">contact page</a> or call us at +1 310 414-3222.</h4>
<p></i></p>
<p>Related posts:<ol>
<li><a href='http://www.galorath.com/wp/function-point-simple-introduction.php' rel='bookmark' title='Function Point Simple Introduction'>Function Point Simple Introduction</a> <small>I keep meaning to post Galorath&#8217;s Ton Dekker concise  introduction to...</small></li>
<li><a href='http://www.galorath.com/wp/cosmic-function-points-in-seer.php' rel='bookmark' title='COSMIC Function Points In SEER'>COSMIC Function Points In SEER</a> <small>SEER for Software supports the COSMIC function point estimation counting...</small></li>
<li><a href='http://www.galorath.com/wp/lines-of-code-versus-functon-points-versus-use-cases-for-sizing.php' rel='bookmark' title='Lines of Code Versus Functon Points Versus Use Cases For Sizing'>Lines of Code Versus Functon Points Versus Use Cases For Sizing</a> <small>I, along with many others, have written about the virtues...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.galorath.com/wp/oriiginal-function-point-paper.php/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Counting (Or Estimating) Lines of Code</title>
		<link>http://www.galorath.com/wp/counting-or-estimating-lines-of-code.php</link>
		<comments>http://www.galorath.com/wp/counting-or-estimating-lines-of-code.php#comments</comments>
		<pubDate>Wed, 02 Mar 2011 18:19:14 +0000</pubDate>
		<dc:creator>galorath</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software Estimating]]></category>
		<category><![CDATA[Software Sizing]]></category>
		<category><![CDATA[lines of code]]></category>
		<category><![CDATA[SLOC]]></category>

		<guid isPermaLink="false">http://www.galorath.com/wp/?p=2083</guid>
		<description><![CDATA[Counting or estimating lines of code is a viable sizing method so long as consistant counting rules are used and hand generated code is counted seperately.  Here are some of the counting rules Galorath recommends.  They are consistant with the industry: SLOC Attribute Included Excluded What is Included/Excluded     Executable statements X   Non-executable [...]
Related posts:<ol>
<li><a href='http://www.galorath.com/wp/counting-xml-source-lines-of-code.php' rel='bookmark' title='Counting XML Source Lines of Code'>Counting XML Source Lines of Code</a> <small>A customer recently asked how to count XML for their...</small></li>
<li><a href='http://www.galorath.com/wp/software-code-counter-review-and-recommendations.php' rel='bookmark' title='Software Code Counter Review and Recommendations'>Software Code Counter Review and Recommendations</a> <small>Galorath&#8217;s Mike Churchman did a comprehensive evaluation of numerous code...</small></li>
<li><a href='http://www.galorath.com/wp/dealing-with-generated-lines-of-code.php' rel='bookmark' title='Dealing With Generated Lines of Code'>Dealing With Generated Lines of Code</a> <small>We have gotten several questions recently on how to estimate...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fcounting-or-estimating-lines-of-code.php"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fcounting-or-estimating-lines-of-code.php&amp;source=galorath&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=lines+of+code,SLOC&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Counting or estimating lines of code is a viable sizing method so long as consistant counting rules are used and hand generated code is counted seperately.  Here are some of the counting rules Galorath recommends.  They are consistant with the industry:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="439" valign="top">SLOC Attribute</td>
<td width="72" valign="top"><span style="font-size: small;">Included</span></td>
<td width="79" valign="top">Excluded</td>
</tr>
<tr>
<td width="439" valign="top">What is Included/Excluded</td>
<td width="72" valign="top"> </td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top">Executable statements</td>
<td width="72" valign="top">X</td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top"><span style="font-size: small;">Non-executable data declaration statements and compiler directives</span></td>
<td width="72" valign="top">X</td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top">Comments, continuation lines, banners, blank lines, instantiated SLOC and nonblank spacers.</td>
<td width="72" valign="top"> </td>
<td width="79" valign="top">X</td>
</tr>
<tr>
<td width="439" valign="top">How Lines Are Produced</td>
<td width="72" valign="top">Include</td>
<td width="79" valign="top">Exclude</td>
</tr>
<tr>
<td width="439" valign="top">Manually/hand programmed SLOC</td>
<td width="72" valign="top">X</td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top">Lines developed for use as input to a Source Code Generator</td>
<td width="72" valign="top">X</td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top"><span style="font-size: small;">Lines generated as output from a Source Code Generator.  Note: Software from a Source Code Generator is estimated best via function point sizing, not SLOC.  Some people estimate generated lines by counting the total number of generated lines and applying reuse factors to them to reduce the effective size that will be used by the cost model.</span></td>
<td width="72" valign="top"> </td>
<td width="79" valign="top">X</td>
</tr>
<tr>
<td width="439" valign="top"><span style="font-size: small;">Lines converted with automated code translators. However, these lines should be considered as pre-existing Lines of Code, and the amount of rework required on the translated code should be defined through the use of rework percentages.  See chapter 8 Software Reuse.</span></td>
<td width="72" valign="top">X</td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top"><span style="font-size: small;"><span style="font-family: Times New Roman;">Copied, reused, or modified lines of code. Again, these lines should be considered as Pre-existing SLOC and the Lines of Code.</span></span></td>
<td width="72" valign="top">X</td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top"><span style="font-size: small;">Deleted lines of code.  The rework percentages of the remaining SLOC account for the work to make the program execute correctly without the deleted lines.</span></td>
<td width="72" valign="top"> </td>
<td width="79" valign="top">X</td>
</tr>
<tr>
<td width="439" valign="top"><span style="font-size: small;">The Origin of Each Line</span></td>
<td width="72" valign="top">Include</td>
<td width="79" valign="top">Exclude</td>
</tr>
<tr>
<td width="439" valign="top"><span style="font-size: small;">New lines developed from scratch.</span></td>
<td width="72" valign="top">X</td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top"><span style="font-size: small;">Pre-existing lines taken from a prior version, build or release.</span></td>
<td width="72" valign="top">X</td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top"><span style="font-size: small;">Invocation statements or pre-existing lines requiring rework from COTS or other off-the-shelf packages. Again, rework percentages need to be calculated.</span></td>
<td width="72" valign="top">X</td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top"><span style="font-size: small;">Invocation statements for modified vendor-supplied or special support libraries, but not the unmodified library code itself.</span></td>
<td width="72" valign="top">X</td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top"><span style="font-size: small;">Modified vendor-supplied or special support libraries, commercial libraries, reuse libraries, or other software component libraries. Rework percentages should be calculated for modifying these lines.</span></td>
<td width="72" valign="top">X</td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top">Lines that are part of an unmodified vendor-supplied operating system or utility or other non-developed code.</td>
<td width="72" valign="top"> </td>
<td width="79" valign="top">X</td>
</tr>
<tr>
<td width="439" valign="top">End Usage of Each Line</td>
<td width="72" valign="top">Include</td>
<td width="79" valign="top">Exclude</td>
</tr>
<tr>
<td width="439" valign="top">Lines that are in, or part of, the primary product.</td>
<td width="72" valign="top">X</td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top">Lines that are external to, or in support of, the primary product, only if they are part of the final or deliverable program.</td>
<td width="72" valign="top">X</td>
<td width="79" valign="top"> </td>
</tr>
<tr>
<td width="439" valign="top">Lines that are external to, or in support of, the primary product, but are not deliverable, or any other non-deliverable lines.</td>
<td width="72" valign="top"> </td>
<td width="79" valign="top">X</td>
</tr>
</tbody>
</table>
<p> </p>
<p>Hers is a higher level definition of lines.  It can be useful when dealing with a new language:</p>
<p>﻿</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td colspan="2" width="590" valign="top"><strong>Logical Source Line Rules</strong></td>
</tr>
<tr>
<td width="295" valign="top"><strong>Include</strong></td>
<td width="295" valign="top"><strong>Exclude</strong></td>
</tr>
<tr>
<td width="295" valign="top"><strong>Control statements (DO While, DO Until, GOTO etc.)</strong><strong>Mathematical statements (ex: i = a*b)</strong><strong>Conditional statements (IF, THEN, ELSE)</strong></p>
<p><strong>Deliverable Job Control (JCL) statements</strong></p>
<p><strong>Data declarations</strong></p>
<p><strong>Data typing and equivalence statements</strong></p>
<p><strong> </strong></p>
<p><strong>INPUT/OUTPUT format statements</strong></td>
<td width="295" valign="top"><strong>Comments</strong><strong>Blank lines</strong><strong>BEGIN statements from Begin-End pairs (count one line only for each pair)</strong></p>
<p><strong>Non-delivered programmer debugging statements</strong></p>
<p><strong>Continuation of formatting statements</strong></p>
<p><strong> </strong></p>
<p><strong>Machine or library-generated data statements</strong></p>
<p><strong> </strong></td>
</tr>
</tbody>
</table>
<p> The following example shows a C++ program.  It is 9 logical lines even thought it is 36 physical lines.  THis captures lines that do work without cluttering with formatting, comments, etc.</p>
<p>﻿</p>
<table border="1" cellspacing="0" cellpadding="0" width="619">
<tbody>
<tr>
<td width="391">Example C++ Program</td>
<td width="60">Physical Carriage Returns</td>
<td width="48">Physical Lines</td>
<td width="58">Logical Lines</td>
<td width="62" valign="top">Logical Lines Using Language Rules</td>
</tr>
<tr>
<td width="391" valign="top">extern double MessageMonitor(double dfComplexity, double dfSuccessRate);</td>
<td width="60" valign="top">1</td>
<td width="48" valign="top">1</td>
<td width="58" valign="top">1</td>
<td width="62" valign="top">1</td>
</tr>
<tr>
<td width="391" valign="top">/**</td>
<td width="60" valign="top">2</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">comment</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top"> *           function: ExampleFunction</td>
<td width="60" valign="top">3</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">comment</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top"> *</td>
<td width="60" valign="top">4</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">comment</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top"> *           purpose: Demonstrate counting of C code</td>
<td width="60" valign="top">5</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">comment</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top"> *</td>
<td width="60" valign="top">6</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">comment</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top"> *           arguments: x [IN]: first argument</td>
<td width="60" valign="top">7</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">comment</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top"> *                               y [IN]: second argument</td>
<td width="60" valign="top">8</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">comment</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top"> *                               bar [IN]: third argument, an array of…</td>
<td width="60" valign="top">9</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">comment</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top"> *</td>
<td width="60" valign="top">10</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">comment</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top"> *           returns: return value</td>
<td width="60" valign="top">11</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">comment</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top"> *</td>
<td width="60" valign="top">12</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">comment</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top">**/</td>
<td width="60" valign="top">13</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">comment</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top">double ExampleFunction(double  x, double y, int *bar) {</td>
<td width="60" valign="top">14</td>
<td width="48" valign="top">2</td>
<td width="58" valign="top">partial</td>
<td width="62" valign="top">2</td>
</tr>
<tr>
<td width="391" valign="top"> </td>
<td width="60" valign="top">15</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">blank</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top">             int n = (int) ((x + y) / 2);</td>
<td width="60" valign="top">16</td>
<td width="48" valign="top">3</td>
<td width="58" valign="top">2</td>
<td width="62" valign="top">3</td>
</tr>
<tr>
<td width="391" valign="top">             int SuccessfulAlert = 0;</td>
<td width="60" valign="top">17</td>
<td width="48" valign="top">4</td>
<td width="58" valign="top">3</td>
<td width="62" valign="top">4</td>
</tr>
<tr>
<td width="391" valign="top"> </td>
<td width="60" valign="top">18</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">Blank</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top">             if (x &lt; MessageMonitor (y, n))</td>
<td width="60" valign="top">19</td>
<td width="48" valign="top">5</td>
<td width="58" valign="top">Partial</td>
<td width="62" valign="top">5</td>
</tr>
<tr>
<td width="391" valign="top"> </td>
<td width="60" valign="top">20</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">Blank</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top">                       /* this is a comment */</td>
<td width="60" valign="top">21</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">Comment</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top"> </td>
<td width="60" valign="top">22</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">Blank</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top">                       SuccessfulAlert = bar[n] + 5;</td>
<td width="60" valign="top">23</td>
<td width="48" valign="top">6</td>
<td width="58" valign="top">4</td>
<td width="62" valign="top">6</td>
</tr>
<tr>
<td width="391" valign="top"> </td>
<td width="60" valign="top">24</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">Blank</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top">             else</td>
<td width="60" valign="top">25</td>
<td width="48" valign="top">7</td>
<td width="58" valign="top">Partial</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top"> </td>
<td width="60" valign="top">26</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">Blank</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top">                       while (n &gt; 0) {         </td>
<td width="60" valign="top">27</td>
<td width="48" valign="top">8</td>
<td width="58" valign="top">Partial</td>
<td width="62" valign="top">7</td>
</tr>
<tr>
<td width="391" valign="top"> </td>
<td width="60" valign="top">28</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">Blank</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top">                                 SuccessfulAlert += (int) MessageMonitor (x, n);</td>
<td width="60" valign="top">29</td>
<td width="48" valign="top">9</td>
<td width="58" valign="top">5</td>
<td width="62" valign="top">8</td>
</tr>
<tr>
<td width="391" valign="top"> </td>
<td width="60" valign="top">30</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">Blank</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top">                                  n&#8211;;</td>
<td width="60" valign="top">31</td>
<td width="48" valign="top">10</td>
<td width="58" valign="top">6</td>
<td width="62" valign="top">9</td>
</tr>
<tr>
<td width="391" valign="top"> </td>
<td width="60" valign="top">32</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">Blank</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top">                       }</td>
<td width="60" valign="top">33</td>
<td width="48" valign="top">11</td>
<td width="58" valign="top">7</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top"> </td>
<td width="60" valign="top">34</td>
<td width="48" valign="top"> </td>
<td width="58" valign="top">Blank</td>
<td width="62" valign="top"> </td>
</tr>
<tr>
<td width="391" valign="top">             return (++x + SuccessfulAlert + bar(n));</td>
<td width="60" valign="top">35</td>
<td width="48" valign="top">12</td>
<td width="58" valign="top">8</td>
<td width="62" valign="top">10</td>
</tr>
<tr>
<td width="391" valign="top">}</td>
<td width="60" valign="top">36</td>
<td width="48" valign="top">13</td>
<td width="58" valign="top">9</td>
<td width="62" valign="top"> </td>
</tr>
</tbody>
</table>
<p><i><br />
<hr size="1" noshade>
<h4>Thank you for reading &#8220;Dan on Estimating&#8221;, if you would like more information about Galorath&#8217;s <a href="http://www.galorath.com/index.php/products/">estimation models</a>, please visit our <a href="http://www.galorath.com/index.php/contact/">contact page</a> or call us at +1 310 414-3222.</h4>
<p></i></p>
<p>Related posts:<ol>
<li><a href='http://www.galorath.com/wp/counting-xml-source-lines-of-code.php' rel='bookmark' title='Counting XML Source Lines of Code'>Counting XML Source Lines of Code</a> <small>A customer recently asked how to count XML for their...</small></li>
<li><a href='http://www.galorath.com/wp/software-code-counter-review-and-recommendations.php' rel='bookmark' title='Software Code Counter Review and Recommendations'>Software Code Counter Review and Recommendations</a> <small>Galorath&#8217;s Mike Churchman did a comprehensive evaluation of numerous code...</small></li>
<li><a href='http://www.galorath.com/wp/dealing-with-generated-lines-of-code.php' rel='bookmark' title='Dealing With Generated Lines of Code'>Dealing With Generated Lines of Code</a> <small>We have gotten several questions recently on how to estimate...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.galorath.com/wp/counting-or-estimating-lines-of-code.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Issues in Software Measurement &amp; Estimation ISMA 2010</title>
		<link>http://www.galorath.com/wp/issues-in-software-measurement-estimation-isma-2010.php</link>
		<comments>http://www.galorath.com/wp/issues-in-software-measurement-estimation-isma-2010.php#comments</comments>
		<pubDate>Fri, 20 Aug 2010 23:18:36 +0000</pubDate>
		<dc:creator>galorath</dc:creator>
				<category><![CDATA[Estimation Process]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[measurement]]></category>
		<category><![CDATA[Software Sizing]]></category>
		<category><![CDATA[cost estimating]]></category>
		<category><![CDATA[estimatimation]]></category>
		<category><![CDATA[measures]]></category>

		<guid isPermaLink="false">http://www.galorath.com/wp/?p=1525</guid>
		<description><![CDATA[Measurement is a wonderful thing.  However measurement without standards and definition can be worse than no measurement at all.  This paper which I will be presenting at the 2010 ISMA conference begins the attack, highlighting the need and proposing that additional work commences in standards for estimation and measurement.  Software Estimation and Measurement 2010 Thank [...]
Related posts:<ol>
<li><a href='http://www.galorath.com/wp/measurement-and-providing-value-to-the-business-isma-keynote-2011.php' rel='bookmark' title='Measurement and Providing Value to the Business ISMA Keynote 2011'>Measurement and Providing Value to the Business ISMA Keynote 2011</a> <small>Here is a copy of my keynote talk at the...</small></li>
<li><a href='http://www.galorath.com/wp/the-future-of-software-analysis-measurement-webinar-featuring-bill-curtis-david-herron-and-dan-galorath.php' rel='bookmark' title='The Future of Software Analysis  Measurement Webinar Featuring Bill Curtis, David Herron and Dan Galorath'>The Future of Software Analysis  Measurement Webinar Featuring Bill Curtis, David Herron and Dan Galorath</a> <small>We have some exciting events coming up this month with...</small></li>
<li><a href='http://www.galorath.com/wp/weight-management-measurement-and-estimation.php' rel='bookmark' title='Weight Management = Measurement and Estimation'>Weight Management = Measurement and Estimation</a> <small>Weight management is all about measurement and estimation.  Estimating quantity...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fissues-in-software-measurement-estimation-isma-2010.php"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fissues-in-software-measurement-estimation-isma-2010.php&amp;source=galorath&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=cost+estimating,estimatimation,measures&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Measurement is a wonderful thing.  However measurement without standards and definition can be worse than no measurement at all.  This paper which I will be presenting at the 2010 ISMA conference begins the attack, highlighting the need and proposing that additional work commences in standards for estimation and measurement.  <a href="http://galorath.com/blogfiles/GalorathISMA2010PresentationIssuesInSoftwareMeasurementEstimation.pdf">Software Estimation and Measurement 2010</a>
<p><i><br />
<hr size="1" noshade>
<h4>Thank you for reading &#8220;Dan on Estimating&#8221;, if you would like more information about Galorath&#8217;s <a href="http://www.galorath.com/index.php/products/">estimation models</a>, please visit our <a href="http://www.galorath.com/index.php/contact/">contact page</a> or call us at +1 310 414-3222.</h4>
<p></i></p>
<p>Related posts:<ol>
<li><a href='http://www.galorath.com/wp/measurement-and-providing-value-to-the-business-isma-keynote-2011.php' rel='bookmark' title='Measurement and Providing Value to the Business ISMA Keynote 2011'>Measurement and Providing Value to the Business ISMA Keynote 2011</a> <small>Here is a copy of my keynote talk at the...</small></li>
<li><a href='http://www.galorath.com/wp/the-future-of-software-analysis-measurement-webinar-featuring-bill-curtis-david-herron-and-dan-galorath.php' rel='bookmark' title='The Future of Software Analysis  Measurement Webinar Featuring Bill Curtis, David Herron and Dan Galorath'>The Future of Software Analysis  Measurement Webinar Featuring Bill Curtis, David Herron and Dan Galorath</a> <small>We have some exciting events coming up this month with...</small></li>
<li><a href='http://www.galorath.com/wp/weight-management-measurement-and-estimation.php' rel='bookmark' title='Weight Management = Measurement and Estimation'>Weight Management = Measurement and Estimation</a> <small>Weight management is all about measurement and estimation.  Estimating quantity...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.galorath.com/wp/issues-in-software-measurement-estimation-isma-2010.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Code Counter Update Available from USC</title>
		<link>http://www.galorath.com/wp/new-code-counter-update-available-from-usc.php</link>
		<comments>http://www.galorath.com/wp/new-code-counter-update-available-from-usc.php#comments</comments>
		<pubDate>Wed, 07 Jul 2010 16:29:13 +0000</pubDate>
		<dc:creator>galorath</dc:creator>
				<category><![CDATA[Software Sizing]]></category>
		<category><![CDATA[lines of code]]></category>
		<category><![CDATA[software size]]></category>
		<category><![CDATA[source lines of code]]></category>

		<guid isPermaLink="false">http://www.galorath.com/wp/?p=1491</guid>
		<description><![CDATA[The University of Southern California has been developing and updating line of code counters for a number of years. Such code counters can be very handy when using lines of code as a size measure.  I know, many object to using lines of code, but when used correctly they can work well.  We see users [...]
Related posts:<ol>
<li><a href='http://www.galorath.com/wp/software-code-counter-review-and-recommendations.php' rel='bookmark' title='Software Code Counter Review and Recommendations'>Software Code Counter Review and Recommendations</a> <small>Galorath&#8217;s Mike Churchman did a comprehensive evaluation of numerous code...</small></li>
<li><a href='http://www.galorath.com/wp/new-code-counting-tool-made-available.php' rel='bookmark' title='New Code Counting Tool Made Available'>New Code Counting Tool Made Available</a> <small>A new version of the USC code counting tool has...</small></li>
<li><a href='http://www.galorath.com/wp/dealing-with-generated-lines-of-code.php' rel='bookmark' title='Dealing With Generated Lines of Code'>Dealing With Generated Lines of Code</a> <small>We have gotten several questions recently on how to estimate...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fnew-code-counter-update-available-from-usc.php"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fnew-code-counter-update-available-from-usc.php&amp;source=galorath&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=lines+of+code,software+size,source+lines+of+code&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>The University of Southern California has been developing and updating line of code counters for a number of years. Such code counters can be very handy when using lines of code as a size measure.  I know, many object to using lines of code, but when used correctly they can work well.  We see users who have just as much success with lines of code as they do with function points, use cases, etc.</p>
<p>Even if you are a functional size user, knowing the SLOC for legacy can be useful, rather than counting the function points, etc.  Here is the announcement from USC:</p>
<blockquote><p>We are pleased to announce that a new version of the Unified CodeCount (UCC) tool is now available to the public at <a href="http://sunset.usc.edu/research/CODECOUNT/">http://sunset.usc.edu/research/CODECOUNT/</a>. This Release 2010.07 supports new programming languages (e.g., Fortran, Python, ColdFusion, Bash and C-Shell script) and the CSV output format among other enhancements and bug fixes. Please refer to the release notes document for further details at <a href="http://sunset.usc.edu/research/CODECOUNT/download/2010/UCC_Release_Notes_v.2010.07.pdf">http://sunset.usc.edu/research/CODECOUNT/download/2010/UCC_Release_Notes_v.2010.07.pdf</a></p></blockquote>
<p><i><br />
<hr size="1" noshade>
<h4>Thank you for reading &#8220;Dan on Estimating&#8221;, if you would like more information about Galorath&#8217;s <a href="http://www.galorath.com/index.php/products/">estimation models</a>, please visit our <a href="http://www.galorath.com/index.php/contact/">contact page</a> or call us at +1 310 414-3222.</h4>
<p></i></p>
<p>Related posts:<ol>
<li><a href='http://www.galorath.com/wp/software-code-counter-review-and-recommendations.php' rel='bookmark' title='Software Code Counter Review and Recommendations'>Software Code Counter Review and Recommendations</a> <small>Galorath&#8217;s Mike Churchman did a comprehensive evaluation of numerous code...</small></li>
<li><a href='http://www.galorath.com/wp/new-code-counting-tool-made-available.php' rel='bookmark' title='New Code Counting Tool Made Available'>New Code Counting Tool Made Available</a> <small>A new version of the USC code counting tool has...</small></li>
<li><a href='http://www.galorath.com/wp/dealing-with-generated-lines-of-code.php' rel='bookmark' title='Dealing With Generated Lines of Code'>Dealing With Generated Lines of Code</a> <small>We have gotten several questions recently on how to estimate...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.galorath.com/wp/new-code-counter-update-available-from-usc.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Code Counter Review and Recommendations</title>
		<link>http://www.galorath.com/wp/software-code-counter-review-and-recommendations.php</link>
		<comments>http://www.galorath.com/wp/software-code-counter-review-and-recommendations.php#comments</comments>
		<pubDate>Wed, 05 May 2010 17:08:02 +0000</pubDate>
		<dc:creator>galorath</dc:creator>
				<category><![CDATA[Software Estimating]]></category>
		<category><![CDATA[Software Sizing]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[code counter]]></category>
		<category><![CDATA[SLOC]]></category>
		<category><![CDATA[source lines of code]]></category>

		<guid isPermaLink="false">http://www.galorath.com/wp/?p=1397</guid>
		<description><![CDATA[Galorath&#8217;s Mike Churchman did a comprehensive evaluation of numerous code counting tools and provided recommendations. While some people may wonder why anyone would want to count code (it can be useful when estimating the amount of work in reuse as well as gaining a benchmark for estimating new code when using lines as a size [...]
Related posts:<ol>
<li><a href='http://www.galorath.com/wp/new-code-counter-update-available-from-usc.php' rel='bookmark' title='New Code Counter Update Available from USC'>New Code Counter Update Available from USC</a> <small>The University of Southern California has been developing and updating...</small></li>
<li><a href='http://www.galorath.com/wp/new-code-counting-tool-made-available.php' rel='bookmark' title='New Code Counting Tool Made Available'>New Code Counting Tool Made Available</a> <small>A new version of the USC code counting tool has...</small></li>
<li><a href='http://www.galorath.com/wp/counting-or-estimating-lines-of-code.php' rel='bookmark' title='Counting (Or Estimating) Lines of Code'>Counting (Or Estimating) Lines of Code</a> <small>Counting or estimating lines of code is a viable sizing...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fsoftware-code-counter-review-and-recommendations.php"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Fsoftware-code-counter-review-and-recommendations.php&amp;source=galorath&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=code,code+counter,SLOC,source+lines+of+code&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Galorath&#8217;s Mike Churchman did a comprehensive evaluation of numerous code counting tools and provided recommendations.</p>
<p>While some people may wonder why anyone would want to count code (it can be useful when estimating the amount of work in reuse as well as gaining a benchmark for estimating new code when using lines as a size measure) Mike&#8217;s evaluation is very useful. I am including only the report on the top two tools.</p>
<p>Recommendations:</p>
<p><span id="more-1397"></span></p>
<h3>C/C++</h3>
<p>USC CodeCount</p>
<h3>Java</h3>
<p>USC CodeCount</p>
<h3>Perl</h3>
<p>USC CodeCount (if you can get around the bug)</p>
<h3>PHP</h3>
<p><a href="http://cloc.sourceforge.net/">CLOC.EXE</a>, with adjustment factor</p>
<h3>Python</h3>
<p>CLOC.EXE, with adjustment factor</p>
<h2>Test files:</h2>
<p>For Java, Perl, PHP, and Python, he used several files which I pulled from various SourceForge projects. For C++, he used our standard sample file from the manual and Dan&#8217;s book.</p>
<h2>Manual count (Control)</h2>
<p>In the test files, he counted partial lines separately from SLOC, simply because he wasn&#8217;t sure about what to do with them, so my initial SLOC count simply doesn&#8217;t include partials at all.</p>
<p>The code counters which he tested were (for the most part) smart enough to tell the difference between blank lines, comments, and actual code. With very few exceptions, their blank-line and comment counts agreed, and matched my hand-counts.</p>
<p><strong>There was, however, some significant variation in the SLOC numbers which they reported</strong>.</p>
<h3>C/C++, Java, and Perl:</h3>
<p>The <a href="http://csse.usc.edu/research/CODECOUNT/">USC code counter </a>generally gave the most conservative SLOC counts &#8212; ranging from the same as mine, to over 25% less. In many cases, the USC count was about 4% to 10% lower than his hand count.</p>
<h3>Perl bug:</h3>
<p>He found one bug in the USC code counter for Perl: it appears that if the number of opening and closing quotes in a comment block don&#8217;t match, the counter stops counting SLOC, although it will continue to count comments and blank lines. Unfortunately, it also fails to recognize a quote character at the end of a comment line, unless it is followed by two spaces.</p>
<h3>PHP and Python:</h3>
<p>The USC code counters don&#8217;t handle PHP and Python. The best of the ones that are available all give reasonably accurate counts of code (as opposed to comment or blank) lines, but they count partial lines as full lines. One promising-looking application, for example, counts (according to the online documentation) physical, rather than logical lines.</p>
<h3>Suggestion:</h3>
<p>For PHP and Python (and for Perl, if you can&#8217;t find any practical way around the USC counter&#8217;s bug), you could use CLOC.EXE, which seems to give accurate total counts for SLOC + partial lines, then apply an adjustment factor to the output to get something reasonably close to an accurate SLOC count.</p>
<p>How do you come up with and adjustment factor? His first impulse would be to take some representative samples of code from various sources (the test files that I&#8217;ve been using might be sufficient, although we may want something larger), hand-count SLOC and partials, get an average SLOC-to-total (SLOC + partials) ratio for each language, and use that as a multiplier.</p>
<h3>Other Code Counters:</h3>
<p>Universal Code Counter gives counts which generally match CLOC.EXE, sometimes, however, it seems to be rather far off the mark, and it reverses the counts for blanks and comments, which leaves me somewhat in doubt of its accuracy. Most of the other counters were less accurate, or at least less reliable.
<p><i><br />
<hr size="1" noshade>
<h4>Thank you for reading &#8220;Dan on Estimating&#8221;, if you would like more information about Galorath&#8217;s <a href="http://www.galorath.com/index.php/products/">estimation models</a>, please visit our <a href="http://www.galorath.com/index.php/contact/">contact page</a> or call us at +1 310 414-3222.</h4>
<p></i></p>
<p>Related posts:<ol>
<li><a href='http://www.galorath.com/wp/new-code-counter-update-available-from-usc.php' rel='bookmark' title='New Code Counter Update Available from USC'>New Code Counter Update Available from USC</a> <small>The University of Southern California has been developing and updating...</small></li>
<li><a href='http://www.galorath.com/wp/new-code-counting-tool-made-available.php' rel='bookmark' title='New Code Counting Tool Made Available'>New Code Counting Tool Made Available</a> <small>A new version of the USC code counting tool has...</small></li>
<li><a href='http://www.galorath.com/wp/counting-or-estimating-lines-of-code.php' rel='bookmark' title='Counting (Or Estimating) Lines of Code'>Counting (Or Estimating) Lines of Code</a> <small>Counting or estimating lines of code is a viable sizing...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.galorath.com/wp/software-code-counter-review-and-recommendations.php/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>RICE Objects Definition</title>
		<link>http://www.galorath.com/wp/rice-objects-definition.php</link>
		<comments>http://www.galorath.com/wp/rice-objects-definition.php#comments</comments>
		<pubDate>Sat, 27 Feb 2010 21:16:29 +0000</pubDate>
		<dc:creator>galorath</dc:creator>
				<category><![CDATA[Software Estimating]]></category>
		<category><![CDATA[Software Sizing]]></category>
		<category><![CDATA[erp]]></category>
		<category><![CDATA[sap]]></category>
		<category><![CDATA[SEER]]></category>
		<category><![CDATA[sizing]]></category>

		<guid isPermaLink="false">http://www.galorath.com/wp/?p=1314</guid>
		<description><![CDATA[RICE is SAP Terminology (R)eports, (I)interfaces, (C)onversions, (E)nhancements Reports: Number of formatted and organized presentations of data, including output forms. Interfaces: Number of boundaries across which two independent systems meet and act on or communicate with each other Conversions: Number of processes that transfer or copy data from an existing system to load production systems. [...]
Related posts:<ol>
<li><a href='http://www.galorath.com/wp/tounge-in-cheek-definition-of-cost-analysis.php' rel='bookmark' title='Tongue In Cheek Definition of Cost Analysis'>Tongue In Cheek Definition of Cost Analysis</a> <small>From an Aerospace Corporation course: &#8220;The art of  estimating the...</small></li>
<li><a href='http://www.galorath.com/wp/towards-a-standard-definition-of-it-infrastruture.php' rel='bookmark' title='Towards a Standard Definition of IT Infrastruture'>Towards a Standard Definition of IT Infrastruture</a> <small>In the article &#8220;IT Policy: An Essential Element of IT...</small></li>
<li><a href='http://www.galorath.com/wp/what-is-it-infrastructure-a-definition-and-a-taxonomy.php' rel='bookmark' title='What Is IT Infrastructure: A Definition and a Taxonomy'>What Is IT Infrastructure: A Definition and a Taxonomy</a> <small>There are probably as many definitions of IT Infrastructure as...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Frice-objects-definition.php"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Frice-objects-definition.php&amp;source=galorath&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=erp,sap,SEER,sizing&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>RICE is SAP Terminology (R)eports, (I)interfaces, (C)onversions, (E)nhancements</p>
<p><strong>Reports</strong>: Number of formatted and organized presentations of data, including output forms.<br />
<strong>Interfaces</strong>: Number of boundaries across which two independent systems meet and act on or communicate with each other<br />
<strong>Conversions</strong>: Number of processes that transfer or copy data from an existing system to load production systems.<br />
<strong>Enhancements</strong> (Extensions): Number of programs that are in addition to an existing standard program.
<p><i><br />
<hr size="1" noshade>
<h4>Thank you for reading &#8220;Dan on Estimating&#8221;, if you would like more information about Galorath&#8217;s <a href="http://www.galorath.com/index.php/products/">estimation models</a>, please visit our <a href="http://www.galorath.com/index.php/contact/">contact page</a> or call us at +1 310 414-3222.</h4>
<p></i></p>
<p>Related posts:<ol>
<li><a href='http://www.galorath.com/wp/tounge-in-cheek-definition-of-cost-analysis.php' rel='bookmark' title='Tongue In Cheek Definition of Cost Analysis'>Tongue In Cheek Definition of Cost Analysis</a> <small>From an Aerospace Corporation course: &#8220;The art of  estimating the...</small></li>
<li><a href='http://www.galorath.com/wp/towards-a-standard-definition-of-it-infrastruture.php' rel='bookmark' title='Towards a Standard Definition of IT Infrastruture'>Towards a Standard Definition of IT Infrastruture</a> <small>In the article &#8220;IT Policy: An Essential Element of IT...</small></li>
<li><a href='http://www.galorath.com/wp/what-is-it-infrastructure-a-definition-and-a-taxonomy.php' rel='bookmark' title='What Is IT Infrastructure: A Definition and a Taxonomy'>What Is IT Infrastructure: A Definition and a Taxonomy</a> <small>There are probably as many definitions of IT Infrastructure as...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.galorath.com/wp/rice-objects-definition.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rand Monograph on Software Sizing</title>
		<link>http://www.galorath.com/wp/rand-monograph-on-software-sizing.php</link>
		<comments>http://www.galorath.com/wp/rand-monograph-on-software-sizing.php#comments</comments>
		<pubDate>Tue, 12 Jan 2010 09:36:03 +0000</pubDate>
		<dc:creator>galorath</dc:creator>
				<category><![CDATA[Software Sizing]]></category>
		<category><![CDATA[estimating Capability maturity model]]></category>
		<category><![CDATA[size estimate]]></category>
		<category><![CDATA[size estimation]]></category>

		<guid isPermaLink="false">http://www.galorath.com/wp/?p=1172</guid>
		<description><![CDATA[The Rand corporation has posted its report on software sizing I especially enjoyed the paragraphs on risks in size estimation&#8230; They identify three types of uncertainty Specification or design uncertainty Development method uncertainty Estimation process uncertainty It is encouraging to see people referring to estimation process uncertainty as a risk.  As we view estimate maturity [...]
Related posts:<ol>
<li><a href='http://www.galorath.com/wp/step-four-software-sizing.php' rel='bookmark' title='Step Four: Software Sizing'>Step Four: Software Sizing</a> <small>Size is generally the most significant (but certainly not the...</small></li>
<li><a href='http://www.galorath.com/wp/book-software-sizing-etimation-risk-management-is-now-available-electronically.php' rel='bookmark' title='Book &#8220;Software Sizing, Estimation &amp; Risk Management&#8221; Is Now Available Electronically'>Book &#8220;Software Sizing, Estimation &#038; Risk Management&#8221; Is Now Available Electronically</a> <small>Dan&#8217;s book, Software Sizing, Estimation &amp; Risk Management, is now...</small></li>
<li><a href='http://www.galorath.com/wp/list-of-documents-on-software-sizing.php' rel='bookmark' title='List of Documents On Software Sizing'>List of Documents On Software Sizing</a> <small>he following is a list of documents on software sizing. ...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Frand-monograph-on-software-sizing.php"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.galorath.com%2Fwp%2Frand-monograph-on-software-sizing.php&amp;source=galorath&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=estimating+Capability+maturity+model,size+estimate,size+estimation,Software+Sizing&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>The Rand corporation has posted its <a href="http://www.rand.org/pubs/monographs/2005/RAND_MG269.sum.pdf">report on software sizing</a></p>
<p>I especially enjoyed the paragraphs on risks in size estimation&#8230;</p>
<p>They identify three types of uncertainty</p>
<ol>
<li>Specification or design uncertainty</li>
<li>Development method uncertainty</li>
<li>Estimation process uncertainty</li>
</ol>
<p>It is encouraging to see people referring to estimation process uncertainty as a risk.</p>
<p> As we view estimate maturity in many organizations we sometimes find that estimation is not considered important&#8230; until the project is late or over budget.
<p><i><br />
<hr size="1" noshade>
<h4>Thank you for reading &#8220;Dan on Estimating&#8221;, if you would like more information about Galorath&#8217;s <a href="http://www.galorath.com/index.php/products/">estimation models</a>, please visit our <a href="http://www.galorath.com/index.php/contact/">contact page</a> or call us at +1 310 414-3222.</h4>
<p></i></p>
<p>Related posts:<ol>
<li><a href='http://www.galorath.com/wp/step-four-software-sizing.php' rel='bookmark' title='Step Four: Software Sizing'>Step Four: Software Sizing</a> <small>Size is generally the most significant (but certainly not the...</small></li>
<li><a href='http://www.galorath.com/wp/book-software-sizing-etimation-risk-management-is-now-available-electronically.php' rel='bookmark' title='Book &#8220;Software Sizing, Estimation &amp; Risk Management&#8221; Is Now Available Electronically'>Book &#8220;Software Sizing, Estimation &#038; Risk Management&#8221; Is Now Available Electronically</a> <small>Dan&#8217;s book, Software Sizing, Estimation &amp; Risk Management, is now...</small></li>
<li><a href='http://www.galorath.com/wp/list-of-documents-on-software-sizing.php' rel='bookmark' title='List of Documents On Software Sizing'>List of Documents On Software Sizing</a> <small>he following is a list of documents on software sizing. ...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.galorath.com/wp/rand-monograph-on-software-sizing.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

