<?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>SciTools Blog &#187; Build Metrics</title>
	<atom:link href="http://scitools.com/blog/category/build-metrics/feed" rel="self" type="application/rss+xml" />
	<link>http://scitools.com/blog</link>
	<description>Maintain your Software</description>
	<lastBuildDate>Mon, 30 Jan 2012 19:15:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Build Metrics: B448</title>
		<link>http://scitools.com/blog/2008/06/build-metrics-b448.html</link>
		<comments>http://scitools.com/blog/2008/06/build-metrics-b448.html#comments</comments>
		<pubDate>Wed, 18 Jun 2008 05:47:38 +0000</pubDate>
		<dc:creator>ken</dc:creator>
				<category><![CDATA[Build Metrics]]></category>
		<category><![CDATA[Understand 2.0]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/http:/scitools.com/blog/archives/2008/06/build-metrics-b448.html</guid>
		<description><![CDATA[Metrics Overview
Before covering the detailed metrics for B448 I figured a bit of an overview on Understand 2.0 metrics would be useful.
Project vs Change Metrics
There are two basic kinds of metrics that we provide in Understand 2.0.&#160;&#160; The first is Project Metrics, which give a static view of a particular point in time.&#160; Examples of [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Metrics Overview</strong></p>
<p>Before covering the detailed metrics for B448 I figured a bit of an overview on Understand 2.0 metrics would be useful.</p>
<p><strong>Project vs Change Metrics</strong></p>
<p>There are two basic kinds of metrics that we provide in<em> Understand 2.0</em>.&nbsp;&nbsp; The first is <strong>Project Metrics</strong>, which give a static view of a particular point in time.&nbsp; Examples of this are <em>CountLine</em> and <em>Cyclomatic</em>.&nbsp;<em>Understand 2.0</em>&nbsp;computes and presents the value of these metrics for any snapshot in the database.&nbsp;&nbsp;</p>
<p>The second kind is<strong> Change Metrics</strong>. These show differences between snapshots. The differences can be static &#8211; i.e. comparing Cyclomatic from B448 to Cyclomatic in B447. Or it can be dynamic, for instance showing lines deleted (calculated by looking at diffs).</p>
<p><strong>How are Snapshots Made?</strong></p>
<p>You can make a snapshot in three easy ways. First, make one from the current database. Second, make one from an alternate source location where you checked out another version of your source code, and third you can make one from any point in time using TrackBack (after version B443).&nbsp; All these are done from the Change-&gt;Snapshot Manager menu.</p>
<p><strong>Build 448 Metrics</strong></p>
<p>After making a snapshot for B448, the Snapshot Manager showed me this basic information about each recent snapshot:</p>
<p><img alt="2008-06-18 01.27" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D06_2D18_2001.27.jpg" border="0" /></p>
</p>
<p><span id="more-337"></span><br />
<more><br />
</more>
<p>&nbsp;</p>
<p>
<more><br />
</more></p>
<p>Here is the entire source for the project compared to the major components. Maintain is the source for Understand 2.0</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/B448_2DCodeVolume.png"><img alt="B448-CodeVolume" src="http://scitools.com/blog/wp-content/uploads/mt-old/B448_2DCodeVolume_thumb.jpg" border="0" /></a></p>
<p>That is nice, but what &#8220;happened&#8221;. Here are some more dynamic views showing changed SLOC and classes:</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/B448vsb447_2DCodeVolume.png"><img alt="B448vsb447-CodeVolume" src="http://scitools.com/blog/wp-content/uploads/mt-old/B448vsb447_2DCodeVolume_thumb.jpg" border="0" /></a></p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/B448vsb447_2DClassChange.png"><img alt="B448vsb447-ClassChange" src="http://scitools.com/blog/wp-content/uploads/mt-old/B448vsb447_2DClassChange_thumb.jpg" border="0" /></a></p>
<p>Not nearly as busy as we were last build (-:&nbsp;&nbsp; Not quite true, these numbers reflect the code checked in. Last build had a lot of code checked in because we&#8217;d held the build for two weeks waiting for the Estimate and Metrics Graphing features to be ready. </p>
<p>I&#8217;m a big fan of &#8220;new complexity&#8221; as an important metric. This captures the dynamic that new complexity, in the form of new logic or changed logic represents the biggest source of bugs.&nbsp; Put another way, a new complexity of 10 is way more dangerous than a stable unchanged complexity of 50.&nbsp; Well&#8230; unless some changes ripple through that complexity of 50&#8230; but that is for another blog posting about using Change to find risk.</p>
<p>Here is a view of &#8220;new complexity&#8221; for this Build</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/18_202008_2D06_2D18_2001.20.jpg"><img alt="18 2008-06-18 01.20" src="http://scitools.com/blog/wp-content/uploads/mt-old/18_202008_2D06_2D18_2001.20_thumb.jpg" border="0" /></a></p>
<p>Note that the above chart was done with Excel by exporting data out of <em>Understand 2.0.</em>&nbsp; I also sent a note to the pertinent engineers asking them to put in various &#8220;new complexity&#8221; charts into the Metrics feature of <em>Understand 2.0&nbsp; </em>Except for this chart, all are made directly by <em>Understand 2.0&#8242;</em>s new Metrics graphing menu.</p>
<p>Timeline:</p>
<p>12:52 &#8211; rescan/update code in project.<br />12:54 &#8211; make snapshot<br />12:55 &#8211; update metrics database including change metrics (more time consuming)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This gets more time consuming each time I add a snapshot becuase it compares all snapshots to all snapshots.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For the next build I&#8217;ll likely disable past snapshots and only do comparisons between the last two.<br />13:05 &#8211; starting making graphs using Metrics Graph Browser<br />13:35 &#8211; finished posting this blog plus sent several e-mails with ideas to pertinent engineers.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2008/06/build-metrics-b448.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build Metrics: Build 447</title>
		<link>http://scitools.com/blog/2008/06/build-metrics-build-447.html</link>
		<comments>http://scitools.com/blog/2008/06/build-metrics-build-447.html#comments</comments>
		<pubDate>Thu, 12 Jun 2008 03:53:37 +0000</pubDate>
		<dc:creator>ken</dc:creator>
				<category><![CDATA[Build Metrics]]></category>
		<category><![CDATA[Understand 2.0]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/http:/scitools.com/blog/archives/2008/06/build-metrics-build-447.html</guid>
		<description><![CDATA[I&#8217;m writing this post using data and charts directly made by the the new &#8220;Metrics&#8221; menu of Understand 2.0.&#160; It provides metrics browsing and charts directly inside of Understand 2.0.&#160;&#160;&#160; How does this differ from our upcoming Measure tool?&#160; Primarily in scope and flexibility. With Measure you can custom design charts and comparisons and automatically [...]]]></description>
			<content:encoded><![CDATA[<p>I&rsquo;m writing this post using data and charts directly made by the the new &ldquo;Metrics&rdquo; menu of <em>Understand 2.0</em>.&nbsp; It provides metrics browsing and charts directly inside of <em>Understand </em>2.0.&nbsp;&nbsp;&nbsp; How does this differ from our upcoming <em>Measure</em> tool?&nbsp; Primarily in scope and flexibility. With <em>Measure</em> you can custom design charts and comparisons and automatically report them, plus a few zillion other things.&nbsp; But the new &ldquo;Metrics&rdquo; menu provides quite a bit of useful information with pretty much zero learning curve.</p>
<p>B447</p>
<p>I made a snapshot. This told me this basic information about B447 versus B446:</p>
<p><img alt="2008-06-11 23.40" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D06_2D11_2023.40.jpg" border="0" /></p>
<p>1,719 classes in B447, while 1487 were in B446.&nbsp; We&rsquo;ve been busy (-:</p>
<p>Here is an <em>Understand</em> 2.0 generated chart of the line volume information for B447:</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/b447.png"><img alt="B447" src="http://scitools.com/blog/wp-content/uploads/mt-old/b447_thumb.jpg" border="0" /></a></p>
<p><span id="more-334"></span></p>
<p>and for B446:</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/b446.png"><img alt="B446" src="http://scitools.com/blog/wp-content/uploads/mt-old/b446_thumb.jpg" border="0" /></a></p>
<p>So how much changed between B446 and B447?</p>
<p>Here is line change information. This separately counts lines that were added, changed and removed. An important distinction for this metric is that&nbsp;it isn&rsquo;t just looking at line counts &ndash; it is looking at the text of the lines. If it was removed, CountLineRemoved increments, if changed CountLineCHanged, so on.&nbsp; This avoids the situation of a line added and a line removed adding up to 0.</p>
<p><img alt="2008-06-11 23.36" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D06_2D11_2023.36.jpg" border="0" /></p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/b446_2D447_2Dlinehanges.png"><img alt="B446-447-linehanges" src="http://scitools.com/blog/wp-content/uploads/mt-old/b446_2D447_2Dlinehanges_thumb.jpg" border="0" /></a></p>
<p>Here is the class change data. Again, a Class Added is a new class. ClassRemoved is one that is no longer in the source. A ChangedClass has some non-whitespace changes done to it &ndash; like new logic, or a new member.</p>
<p><img alt="09 2008-06-11 23.36" src="http://scitools.com/blog/wp-content/uploads/mt-old/09_202008_2D06_2D11_2023.36.jpg" border="0" /></p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/b446_2D447_2Dclasschanges.png"><img alt="B446-447-classchanges" src="http://scitools.com/blog/wp-content/uploads/mt-old/b446_2D447_2Dclasschanges_thumb.jpg" border="0" /></a></p>
<p>Finally, here are metrics by the major architectural areas.&nbsp;&nbsp;THese architectures were built automatically by the Architect tool of Understand 2.0.</p>
<p>Size (in SLOC) by Major Architectural Area</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/b447_2Dbyarch.png"><img alt="B447-byarch" src="http://scitools.com/blog/wp-content/uploads/mt-old/b447_2Dbyarch_thumb.jpg" border="0" /></a></p>
<p>Class Change by major architectural area:</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/b446_2D447_2Dclasschangebyarc.png"><img alt="B446-447-classchangebyarc" src="http://scitools.com/blog/wp-content/uploads/mt-old/b446_2D447_2Dclasschangebyarc_thumb.jpg" border="0" /></a></p>
<p>Note: All of these tables and charts were generated directly from <em>Understand 2.0.&nbsp;</em></p>
<p>My timeline for doing this was:</p>
<p>&ndash; 1 minute &ndash; make snapshot of 447</p>
<p>&ndash; 5 minutes &ndash; checkout source of 446 to alternate location. I&rsquo;d forgotten to make a snapshot of it.</p>
<p>&ndash; 4 minutes &ndash; make snapshot of 446 from the alternate location.</p>
<p>&ndash; 6 minutes &ndash; update Understands 2.0 metrics database for all snapshots.</p>
<p>&ndash; 10 minutes &ndash; make the charts and write this posting</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2008/06/build-metrics-build-447.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build Metrics:  Comparing B442 -&gt; B443</title>
		<link>http://scitools.com/blog/2008/04/build-metrics-comparing-b442-b443.html</link>
		<comments>http://scitools.com/blog/2008/04/build-metrics-comparing-b442-b443.html#comments</comments>
		<pubDate>Tue, 29 Apr 2008 00:40:23 +0000</pubDate>
		<dc:creator>ken</dc:creator>
				<category><![CDATA[Build Metrics]]></category>
		<category><![CDATA[Build Notes]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/http:/scitools.com/blog/archives/2008/04/build-metrics-comparing-b442-b443.html</guid>
		<description><![CDATA[Welcome to my first post using our own toolset to publish build metrics about our&#160;most recent weekly build. 
&#160;I&#8217;d intended to use Measure, a tool we are about to release in alpha form, for this post&#8230;. but alas I hit a problem with it that that will have to be resolved tomorrow by the engineers [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to my first post using our own toolset to publish build metrics about our&nbsp;most recent weekly build. </p>
<p>&nbsp;I&rsquo;d intended to use <em>Measure,</em> a tool we are about to release in alpha form, for this post&hellip;. but alas I hit a problem with it that that will have to be resolved tomorrow by the engineers working on it.&nbsp; </p>
<p>So instead, this Build Metrics post will be done using the <em>Change</em> tool built in to <em>Understand 2.0.</em>&nbsp; Later, I hope tomorrow, when the issue with <em>Measure </em>has been resolved, I&rsquo;ll update this post with charts and reports made from it.</p>
<p>First some procedures&hellip;.. I have an Understand 2.0 project. It was synced to current source, but using fancy SVN magic I set it to April 20 for B442, then I reparsed, made a snapshot labeled B442. Then I restored the source to April 27 for B443, reparsed, and made a snapshot labeled B443.&nbsp;&nbsp; Then I asked <em>Change </em>to compare B443 versus B442:</p>
<p><strong><font size="4">All changes checked in to form B443:</font></strong></p>
<p><img alt="2008-04-28 20.28" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D04_2D28_2020.28.jpg" border="0" /></p>
<p><span id="more-317"></span></p>
<p><font size="4">Qt Enhancements:</font></p>
<p><img alt="2008-04-28 20.30" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D04_2D28_2020.30.jpg" border="0" /></p>
<p><font size="4">Core Infrastructure:</font></p>
<p><img alt="2008-04-28 20.31" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D04_2D28_2020.31.jpg" border="0" /></p>
<p><font size="4">Understand 2.0:</font></p>
<p><img alt="149 2008-04-28 20.31" src="http://scitools.com/blog/wp-content/uploads/mt-old/149_202008_2D04_2D28_2020.31.jpg" border="0" /></p>
<p><font size="4">Impact :</font></p>
<p><img alt="2008-04-28 20.32" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D04_2D28_2020.32.jpg" border="0" /></p>
<p><font size="4">Measure: No Changes checked in.</font></p>
<p><font size="4">TrackBack:</font> </p>
<p><img alt="153 2008-04-28 20.34" src="http://scitools.com/blog/wp-content/uploads/mt-old/153_202008_2D04_2D28_2020.34.jpg" border="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2008/04/build-metrics-comparing-b442-b443.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How much code do our people work on?</title>
		<link>http://scitools.com/blog/2008/04/how-much-code-do-our-people-work-on.html</link>
		<comments>http://scitools.com/blog/2008/04/how-much-code-do-our-people-work-on.html#comments</comments>
		<pubDate>Fri, 25 Apr 2008 19:11:24 +0000</pubDate>
		<dc:creator>ken</dc:creator>
				<category><![CDATA[Build Metrics]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Understand 2.0]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/http:/scitools.com/blog/archives/2008/04/how-much-code-do-our-people-work-on.html</guid>
		<description><![CDATA[Earlier, I showed you the Functional Decomposition architecture and used it and an about to be alpha tested tool called &#8220;Measure&#8221; to present measurements of the various parts of our source tree.&#160; This was as a pre-cursor to doing weekly build size, complexity and change metrics reporting.
Today, I&#8217;ll show you the other architecure I&#8217;ll be [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier, I showed you the Functional Decomposition architecture and used it and an about to be alpha tested tool called &ldquo;Measure&rdquo; to present measurements of the various parts of our source tree.&nbsp; This was as a pre-cursor to doing weekly build size, complexity and change metrics reporting.</p>
<p>Today, I&rsquo;ll show you the other architecure I&rsquo;ll be using &ndash; Staff.&nbsp;&nbsp;Using the Functional Decomposition architecture developed in about 45 minutes, I was able to create &ldquo;Staff&rdquo;, or who owns what, in about 15 minutes. This is what it looks like when seen in the Architect-&gt;Browse Architectures window:</p>
<p><img alt="2008-04-24 14.04" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D04_2D24_2014.04.jpg" border="0" /></p>
<p>&nbsp;</p>
<p><span id="more-316"></span></p>
<p>Or if you like big pictures, visit this one:</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/ArchitectureGraph_2DStaff.png"><img alt="ArchitectureGraph-Staff" src="http://scitools.com/blog/wp-content/uploads/mt-old/ArchitectureGraph_2DStaff_thumb.jpg" border="0" /></a></p>
<p>And here is how interdependent they all are (courtesy Understand 2.0&nbsp;Architect&rsquo;s Dependency Grapher). I expanded the graph one level and had it clutser nodes&nbsp;on the parent nodes (Utah and Tele-Commuters).</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/DependencyGraph_2DStaff.png"><img alt="DependencyGraph-Staff" src="http://scitools.com/blog/wp-content/uploads/mt-old/DependencyGraph_2DStaff_thumb.jpg" border="0" /></a></p>
<p>This roughly matches my expectations in that we all bounce around a lot and hence our ownerships interdepend frequently. But while we all depend on each other ultimately most roads lead to Doug P., who wrote most of the core database and other libraries all the tools utilize.&nbsp; In another post I&rsquo;ll show you how you can use Architect&rsquo;s Dependency Graph browser to see what the precise causes of any dependence relationship are.</p>
<p>Back to metrics&hellip;. So who is working hard and who is hardly working here at Scitools (-: Click the pic to see it bigger, by the way it was generated directly by <em>Measure</em> a new tool we are about to alpha test:</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/EngineerSLOCResponsibility.png"><img alt="EngineerSLOCResponsibility" src="http://scitools.com/blog/wp-content/uploads/mt-old/EngineerSLOCResponsibility_thumb.jpg" border="0" /></a></p>
<p>So as expected, Kevin G. has been slacking (-:&nbsp; And Helen M. is a machine!&nbsp; Actually, Kevin G. doesn&rsquo;t have coding responsibilities and Helen is a machine, but her count is added by automatically generated Lex/Yacc code in some of her parsers.</p>
<p><img src="http://scitools.com/blog/smile5.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2008/04/how-much-code-do-our-people-work-on.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How Big is Understand 2.0 B442?</title>
		<link>http://scitools.com/blog/2008/04/how-big-is-understand-20-b442.html</link>
		<comments>http://scitools.com/blog/2008/04/how-big-is-understand-20-b442.html#comments</comments>
		<pubDate>Tue, 22 Apr 2008 23:23:52 +0000</pubDate>
		<dc:creator>ken</dc:creator>
				<category><![CDATA[Build Metrics]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Understand 2.0]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/http:/scitools.com/blog/archives/2008/04/how-big-is-understand-20-b442.html</guid>
		<description><![CDATA[We believe that if we use our own tools they will be better. 
Hence, in the coming weeks, using just tools we sell or are about to introduce, I will be posting build metrics about each build we release. I will give static views of the size and scope of our various development efforts and [...]]]></description>
			<content:encoded><![CDATA[<p>We believe that if we use our own tools they will be better. </p>
<p>Hence, in the coming weeks, using just tools we sell or are about to introduce, I will be posting build metrics about each build we release. I will give static views of the size and scope of our various development efforts and on week two I&rsquo;ll start showing change metrics describing what is new, changed and removed. </p>
<p>Today, I&rsquo;ll start that off by&nbsp;showing you &ldquo;Functional Decomposition&rdquo;, &nbsp;the first Architecture I will be using to organize future reports. </p>
<p>First off, Understand provides automatically a Filesystem architecture that is automatically derived from the directory structure of the project. </p>
<p>Understand&rsquo;s Assistant, also suggests three that you can do by hand that will take you a long way.&nbsp; They are &ldquo;Functional Decomposition&rdquo;, &ldquo;Staff&rdquo;, and &ldquo;Requirements&rdquo;.&nbsp;&nbsp; Since we don&rsquo;t deal with formal requirements here at Scitools, I&rsquo;ll just be doing &ldquo;Functional Decomposition&rdquo; today and &ldquo;Staff&rdquo; tomorrow.</p>
<p>On the left is the&nbsp;basic Filesystem architecture I started with, and on the right one I whipped up in about 45 minutes:</p>
<p><img alt="2008-04-22 17.14" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D04_2D22_2017.14.jpg" border="0" />&nbsp;<img alt="2008-04-22 17.16" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D04_2D22_2017.16.jpg" border="0" /></p>
<p><span id="more-312"></span></p>
<p>From the left one (pure directory structure) I think you can sort of deduce what is going on generally in the structure.&nbsp; But, what is difflib, or how would you know that &ldquo;maintain&rdquo; is really the source tree for &ldquo;Understand 2.0&rdquo;. You wouldn&rsquo;t know.&nbsp; But a quick glance at the right one should show you the general structure.</p>
<p>Another way to view it is in this graph, in which I&rsquo;ve fully expanded all the way down to base components:</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/ArchitectureGraph_2DFunctionalDecomposition.png"><img alt="ArchitectureGraph-FunctionalDecomposition" src="http://scitools.com/blog/wp-content/uploads/mt-old/ArchitectureGraph_2DFunctionalDecomposition_thumb1.jpg" border="0" /></a><a href="http://scitools.com/blog/wp-content/uploads/mt-old/ArchitectureGraph_2DFunctionalDecomposition.png"></a></p>
<p>&nbsp;</p>
<p>So how big is Understand?&nbsp; Here is what the Metrics Browser reports for the top level of Functional Decomposition:</p>
<p><img alt="2008-04-22 17.25" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D04_2D22_2017.25.jpg" border="0" /></p>
<p>Cool &ndash; 1.24MSLOC. And this project doesn&rsquo;t contain &ldquo;ALL&rdquo; the source &#8211; just what I decided was going to be changing going forward.</p>
<p>Okay, so how big are the parts of Understand 2.0.&nbsp; For that I&rsquo;ll turn to Measure, a tool we are about to put out for Alpha Testing &ndash; email <a href="mailto:support@scitools.com">support@scitools.com</a> if you want to get on the &ldquo;try it early&rdquo; list. </p>
<p>Here is Measure comparing the volume (in LOC) of the source for the major components of our source tree:</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/MajorComponents_2DVolume.png"><img alt="MajorComponents-Volume" src="http://scitools.com/blog/wp-content/uploads/mt-old/MajorComponents_2DVolume_thumb.jpg" border="0" /></a></p>
<p>And here is the same data shown in tabular form:</p>
<p><img alt="2008-04-22 19.11" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D04_2D22_2019.11.jpg" border="0" /></p>
<p>A one click switch of x-axis on the top chart now shows each component in terms of blank lines, executable lines, declarative lines, and comment lines:</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/MajorComponents_2DVolume2.png"><img alt="MajorComponents-Volume2" src="http://scitools.com/blog/wp-content/uploads/mt-old/MajorComponents_2DVolume2_thumb.jpg" border="0" /></a></p>
<p>And finally, here is each components complexity graphed comparitively:</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/MajorComponent_2DComplexity.png"><img alt="MajorComponent-Complexity" src="http://scitools.com/blog/wp-content/uploads/mt-old/MajorComponent_2DComplexity_thumb.jpg" border="0" /></a></p>
<p>So there is an overview of the major parts of Understand&rsquo;s source tree, their relative sizes and complexity.<br />Tomorrow&hellip;. I&rsquo;ll add the &ldquo;Staff&rdquo; architecture and do similar metrics to answer the burning question&hellip;. &ldquo;Who has been busy here at Scitools??&rdquo;</p>
<p><img src="http://scitools.com/blog/smile5.gif" /></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2008/04/how-big-is-understand-20-b442.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

