<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Bhupinder Singh</title>
	<atom:link href="http://bhupindersingh.ca/feed/" rel="self" type="application/rss+xml" />
	<link>http://bhupindersingh.ca</link>
	<description>IT Program and Project Management Consultant,  Greater Toronto Area</description>
	<lastBuildDate>Mon, 19 Mar 2012 15:04:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='bhupindersingh.ca' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Bhupinder Singh</title>
		<link>http://bhupindersingh.ca</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://bhupindersingh.ca/osd.xml" title="Bhupinder Singh" />
	<atom:link rel='hub' href='http://bhupindersingh.ca/?pushpress=hub'/>
		<item>
		<title>Estimating Test Effort</title>
		<link>http://bhupindersingh.ca/2010/07/13/estimating-test-effort/</link>
		<comments>http://bhupindersingh.ca/2010/07/13/estimating-test-effort/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 20:20:55 +0000</pubDate>
		<dc:creator>bhupinder</dc:creator>
				<category><![CDATA[Planning]]></category>
		<category><![CDATA[Software Metrics]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://pmnotes.wordpress.com/2010/07/13/estimating-test-effort/</guid>
		<description><![CDATA[The best way for a ball park estimate for the testing effort is relatively simple- just take one third of the effort required for the complete development of an application. However, sometimes this total effort may not be available, for example, if the development and test vendors are different or the development and testing practices [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=261&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div align="justify">The best way for a ball park estimate for the testing effort is relatively simple- just take one third of the effort required for the complete development of an application. However, sometimes this total effort may not be available, for example, if the development and test vendors are different or the development and testing practices are not integrated. In that situation, the testing team needs do an independent sizing of the application, using a technique like Function Points and then computing the number of test cases.</p>
<p>One of the best known techniques are the ones provided by Caper Jones and David Longstreet. According to Caper Jones, <br />
<blockquote><b>Total </b>number of test cases =&nbsp; (Count of Function Points) raised to the power of 1.2. </p></blockquote>
<p>David Longstreet provides a similar formula for computing the number of UAT test cases:<br />
<blockquote>Total number of <b>UAT </b>test cases, which is = 1.2 x (Count of Function Points).</p></blockquote>
<p>As with every such empirical model, one has to use them as a guide and evaluate them with real data. In my own experiences with web based (Microsoft dot net platform), the numbers are slightly different, and approximate better as follows:<br />
<blockquote>Total Number of test cases = (Function Point Count) raised to the power 1.05<br />Total number of UAT test cases = 1.35 x (Function Point Count)</p></blockquote>
<p>Once the count of the test cases has been found, apply the productivity factors for test case authoring and test case execution to arrive at the total testing effort.</p>
<p>The following is the data for a 3000 function point project on which the above formula have been tweaked.</p>
<p>Unit Test Cases&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 13,000<br />Integration Test Cases&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 5,000<br />System Test Cases&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 13,000<br />UAT:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 4,100<br />Total&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 35,100</p>
<p>References: <a href="http://www.softwaremetrics.com/Articles/defects.htm">Estimating Test Cases and Defects</a> by David Longstreet<br /><a href="http://www.compaid.com/caiinternet/ezine/capers-rules.pdf">Software Estimation Rules of Thumb</a> by Caper Jones (pdf)</p>
</div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=b7def81e-5284-8dc8-a746-ed8273fe3e2c" /></div>
<br />Filed under: <a href='http://bhupindersingh.ca/category/planning/'>Planning</a>, <a href='http://bhupindersingh.ca/category/software-metrics/'>Software Metrics</a>, <a href='http://bhupindersingh.ca/category/tips-and-tricks/'>Tips and Tricks</a> Tagged: <a href='http://bhupindersingh.ca/tag/testing/'>Testing</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pmnotes.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pmnotes.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pmnotes.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pmnotes.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pmnotes.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pmnotes.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pmnotes.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pmnotes.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pmnotes.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pmnotes.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pmnotes.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pmnotes.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pmnotes.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pmnotes.wordpress.com/261/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=261&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bhupindersingh.ca/2010/07/13/estimating-test-effort/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ce8046da97e9274e7ead3890056065?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">pmnotes</media:title>
		</media:content>

		<media:content url="http://img.zemanta.com/pixy.gif?x-id=b7def81e-5284-8dc8-a746-ed8273fe3e2c" medium="image" />
	</item>
		<item>
		<title>Managing by Exception</title>
		<link>http://bhupindersingh.ca/2010/07/08/managing-by-exception/</link>
		<comments>http://bhupindersingh.ca/2010/07/08/managing-by-exception/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 22:06:53 +0000</pubDate>
		<dc:creator>bhupinder</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://pmnotes.wordpress.com/2010/07/08/managing-by-exception/</guid>
		<description><![CDATA[As a techie who grew through the ranks, starting as a programmer to project lead to project manager and then a program manager, I have had no management training as such. It came naturally, the learning happened either by burning one&#8217;s own hands or by the guidance of a knowledgeable manager. Moving from project lead [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=249&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div align="justify">As a techie who grew through the ranks, starting as a programmer to project lead to project manager and then a program manager, I have had no management training as such. It came naturally, the learning happened either by burning one&#8217;s own hands or by the guidance of a knowledgeable manager. </p>
<div align="left"><a href="http://www.cartoonstock.com/lowres/lba0044l.jpg"><img style="max-width:800px;float:left;margin-top:10px;margin-bottom:10px;margin-right:10px;" src="http://www.cartoonstock.com/lowres/lba0044l.jpg" height="321" width="257" /></a>
</div>
<p>Moving from project lead to project manager was relatively seamless. There were a few changes though. The most significant was the focus I had to bring in laying down project specific processes and ensuring compliance. I also became less hands on as far as programming and architecting was concerned. My reliance on metrics increased. Unknowingly, I also carried forward the habit of micro managing the project, keeping an eye on each and every team member and their activities. This included spending time with individual team members at their desks while they worked, sometimes helping them with debugging their programs. An interesting aside was that I realized while one may grow out of the habit of programming, one almost never loses the ability to debug programs.&nbsp;<br />
<span id="more-249"></span></p>
<p>This observation came to my help much later. In my role as a program  manager, I had to manage multiple projects- often in multiple  technologies and across different types of projects.</p>
<p>In one such role I was managing support for about 100 business applications, an identity management application, SAP implementations in ABAP and BW as well as smaller independent projects in JDE Edwards, C++ and so on. It became almost impossible for me to micro manage all these projects. Intuitively, I started devoting more time to project start up, ensuring that the fundamental processes were laid out and the team was committed to follow those, and then getting into project details only when something did not go right. </p>
<p>This was akin to debugging- that is it is sometimes easier to manage what is going wrong rather than keeping a tab on each and every a line of code. In more sophisticanted parlance, it is known as <a href="http://en.wikipedia.org/wiki/Management_by_exception">management by exception</a>. Wikipedia defines this as:</p>
<blockquote><p>a &#8220;policy by which management devotes its time to investigating only those situations in which actual results differ significantly from planned results. The idea is that management should spend its valuable time concentrating on the more important items (such as shaping the company&#8217;s future strategic course). Attention is given only to material deviations requiring investigation.&#8221;
</p></blockquote>
<p>Like any other concept, an over reliance on management by exception can be risky. Handling too many exceptions is not a good sign of the health of the projects either. By concentrating only on exception management, the manager may not be able to invest much time and attention to building processes and grooming talent. The trick is to kill two birds with one stone- that is, while attending to exceptions, the manager has to ensure that he or she identifies the root cause and then endeavors to put checks and balances in the processes to avoid future recurrences. </p>
</div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=874c7519-e0b4-8bef-acc5-6d0fa88cf7cd" /></div>
<br />Filed under: <a href='http://bhupindersingh.ca/category/project-management/'>Project Management</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pmnotes.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pmnotes.wordpress.com/249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pmnotes.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pmnotes.wordpress.com/249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pmnotes.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pmnotes.wordpress.com/249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pmnotes.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pmnotes.wordpress.com/249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pmnotes.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pmnotes.wordpress.com/249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pmnotes.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pmnotes.wordpress.com/249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pmnotes.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pmnotes.wordpress.com/249/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=249&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bhupindersingh.ca/2010/07/08/managing-by-exception/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ce8046da97e9274e7ead3890056065?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">pmnotes</media:title>
		</media:content>

		<media:content url="http://www.cartoonstock.com/lowres/lba0044l.jpg" medium="image" />

		<media:content url="http://img.zemanta.com/pixy.gif?x-id=874c7519-e0b4-8bef-acc5-6d0fa88cf7cd" medium="image" />
	</item>
		<item>
		<title>Software Development is&#8230;</title>
		<link>http://bhupindersingh.ca/2010/07/08/software-development-is/</link>
		<comments>http://bhupindersingh.ca/2010/07/08/software-development-is/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 17:30:21 +0000</pubDate>
		<dc:creator>bhupinder</dc:creator>
				<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://pmnotes.wordpress.com/2010/07/08/software-development-is/</guid>
		<description><![CDATA[Results of a fun poll that I conducted over at Linkedin. Filed under: Software Engineering<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=241&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div align="justify">Results of a fun poll that I conducted over <a href="http://polls.linkedin.com/p/92688/qdlzx">at Linkedin</a>.</p>
<div align="center"><a href="http://polls.linkedin.com/p/92688/qdlzx"><img style="max-width:800px;" src="http://pmnotes.files.wordpress.com/2010/07/swdev.jpg?w=590" /></a></div>
</div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=111cd7e9-8e2b-86be-b3b8-430573f29c11" /></div>
<br />Filed under: <a href='http://bhupindersingh.ca/category/software-engineering/'>Software Engineering</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pmnotes.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pmnotes.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pmnotes.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pmnotes.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pmnotes.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pmnotes.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pmnotes.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pmnotes.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pmnotes.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pmnotes.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pmnotes.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pmnotes.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pmnotes.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pmnotes.wordpress.com/241/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=241&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bhupindersingh.ca/2010/07/08/software-development-is/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ce8046da97e9274e7ead3890056065?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">pmnotes</media:title>
		</media:content>

		<media:content url="http://pmnotes.files.wordpress.com/2010/07/swdev.jpg" medium="image" />

		<media:content url="http://img.zemanta.com/pixy.gif?x-id=111cd7e9-8e2b-86be-b3b8-430573f29c11" medium="image" />
	</item>
		<item>
		<title>Reverse Engineering for Software Systems</title>
		<link>http://bhupindersingh.ca/2010/06/30/reverse-engineering-for-software-systems/</link>
		<comments>http://bhupindersingh.ca/2010/06/30/reverse-engineering-for-software-systems/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 19:54:44 +0000</pubDate>
		<dc:creator>bhupinder</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Reverse Engineering]]></category>

		<guid isPermaLink="false">http://pmnotes.wordpress.com/2010/06/30/reverse-engineering-for-software-systems/</guid>
		<description><![CDATA[In its most rudimentary form, reverse engineering can be defined as &#8220;going backwards through the development cycle&#8221;. It has&#160; its origins in espionage when rival countries would break apart a product from the opposite country and figure out its mechanism in order to build a similar product. Wikipedia defines reverse engineering as: Reverse engineering (RE) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=221&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div align="justify">In its most rudimentary form, reverse engineering can be defined as &#8220;going backwards through the development cycle&#8221;. It has&nbsp; its origins in espionage when rival countries would break apart a product from the opposite country and figure out its mechanism in order to build a similar product. Wikipedia defines <a href="http://en.wikipedia.org/wiki/Reverse_engineering">reverse engineering</a> as:</p>
<blockquote><p>Reverse engineering (RE) is the process of discovering the technological principles of a device, object or system through analysis of its structure, function and operation. It often involves taking something (e.g., a mechanical device, electronic component, or software program) apart and analyzing its workings in detail to be used in maintenance, or to try to make a new device or program that does the same thing without utilizing any physical part of the original.
</p></blockquote>
<p>When I started my career at an Indian public sector telecommunication company, one of the projects that I worked on was a <a href="http://www.pickeringtest.com/products/3379.html">versatile multiplexer</a>. At that time the Indian market was still closed and technological know how from the more developed countries was limited. We did not even have a sample of the multiplexer, just a technical brochure with a feature list of the product. I am not sure if that can be called reverse engineering, but our team did manage to build a working product. By the time it hit the market, I had left the company so I do not know how well it fared. However, I had other brushes with reverse engineering, both successful and not-so-successful.
</div>
<p><span id="more-221"></span></p>
<div align="justify">
One of them was when I was writing the software for a PC card based POS system. The challenge was that the system had to display a certain message when the system was booting up. Since the PC display had been replaced by a custom hardware display, there was an inordinately long time before the user would see a message. The POS software was written in C on top of MS- DOS. Since I was familiar with assembly code for the Intel 8086, I retrieved the BIOS that came with the PC motherboard and inserted hexadecimal code to initialize and display a message up- front after the BIOS had completed the initializations. This was the easy part. The challenge was that the code worked when I burnt it on a blank ROM, but refused to work when the exact code was added&nbsp; into the BIOS. I had to tear apart the entire assembly code using a dis- assembler and reference many a book on BIOS and DOS internals before hitting upon the source of the problem. The IBM reference manual for the PC XT provided the mnemonics, and I chanced upon the chunk of code that did a sum- check to ensure that the BIOS was correct. Re- computing the sum- check number and replacing it in the right place did the job.</p>
<p>This was an example of a relatively successful tweaking using reverse engineering. My other endeavors have been less successful. A few years later when I was working to re- engineering a software used for manufacture of sophisticated X- Ray rooms, I was impeded not only by my lack of knowledge of COBOL and the network databases used by the legacy system, but also by the complete lack of documentation by the programmers. After a month of unsuccessful attempts at understanding the source code, I and my lead had to switch over to start top down and understand the business scenarios.</p>
<p>Even on a more recent project when re- engineering an enterprise system for a medical chain, I and my team figured that doing a top down analysis was much more useful to build the new application. Later we were informed by the customer that a number of unsuccessful attempts had been made earlier to re- engineer the system, all of them had started by trying reverse engineer the legacy application.</p>
<p>The major challenges I see with reverse engineering are:</p>
<ul>
<li>The source code, where it is available, is often &#8216;spaghetti&#8217;- and very difficult to decrypt
</li>
<li>The cost of reverse engineering is extremely high,and its returns vary from being at best, low to, at worst, unpredictable
</li>
<li>Often because of obsolete technology, the technical skills are hard to find</li>
<li>Even if the source code is readable, it may be dependent on hard coded data or implicit assumptions that may not be visible to the person trying to reverse engineer the code</li>
<li>In case of applications, business requirements change so much over a period of time that a lot of the functionality in the code may not even be relevant any longer</li>
</ul>
<p>A slightly more useful artifact to start the reverse engineering process is the database structure or the ER diagram where it is available. Even there, my experience has been that beyond the list of entities that may help us to understand the system, the details are misleading. The reasons are similar to those listed above- archaic and anachronistic remnants from the past. </p>
<p>To conclude, while reverse engineering  sounds very good, and can be successfully used, it is always a procedure of last resort.</p></div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=79f1fc82-484c-802d-87e0-ec04216c909d" /></div>
<br />Filed under: <a href='http://bhupindersingh.ca/category/software-engineering/'>Software Engineering</a>, <a href='http://bhupindersingh.ca/category/tips-and-tricks/'>Tips and Tricks</a> Tagged: <a href='http://bhupindersingh.ca/tag/reverse-engineering/'>Reverse Engineering</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pmnotes.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pmnotes.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pmnotes.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pmnotes.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pmnotes.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pmnotes.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pmnotes.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pmnotes.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pmnotes.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pmnotes.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pmnotes.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pmnotes.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pmnotes.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pmnotes.wordpress.com/221/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=221&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bhupindersingh.ca/2010/06/30/reverse-engineering-for-software-systems/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ce8046da97e9274e7ead3890056065?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">pmnotes</media:title>
		</media:content>

		<media:content url="http://img.zemanta.com/pixy.gif?x-id=79f1fc82-484c-802d-87e0-ec04216c909d" medium="image" />
	</item>
		<item>
		<title>Software Metrics- IV</title>
		<link>http://bhupindersingh.ca/2010/06/22/software-metrics-iv/</link>
		<comments>http://bhupindersingh.ca/2010/06/22/software-metrics-iv/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 20:31:20 +0000</pubDate>
		<dc:creator>bhupinder</dc:creator>
				<category><![CDATA[Software Metrics]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Project Turnaround]]></category>

		<guid isPermaLink="false">http://pmnotes.wordpress.com/2010/06/22/software-merics-iv/</guid>
		<description><![CDATA[I have often been asked to take charge of projects that are in deep trouble. I am no longer surprised that almost universally, the stage when a project is generally acknowledged to be in trouble is during the late stages of testing and rolling out the first release. Never does it happen during the requirements [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=173&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>
<div>
<div align="justify">I have often been asked to take charge of projects that are in deep trouble. I am no longer surprised that almost universally, the stage when a project is generally acknowledged to be in trouble is during the late stages of testing and rolling out the first release. Never does it happen during the requirements and design stages at all- for reasons that are obvious- there is nothing tangible that the end users actually see during&nbsp; these phases except perhaps a stream of documents.</p>
<p>While I will write a set of posts on my experience in turning around projects, I would like to illustrate here how metrics can be used to analyze the depth of the problem and also provide a very quick plan for stabilizing the project very quickly.</p>
<p>A simple defect analysis based on the cause of the defects can shed light on what are the key areas that need to be addressed.</p>
<p>In the following diagram from an actual web- based application development project, for example, it is very clear that the process for regression testing needs to be improved as defects because of its inefficiency are 22%. It is also clear that the substantial numbers of defects (23%) are on account of requirements (missed + ambiguous) and another 17% of the defects pertain to insufficient test cases. Addressing these three areas would have an immediate impact on the quality of testing. Given cost and schedule constraints, it may not be required to address all the causes and instead concentrate only on these three factors that address 72% of the defects.</div>
</div>
</div>
<p>
<div align="center"><img style="max-width:800px;" src="http://pmnotes.files.wordpress.com/2010/06/picture1.png?w=485&#038;h=401" alt="" height="401" width="485" /></div>
<p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=51fee3bd-b482-8ac3-92f8-838924e06d15" /></div>
<br />Filed under: <a href='http://bhupindersingh.ca/category/software-metrics/'>Software Metrics</a>, <a href='http://bhupindersingh.ca/category/uncategorized/'>Uncategorized</a> Tagged: <a href='http://bhupindersingh.ca/tag/project-turnaround/'>Project Turnaround</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pmnotes.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pmnotes.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pmnotes.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pmnotes.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pmnotes.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pmnotes.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pmnotes.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pmnotes.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pmnotes.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pmnotes.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pmnotes.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pmnotes.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pmnotes.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pmnotes.wordpress.com/173/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=173&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bhupindersingh.ca/2010/06/22/software-metrics-iv/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ce8046da97e9274e7ead3890056065?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">pmnotes</media:title>
		</media:content>

		<media:content url="http://pmnotes.files.wordpress.com/2010/06/picture1.png" medium="image" />

		<media:content url="http://img.zemanta.com/pixy.gif?x-id=51fee3bd-b482-8ac3-92f8-838924e06d15" medium="image" />
	</item>
		<item>
		<title>IT- The Future is Here</title>
		<link>http://bhupindersingh.ca/2010/06/15/it-the-future-is-here/</link>
		<comments>http://bhupindersingh.ca/2010/06/15/it-the-future-is-here/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 19:26:23 +0000</pubDate>
		<dc:creator>bhupinder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pmnotes.wordpress.com/?p=164</guid>
		<description><![CDATA[This article was written 15 years ago when internet services officially started in India. I had expressed a number of fears in this some of which have been happily proved incorrect. However, I find it interesting that there are almost no fundamentally new technological breakthroughs that have come around since the article was written. Some [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=164&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This article was written 15 years ago when internet services officially started in India. I had expressed a number of fears in this some of which have been happily proved incorrect. However, I find it interesting that there are almost no fundamentally new technological breakthroughs that have come around since the article was written. Some of the concerns raised in the article still hold, particularly its conclusion.</p>
<p>Trivia: The original article was typed on a PC- XT machine using Word Star 7.</p>
<p>I had used email for just over a month then using a corporate account and the browser I was then using were Mosaic and Gopher !</p>
<p>Anyone remember using these?</p>
<p>Read the full article <a href="http://readerswords.wordpress.com/2009/09/10/it-the-future-is-here-almost/">here</a>.</p>
<br />Filed under: <a href='http://bhupindersingh.ca/category/uncategorized/'>Uncategorized</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pmnotes.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pmnotes.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pmnotes.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pmnotes.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pmnotes.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pmnotes.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pmnotes.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pmnotes.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pmnotes.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pmnotes.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pmnotes.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pmnotes.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pmnotes.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pmnotes.wordpress.com/164/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=164&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bhupindersingh.ca/2010/06/15/it-the-future-is-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ce8046da97e9274e7ead3890056065?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">pmnotes</media:title>
		</media:content>
	</item>
		<item>
		<title>How Unique is Software Development?</title>
		<link>http://bhupindersingh.ca/2010/06/10/how-unique-is-software-development/</link>
		<comments>http://bhupindersingh.ca/2010/06/10/how-unique-is-software-development/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 18:06:56 +0000</pubDate>
		<dc:creator>bhupinder</dc:creator>
				<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://pmnotes.wordpress.com/2010/06/10/how-unique-is-software-development/</guid>
		<description><![CDATA[In a recent short discussion on &#8220;3 common mistakes a project manager makes&#8217; over at Linkedin, I mentioned that the three most common mistakes a manager makes are: 1. Rely on his or her instinct and not measurable parameters 2. Manage people and not activities/ deliverables 3. Not set expectations with all stakeholders The set [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=140&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>In a recent short discussion on &#8220;3 common mistakes a project manager makes&#8217; over at Linkedin, I mentioned that the three most common mistakes a manager makes are:</p>
<p>1. Rely on his or her instinct and not measurable parameters<br />
2. Manage people and not activities/ deliverables<br />
3. Not set expectations with all stakeholders</p>
<p>The set of what one perceives to be the most common mistakes is likely to vary from person to person. Nevertheless, the second point came in for a sharp response at the forum:</p>
<blockquote><p>I have a contention on point # 2 in your response. In any people centric organization, managing people is an integral part of Project Management. I am not sure why you consider it as a mistake. Can you explain?</p></blockquote>
<p>This is not the first time that I have encountered this criticism- that software is &#8220;people centric&#8221; and hence the focus should be on managing people and not the deliverable. The root cause of this observation goes much deeper- that somehow, software development is something very unique, that it is not similar to other engineering disciplines, that it <a href="http://setandbma.wordpress.com/2010/05/20/what-software-development-should-not-learn-from-manufacturing/">should not emulate manufacturing</a>.</p>
<p><a href="http://pmnotes.wordpress.com/2009/05/06/why-software-is-not-an-art/">I aver</a> that while, like any other discipline, software has its unique aspects, it is still part of the long tradition in engineering. Indeed, over the years, consistent attempts have been made to align it with engineering- establishment of standards, the ISO and CMM models all intend to achieve the same objective.</p>
<p>By stating that software is somehow &#8220;people centric&#8221;, the real point is lost- where software differs fundamentally from manufacturing is that its work products are intangible- they do not have a tangible physical inventory of items that can be measured discreetly, in that software is closer to process engineering where the basic ingredient undergoes a number of changes throughout its lifecycle. In the absence of such tangible artifacts, it seems that somehow it is people centric because that is the nearest tangible association one can make.</p>
<p>Over the years, there has been an increasing recognition of the engineering or manufacturing aspect within  the software industry- where there is the increasing preponderance of &#8220;components&#8221; (like from Microsoft), frameworks, standards, metrics and processes.</p>
<p>I am sure the the debate will, nevertheless continue, and provide better insights into this still- young discipline.</p>
</div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=07ffd1d3-a7d8-89bc-8883-1414c07d794d" alt="" /></div>
<br />Filed under: <a href='http://bhupindersingh.ca/category/software-engineering/'>Software Engineering</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pmnotes.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pmnotes.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pmnotes.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pmnotes.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pmnotes.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pmnotes.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pmnotes.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pmnotes.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pmnotes.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pmnotes.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pmnotes.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pmnotes.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pmnotes.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pmnotes.wordpress.com/140/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=140&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bhupindersingh.ca/2010/06/10/how-unique-is-software-development/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ce8046da97e9274e7ead3890056065?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">pmnotes</media:title>
		</media:content>

		<media:content url="http://img.zemanta.com/pixy.gif?x-id=07ffd1d3-a7d8-89bc-8883-1414c07d794d" medium="image" />
	</item>
		<item>
		<title>Software Metrics-III: An unorthodox metric</title>
		<link>http://bhupindersingh.ca/2010/06/09/software-metris-iii-an-unorthodox-metric/</link>
		<comments>http://bhupindersingh.ca/2010/06/09/software-metris-iii-an-unorthodox-metric/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 21:56:58 +0000</pubDate>
		<dc:creator>bhupinder</dc:creator>
				<category><![CDATA[Software Metrics]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Waterfall]]></category>

		<guid isPermaLink="false">http://pmnotes.wordpress.com/2010/06/09/iii-software-metrcis-an-unorthodox-metric/</guid>
		<description><![CDATA[Here is an example of a non- orthodox metric that I happened to use for a large project. The feedback received on the project&#8217;s artifacts was related not only to the defects in the work products but a major part was non-defect comments (see diagram below). We were able to demonstrate to the customer through [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=131&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>Here is an example of a non- orthodox metric that I happened to use for a large project.</p>
<p>The feedback received on the project&#8217;s artifacts was related not only to the defects in the work products but a major part was non-defect comments (see diagram below). We were able to demonstrate to the customer through an analysis that all review comments were not defects. A detailed classification was also provided to substantiate the data. This enabled the customer&#8217;s project manager to go back to his team and guide them in controlling the non-defect review comments. This resulted in reduction of re-work by the team and enhanced the customer&#8217;s perception about the quality of the deliverables.
<div align="center"><img src="http://pmnotes.files.wordpress.com/2010/06/custfeedback.jpg?w=501&#038;h=313" alt="" height="313" width="501" /></div>
<p>Key Steps:
<ul>
<li>Consolidate all review comments in a single document (a tool like MS Excel can also be used).</li>
<li>Categorize each review comment by the phase, artifact and type.</li>
<li>Prepare a visual representation (example pie chart) of review comments and include as part of the weekly status</li>
</ul>
<p><b>Outcome</b>: Help the customer analyze the project feedback by categorizing and visually representing the review comments for a better perspective. This will help both the team and the customer by reducing re-work and enhancing perceptions about deliverables.</div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=3be61b98-7f34-8e2c-8cda-87e3f5c0942a" /></div>
<br />Filed under: <a href='http://bhupindersingh.ca/category/software-metrics/'>Software Metrics</a> Tagged: <a href='http://bhupindersingh.ca/tag/agile/'>Agile</a>, <a href='http://bhupindersingh.ca/tag/methodology/'>Methodology</a>, <a href='http://bhupindersingh.ca/tag/software/'>Software</a>, <a href='http://bhupindersingh.ca/tag/waterfall/'>Waterfall</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pmnotes.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pmnotes.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pmnotes.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pmnotes.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pmnotes.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pmnotes.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pmnotes.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pmnotes.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pmnotes.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pmnotes.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pmnotes.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pmnotes.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pmnotes.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pmnotes.wordpress.com/131/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=131&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bhupindersingh.ca/2010/06/09/software-metris-iii-an-unorthodox-metric/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ce8046da97e9274e7ead3890056065?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">pmnotes</media:title>
		</media:content>

		<media:content url="http://pmnotes.files.wordpress.com/2010/06/custfeedback.jpg" medium="image" />

		<media:content url="http://img.zemanta.com/pixy.gif?x-id=3be61b98-7f34-8e2c-8cda-87e3f5c0942a" medium="image" />
	</item>
		<item>
		<title>Software Metrics-II</title>
		<link>http://bhupindersingh.ca/2010/06/04/software-metrcis-ii/</link>
		<comments>http://bhupindersingh.ca/2010/06/04/software-metrcis-ii/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 20:27:04 +0000</pubDate>
		<dc:creator>bhupinder</dc:creator>
				<category><![CDATA[Software Metrics]]></category>

		<guid isPermaLink="false">http://pmnotes.wordpress.com/?p=117</guid>
		<description><![CDATA[The figure below offers a good starting point to determine what the most important metrics from a testing standpoint could be. The cost of detecting and fixing a defect escalates as the defect is detected later in the project. The obvious implication is that testing should aim to find defects earlier in the lifecycle. Another [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=117&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">The figure below offers a good starting point to determine what the most important metrics from a testing standpoint could be. The cost of detecting and fixing a defect escalates as the defect is detected later in the project. The obvious implication is that testing should aim to find defects earlier in the lifecycle. Another is that defects should be predictable- this can often be achieved based on historical data and a few heuristics.</p>
<p style="text-align:justify;">The x axis in the graph below shows the phase of the project, and the y axis shows the relative cost of finding a defect in the software.</p>
<p style="text-align:center;"><a href="http://pmnotes.files.wordpress.com/2010/06/clip_image0021.jpg"><img class="size-medium wp-image-118 aligncenter" title="clip_image002" src="http://pmnotes.files.wordpress.com/2010/06/clip_image0021.jpg?w=474&#038;h=318" alt="" width="474" height="318" /></a>Source: Roger Pressman, Software Engineering, ed 5</p>
<p style="text-align:left;">The next post will identify some of the metrics that can be derived from the above diagram. Meanwhile, can you take a shot at identifying what kind of testing metrics can be useful in reducing the cost of defects?</p>
<br />Filed under: <a href='http://bhupindersingh.ca/category/software-metrics/'>Software Metrics</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pmnotes.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pmnotes.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pmnotes.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pmnotes.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pmnotes.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pmnotes.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pmnotes.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pmnotes.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pmnotes.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pmnotes.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pmnotes.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pmnotes.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pmnotes.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pmnotes.wordpress.com/117/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=117&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bhupindersingh.ca/2010/06/04/software-metrcis-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5a33b60b0abc6d8b3c0d6d6965eec2b6?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">readerswords</media:title>
		</media:content>

		<media:content url="http://pmnotes.files.wordpress.com/2010/06/clip_image0021.jpg?w=300" medium="image">
			<media:title type="html">clip_image002</media:title>
		</media:content>
	</item>
		<item>
		<title>Software Metrics- I</title>
		<link>http://bhupindersingh.ca/2010/06/02/software-metrics-i/</link>
		<comments>http://bhupindersingh.ca/2010/06/02/software-metrics-i/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 01:55:38 +0000</pubDate>
		<dc:creator>bhupinder</dc:creator>
				<category><![CDATA[Software Metrics]]></category>

		<guid isPermaLink="false">http://pmnotes.wordpress.com/2010/06/02/software-metrics-i/</guid>
		<description><![CDATA[When you can measure what you are speaking about, and can express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind: It may be the beginning of knowledge, but you have scarcely in your [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=108&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>When you can measure what you are speaking about, and can express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind: It may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the stage of science. -Lord Kelvin</p></blockquote>
<p>Software metrics used to measure attributes associated with a software application or a project. The purpose of measuring is self evident- one measures to improve. In a software development project, one measures attributes that help to improve quality, speed up execution and reduce costs, in other words, they should be useful to make software development faster, better and cheaper. This series of posts discusses some of the software metrics that are particularly important from a testing perspective and the benefits and challenges associated with gathering, analyzing and using these metrics.</p>
<p>What is to be measured?</p>
<blockquote><p>&#8220;The risk with any metric is that people will come to see it as a description of reality, rather than a tool for a conversation about reality&#8230; one metric or another can function well only when managers know why they are measuring and for whom&#8230; In the world of social value-creation, context is king.&#8221; (The Economist survey of wealth and philanthropy from the February 25th, 2006 issue). Source</p></blockquote>
<p>While the talk of software metrics abounds- indeed a number of companies do have a metrics plan- few implement it, or implement it in a systematic form. One reason could be that significant costs are associated with such measurements, one estimates puts the cost as 4-8% of the total development budget<sup>1</sup>. Another is that while metrics are useful primarily from a management perspective, the source of the data are the technical people on the project. More often than not, the latter are so much in the thick of meeting deadlines that data is either not collected sufficiently or not on time, when it is too late to collect it. Metrics, particularly related to defects, are certainly collected when the applications or product does not exhibit stability or cause too many issues for the end user. However, more often than not this is as part of a damage control action, rather than as part of a systematic practice of gathering data. On the other end of the spectrum, data that might be gathered as part of practice may not relate or even obfuscate the intended objective. It is, therefore, important that while data gathering and metrics analysis is done as part of the routine, care is taken to gather only a few but key metrics.</p>
<p>1.	NE Fenton and SL Pfleeger, Software Metrics: A Rigorous and Practical Approach, 2ndedition, Boston: PWS Publishing, page 28</p>
<br />Filed under: <a href='http://bhupindersingh.ca/category/software-metrics/'>Software Metrics</a> Tagged: <a href='http://bhupindersingh.ca/tag/software-metrics/'>Software Metrics</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pmnotes.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pmnotes.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pmnotes.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pmnotes.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pmnotes.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pmnotes.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pmnotes.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pmnotes.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pmnotes.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pmnotes.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pmnotes.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pmnotes.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pmnotes.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pmnotes.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bhupindersingh.ca&amp;blog=7566219&amp;post=108&amp;subd=pmnotes&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bhupindersingh.ca/2010/06/02/software-metrics-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ce8046da97e9274e7ead3890056065?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">pmnotes</media:title>
		</media:content>
	</item>
	</channel>
</rss>
