<?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>Successful Endeavours - We Make Electronics Stuff Work! &#187; product development</title>
	<atom:link href="http://www.successful.com.au/blog/category/product-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.successful.com.au/blog</link>
	<description></description>
	<lastBuildDate>Wed, 08 Sep 2010 03:09:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Casey Business of the Year 2010</title>
		<link>http://www.successful.com.au/blog/2010/08/28/casey-business-of-the-year-2010/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.successful.com.au/blog/2010/08/28/casey-business-of-the-year-2010/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 00:34:47 +0000</pubDate>
		<dc:creator>Ray Keefe</dc:creator>
				<category><![CDATA[Electronics Awards]]></category>
		<category><![CDATA[Electronics Manufacture]]></category>
		<category><![CDATA[Embedded Software]]></category>
		<category><![CDATA[electronics design]]></category>
		<category><![CDATA[made in Australia]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[Australian Solar Manufacturing]]></category>
		<category><![CDATA[Better Dental Care]]></category>
		<category><![CDATA[Business and Professional Services]]></category>
		<category><![CDATA[Casey Business Awards]]></category>
		<category><![CDATA[Casey Business of the Year]]></category>
		<category><![CDATA[Junette Keefe]]></category>
		<category><![CDATA[Lorraine Wreford]]></category>
		<category><![CDATA[Manufacturer Of The Year]]></category>
		<category><![CDATA[Ray Keefe]]></category>

		<guid isPermaLink="false">http://www.successful.com.au/blog/?p=876</guid>
		<description><![CDATA[Last night was the Casey Business Awards gala dinner where the Casey Business Awards were given out for 2010.  We are very pleased to have been awarded the Casey Business of the Year for 2010.  It was a great night and Casey Mayor, Cr Lorraine Wreford presented the award to Ray and Junette Keefe of [...]]]></description>
			<content:encoded><![CDATA[<p>Last night was the <a title="Casey Business Awards" href="http://www.successful.com.au/blog/2010/08/04/casey-business-awards-finalist/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" target="_blank"><strong><span style="color: #005e20;">Casey Business Awards</span></strong></a> gala dinner where the <a title="Casey Business Awards" href="http://www.casey.vic.gov.au/caseybusinessawards/" target="_blank">Casey Business Awards</a> were given out for 2010.  We are very pleased to have been awarded the <strong><span style="color: #005e20;">Casey Business of the Year</span></strong> for 2010.  It was a great night and Casey Mayor, <a title="Casey Mayor Cr Lorraine Wreford" href="http://www.casey.vic.gov.au/councillors/" target="_blank">Cr Lorraine Wreford</a> presented the award to Ray and Junette Keefe of <strong><span style="color: #005e20;">Successful Endeavours</span></strong>. </p>
<p><strong><span style="color: #005e20;">Successful Endeavours</span></strong> were also joint winners of the <strong><span style="color: #005e20;">Business and Professional Services</span></strong> award for 2010. </p>
<p>And we were finalists in the <span style="color: #005e20;"><strong>Manufacturer of the Year</strong></span> category which was won by Jain and Janice Lal at <a title="Australian Solar Manufacturing" href="http://www.australiansolarmanufacturing.com.au/" target="_blank">Australian Solar Manufacturing</a>. They make high grade 200W solar panels in Hallam, as good as you can get anywhere in the world, and really deserved their win.  Well done Jain and Janice. </p>
<div class="mceTemp mceIEcenter">
<p style="text-align: center;">
<div id="attachment_878" class="wp-caption aligncenter" style="width: 563px"><a href="http://www.successful.com.au/blog/wp-content/uploads/2010/08/Casey-Business-Awards-2010-Winners1.jpg#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img class="size-large wp-image-878  " title="Casey Business Awards 2010" src="http://www.successful.com.au/blog/wp-content/uploads/2010/08/Casey-Business-Awards-2010-Winners1-1024x605.jpg" alt="Casey Business Awards 2010" width="553" height="327" /></a><p class="wp-caption-text">Casey Business Awards 2010</p></div>
<p style="text-align: left;">Above is a shot of the <strong><span style="color: #005e20;">Casey Business Award</span></strong> Certificates and also the trophies we received on the night.</p>
<p style="text-align: left;">And here we are with Casey Mayor, Cr Lorraine Wreford, with the <span style="color: #005e20;"><strong>Casey Business of the Year</strong></span> award cerrtificate and trophy.</p>
<p style="text-align: center;">
<div id="attachment_893" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.successful.com.au/blog/wp-content/uploads/2010/08/CaseyBusinessOfTheYear-WithTheMayor2.jpg#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img class="size-full wp-image-893 " title="Successful Endeavours - Casey Business Of The Year" src="http://www.successful.com.au/blog/wp-content/uploads/2010/08/CaseyBusinessOfTheYear-WithTheMayor2.jpg" alt="Successful Endeavours with Mayor Cr Lorraine Wreford" width="400" height="318" /></a><p class="wp-caption-text">Ray and Junette Keefe of Successful Endeavours with Casey Mayor Cr Lorraine Wreford - Casey Business Of The Year</p></div>
<p style="text-align: center;">
<p style="text-align: left;">Here we are with the joint winners of the <span style="color: #005e20;"><strong>Business and Professional Services</strong></span> award, <a title="Better Dental Care" href="http://www.dentcare.com.au/Default.aspx" target="_blank">Better Dental Care</a> and a representative of <a title="Monash University sponsors of Casey Business and Professional Services award" href="http://www.monash.edu.au/" target="_self">Monash University</a> who sponsored this award category.</p>
<div id="attachment_894" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.successful.com.au/blog/wp-content/uploads/2010/08/A-Better-Dental-Care-Monash-Uni-Rep-Us2.jpg#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img class="size-full wp-image-894" title="Casey Business and Professional Services award" src="http://www.successful.com.au/blog/wp-content/uploads/2010/08/A-Better-Dental-Care-Monash-Uni-Rep-Us2.jpg" alt="Casey Business and Professional Services award" width="400" height="261" /></a><p class="wp-caption-text">Casey Business and Professional Services award</p></div>
<p style="text-align: center;">
<p style="text-align: left;">And here is a picture of the 3 award certificates together.</p>
<div id="attachment_898" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.successful.com.au/blog/wp-content/uploads/2010/08/Successful-Endeavours-Casey-Business-Awards-2010-2.jpg#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img class="size-full wp-image-898" title="Successful Endeavours Casey Business Awards 2010" src="http://www.successful.com.au/blog/wp-content/uploads/2010/08/Successful-Endeavours-Casey-Business-Awards-2010-2.jpg" alt="Successful Endeavours Casey Business Awards 2010" width="500" height="234" /></a><p class="wp-caption-text">Successful Endeavours Casey Business Awards 2010</p></div>
<p style="text-align: center;">
<p style="text-align: left;">And the Casey Weekly Berwick on 7 September 2010 ran a 2 page special on the Casey Business Awards and this is an except from that covering our win as Casey Business of the Year 2010.</p>
<div id="attachment_913" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.successful.com.au/blog/wp-content/uploads/2010/08/Casey-Weekly-Awards-page_500x.jpg#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img class="size-full wp-image-913" title="Casey Weekly Berwick - In the chips with a high-tech focus" src="http://www.successful.com.au/blog/wp-content/uploads/2010/08/Casey-Weekly-Awards-page_500x.jpg" alt="Successful Endeavours - Casey Business of the Year 2010" width="500" height="672" /></a><p class="wp-caption-text">Successful Endeavours - Casey Business of the Year 2010</p></div>
<p style="text-align: center;">
<p style="text-align: left;">Below are media releases  and official <strong>City of Casey</strong> web pages related to <span style="color: #005e20;"><strong>Successful Endeavours&#8217;</strong></span> win as <span style="color: #005e20;"><strong>Casey Business of the Year</strong></span> and also as joint winners of the <span style="color: #005e20;"><strong>Business and Professional Services</strong></span> award.</p>
<p style="text-align: left;">The <strong>City of Casey</strong> Business Media Release <a title="Successful Endeavours named Casey Business of the Year" href="http://www.casey.vic.gov.au/mediareleases2010/article.asp?Item=19481" target="_blank"><span style="color: #005e20;">Successful Endeavours named Casey Business of the Year</span></a></p>
<p style="text-align: center;">
<p style="text-align: left;">The <strong>City of Casey</strong> official <a title="Casey Business Awards" href="http://www.casey.vic.gov.au/caseybusinessawards/" target="_blank">Casey Business Awards</a> page</p>
<p style="text-align: left;">The Greater Dandenong Weekly 30 August 2010 <a title="Successful Edeavours - Casey Business of the Year" href="http://www.greaterdandenongweekly.com.au/news/local/news/general/company-wired-for-top-award/1926761.aspx" target="_blank"><span style="color: #005e20;">Company Wired For Top Award</span></a> </p>
<p style="text-align: left;">The Casey Weekly Cranbourne 30 August 2010 <a title="Successful Endeavours - wired for success" href="http://www.caseyweeklycranbourne.com.au/news/local/news/general/wired-for-success/1927194.aspx" target="_blank">Wired for success</a> </p>
<p style="text-align: left;">The Casey Weekly Berwick 31 August 2010 <a title="Successful Endeavours - wired to win the big prize" href="http://www.caseyweeklyberwick.com.au/news/local/news/general/wired-to-win-the-big-prize/1927250.aspx" target="_blank"><span style="color: #005e20;">Wired to win the big prize</span></a><span style="color: #005e20;"> </span> </p>
<p style="text-align: center;">
<p style="text-align: left;">The Cranbourne News 2 September 2010 <a title="Successful Endeavours - Business Backed" href="http://www.starnewsgroup.com.au/story/94090" target="_blank"><span style="color: #005e20;">Business Backed</span></a></p>
<p style="text-align: left;">AMTIL News feature <a title="AMTIL Member 'Successful Endeavours' wins 2010 Casey Business of the Year" href="http://www.amtil.com.au/index.php?mode=news_details&amp;id=145" target="_blank"><span style="color: #005e20;"><span style="text-decoration: underline;">AMTIL Member &#8216;Successful Endeavours&#8217; wins 2010 Casey Business of the Year</span><br />
</span></a></p>
<p style="text-align: left;">And we thank our clients and suppliers for being the excellent businesses they are.  This would not have been possible without you. </p>
<p style="text-align: center;"><em>Ray Keefe has been developing high quality and market leading electronics products in Australia for nearly 30 years.  For more information go to his </em><a title="Ray Keefe at Linked In" onclick="pageTracker._trackPageview('/outbound/article/www.linkedin.com');" href="http://www.linkedin.com/in/raykeefe" target="_blank"><em>LinkedIn</em></a><em> profile. This post is Copyright  Successful Endeavours Pty Ltd. </em> </p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.successful.com.au/blog/2010/08/28/casey-business-of-the-year-2010/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Squash Lessons for Engineering</title>
		<link>http://www.successful.com.au/blog/2010/08/10/squash-lessons-for-engineering/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.successful.com.au/blog/2010/08/10/squash-lessons-for-engineering/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 04:40:24 +0000</pubDate>
		<dc:creator>Ray Keefe</dc:creator>
				<category><![CDATA[Embedded Software]]></category>
		<category><![CDATA[Engineers]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[Control Flow]]></category>
		<category><![CDATA[Data Flow]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Exception Handling]]></category>
		<category><![CDATA[Execution Flow]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Software Testing]]></category>
		<category><![CDATA[Squash Lessons for Engineering]]></category>
		<category><![CDATA[Unit testing]]></category>

		<guid isPermaLink="false">http://www.successful.com.au/blog/?p=806</guid>
		<description><![CDATA[Squash Lessons for Engineering The picture in today&#8217;s post comes courtesy of Dr Marc Dussault, The Exponential Growth Strategist. At his recent Exponential Business Building Bootcamp, he demonstrated how a Squash Racquet gets broken from repeated use. So what does this have to do with Engineering? Glad you asked. First, I have to explain the demonstration. Marc showed [...]]]></description>
			<content:encoded><![CDATA[<h1><span style="color: #005e20;">Squash Lessons for Engineering</span></h1>
<p>The picture in today&#8217;s post comes courtesy of <a href="http://www.MarcDussault.com">Dr Marc Dussault</a>, The <a href="http://www.exponentialprograms.com">Exponential Growth Strategist</a>. At his recent <a href="http://www.exponentialprograms.com/business/bootcamp">Exponential Business Building Bootcamp</a>, he demonstrated how a <strong>Squash Racquet</strong> gets broken from repeated use.</p>
<div id="attachment_807" class="wp-caption aligncenter" style="width: 360px"><a href="http://www.successful.com.au/blog/wp-content/uploads/2010/08/SquashRacquet.jpg#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><em><img class="size-full wp-image-807" title="Broken Squash Racquet" src="http://www.successful.com.au/blog/wp-content/uploads/2010/08/SquashRacquet.jpg" alt="Broken Squash Racquet" width="350" height="123" /></em></a><p class="wp-caption-text">Broken Squash Racquet</p></div>
<p>So what does this have to do with <strong><span style="color: #005e20;">Engineering</span></strong>? Glad you asked.</p>
<p>First, I have to explain the demonstration. Marc showed that it takes a very large amount of force to break the <strong>Squash Racquet</strong>.  He really applied himself to the destructive task and it took a few minutes of escalating <strong>Squash Racquet</strong> abuse before it finally succumbed and broke.  Some of us in the front of the room could tell just how much it required to break the <strong>Squash Racquet</strong>. However the <strong>Squash Racket</strong> already had a crack, so Marc knew where to apply the force in order to break it.  The picture above is the final outcome.  Without the crack being obvious, it would have been almost impossible to have broken the <strong>Squash Racquet</strong> using just randomly applied force.</p>
<p>Marc then explained that way the <strong>Squash Racquet</strong> became cracked in the first place, was by it being consistently scraped along the wall as he retrieved the ball from shots along the wall.  Marc is an outstanding competitive squash player and currently ranks  as World # 18! So he knows his stuff when it comes to squash.  You can read more about this at his <strong><a title="Mindset Of A Champion" href="http://www.marcdussault.com/mindset/blog/" target="_blank">Mindset Of A Champion</a></strong> blog.</p>
<p>So if you know what to look for, you can monitor the thinning of the racquet and get an idea of when and where it might fail.  If you don&#8217;t know what to look for, then the failure will be unexpected.</p>
<h1><span style="color: #005e20;">Software Testing and Software Engineering</span></h1>
<p>A lot of <strong><span style="color: #005e20;">Software Testing</span></strong> can suffer from the same problem.  If you already know where the weakness will be and how to spot it, then finding a bug is easy.  You can set up the scenario, monitor for the symptom and confirm the failure.  Or, if you have enough resources you can go the brute force approach and just break it through the persistent use of randomly directed and escalated force of testing.  However very products are simple enough and very few companies are large enough to have that level of resource and to solve the problem this way.  So for the rest of us, the other 99.995%, a more intelligent approach is needed.</p>
<p>Since you don&#8217;t know where and when it will fail, it is best to remove failure causes from the beginning. This is where <strong><span style="color: #005e20;">Software Engineering</span></strong> come is. <strong><span style="color: #005e20;">Software Engineering</span></strong> is not just coding.  Coding is the production end of the <strong><span style="color: #005e20;">Software Engineering</span></strong> process.  <strong><span style="color: #005e20;">Software Engineering</span></strong> is about designing the system so you have defined the components so they are each fully testable in their own right. Then you can apply processes like <a title="Unit Testing" href="http://msdn.microsoft.com/en-us/library/aa292197(VS.71).aspx" target="_self"><strong><span style="color: #005e20;">Unit Testing</span></strong></a> to ensure they are fully functional as stand alone pieces of software. You can then perform <strong><a title="Integration Testing" href="http://msdn.microsoft.com/en-us/library/aa292128(VS.71).aspx" target="_blank"><span style="color: #005e20;">Integration Testing</span></a></strong> to ensure that software added to the system correctly handles both the <span style="color: #005e20;"><strong>Execution Flow</strong></span>, also known as <strong><span style="color: #005e20;"><a title="Control Flow" href="http://en.wikipedia.org/wiki/Control_flow" target="_blank">Control Flow</a></span></strong>, and <a title="Data Flow" href="http://en.wikipedia.org/wiki/Dataflow" target="_blank"><strong><span style="color: #005e20;">Data Flow</span></strong></a> required including error and <strong><span style="color: #005e20;"><a title="Exception Handling" href="http://en.wikipedia.org/wiki/Exception_handling" target="_blank">Exception Handling</a></span></strong>. The result is that you build up a fully working and correctly executing system quickly and with great confidence. It isn&#8217;t a magic bullet but it is close to it.</p>
<p>As was famously quipped by <a title="Edsger Dijkstra" href="http://en.wikiquote.org/wiki/Programming" target="_blank">Edsger Dijkstra</a>, &#8220;If <strong><span style="color: #005e20;">Debugging</span></strong> is the process of removing bugs, then programming must be the process of putting them in&#8221;.</p>
<p>So if you put less bugs in, you have less debugging to do. And that saves time and removes future time bombs.  Because the chance that you find them all is zero percent. And you can&#8217;t create a system that is 100% testable by brute force means. So you have to go about it smarter.  It will save time, money and improve the business outcome now and into the future.</p>
<p><em>Ray Keefe has been developing high quality and market leading electronics products in Australia for nearly 30 years.  For more information go to his </em><a title="Ray Keefe at Linked In" onclick="pageTracker._trackPageview('/outbound/article/www.linkedin.com');" href="http://www.linkedin.com/in/raykeefe" target="_blank"><em>LinkedIn</em></a><em> profile. This post is Copyright © 2010  Successful Endeavours Pty Ltd. </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.successful.com.au/blog/2010/08/10/squash-lessons-for-engineering/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Embedded Software Testing</title>
		<link>http://www.successful.com.au/blog/2010/08/09/embedded-software-testing/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.successful.com.au/blog/2010/08/09/embedded-software-testing/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 00:00:24 +0000</pubDate>
		<dc:creator>Ray Keefe</dc:creator>
				<category><![CDATA[Embedded Software]]></category>
		<category><![CDATA[Engineers]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[Architectural Design]]></category>
		<category><![CDATA[code coverage]]></category>
		<category><![CDATA[Error handling]]></category>
		<category><![CDATA[Functional Decomposition]]></category>
		<category><![CDATA[Integration Test Plan]]></category>
		<category><![CDATA[Integration Tests]]></category>
		<category><![CDATA[PepperStack]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Software Engineer]]></category>
		<category><![CDATA[Software Quality]]></category>
		<category><![CDATA[Software Testing]]></category>
		<category><![CDATA[System Test Plan]]></category>
		<category><![CDATA[Test Driven Development]]></category>
		<category><![CDATA[Unit Test]]></category>

		<guid isPermaLink="false">http://www.successful.com.au/blog/?p=800</guid>
		<description><![CDATA[Software Testing I recently met with an Australian Software Development company, PepperStack, and we got onto the subject of Software Testing. As someone who began their career as an Electronics Hardware Engineer, one of the things I learnt was that you have to test thoroughly to be sure everything is working as it should be. [...]]]></description>
			<content:encoded><![CDATA[<h1><span style="color: #005e20;">Software Testing</span></h1>
<p>I recently met with an <strong>Australian Software Development</strong> company, <a title="PepperStack" href="http://www.pepperstack.com.au/" target="_blank"><em>PepperStack</em></a>, and we got onto the subject of <strong><em><span style="color: #005e20;"><a title="Software Testing" href="http://en.wikipedia.org/wiki/Software_testing" target="_blank">Software Testing</a></span></em></strong>. As someone who began their career as an <strong><span style="color: #005e20;">Electronics Hardware Engineer</span></strong>, one of the things I learnt was that you have to test thoroughly to be sure everything is working as it should be. With <strong><span style="color: #005e20;"><a title="Electronics" href="http://en.wikipedia.org/wiki/Electronics" target="_blank">Electronics</a></span></strong>, if you make a mistake with an <span style="color: #005e20;"><em>Engineering Calculation</em></span> you can easily destroy things. This is sometimes referred to as &#8220;letting the smoke out&#8221;. So it was good to meet with others who believe in the same level of rigorous software unit, module and system testing that we do.</p>
<h1><span style="color: #005e20;">Some Engineering Humour</span></h1>
<p>Which reminds me of a joke I once heard:</p>
<p>There are 3 <strong><span style="color: #005e20;">Engineers</span></strong> in a car going for a drive. The first is a <span style="color: #005e20;"><strong>Mechanical Engineer</strong></span>, the second an <strong><span style="color: #005e20;">Electronics Engineer</span></strong> and the third is a <strong><span style="color: #005e20;">Software Engineer</span></strong>. Fortunately the <strong><span style="color: #005e20;">Mechanical Engineer</span></strong> is driving because the brakes fail and they are going downhill.  The <strong><span style="color: #005e20;">Mechanical Engineer</span></strong> eventually brings the car safely to a halt and gets out to examine the hydraulic systems.  The <strong><span style="color: #005e20;">Electronics Engineer</span></strong> gets out and checks and body computer, ABS system and the power train CAN bus.  The <strong><span style="color: #005e20;">Software Engineer</span></strong> stays in the car and when queried about it says that they should all just get back in the car and see if it happens again!</p>
<p>Now don&#8217;t get me wrong, I&#8217;m not having a go at <strong><span style="color: #005e20;"><a title="Software Engineers" href="http://en.wikipedia.org/wiki/Software_engineers" target="_blank">Software Engineers</a></span></strong>. The process of finding and eliminating faults is a very important part of the development cycle and is something that needs up front thinking and not just responding to symptoms.  And the more complex or sophisticated a system is, that harder it is to fully test every possible response to every possible stimuli and after a certain point it becomes impractical to have 100% Test Coverage (every line of code has been executed through all of the possible states).  The reason this is a bigger problem with<a title="Software Development" href="http://en.wikipedia.org/wiki/Software_development" target="_blank"> <strong><span style="color: #005e20;">Software Development</span></strong></a> is that the flexibility of software means that it is inherently complex and it takes skill and planning to manage that complexity so it is testable.</p>
<p>So here is the issue. More than any other discipline, faults can be experienced by an end user of a product under a situation or scenario you could not have proactively tested against before release.  There are many potential reasons for this including:</p>
<ul>
<li>change of hardware or operating system environment</li>
<li>new standards or protocols</li>
<li>the sheer number of potential combinations of drivers, peripherals, software and users</li>
<li>the product being used for a purpose it wasn&#8217;t originally designed for</li>
<li>gamma ray corruption of a memory location &#8211; I am getting esoteric now but in some areas like avionics and space this is a big threat</li>
</ul>
<p>So how do you reduce the likelihood of these problems occurring?</p>
<h1><span style="color: #005e20;">Improving Software Quality</span></h1>
<p><span style="color: #000000;">With many new products having Electronics and <strong><span style="color: #005e20;"><a title="Embedded Software" href="http://en.wikipedia.org/wiki/Embedded_Software" target="_blank">Embedded Software</a></span></strong> and the <strong><span style="color: #005e20;"><em>Software Development</em></span></strong> requiring 80% of the effort, it is important to delivery it as quickly and fault free as you can. The main weapons in your <strong><span style="color: #005e20;">Software Quality</span></strong> arsenal have been known about for a long time but are, in our experience, just not used.  These are:</span></p>
<ul>
<li><span style="color: #000000;"><strong><em>Architectural Design</em></strong> &#8211; work out how the data and execution flow will happen and how you will manage the constraints</span></li>
<li><span style="color: #000000;"><strong><em>Functional Decomposition</em></strong> &#8211; divide and conquer but with an emphasis on how each module fits into the system and how the interfaces work in detail</span></li>
<li><span style="color: #000000;"><strong><em>Error handling </em></strong>- who will decide what to do with response codes &#8211; again this is data and execution flow and part of the architecture. In many cases exception management is at least 50% of the project.</span></li>
<li><span style="color: #000000;">Have an <strong><em>Integration Test Plan</em></strong> &#8211; some thing that proves the data and execution flow matches the architectural design.  Too often &#8220;it builds&#8221; seems to be good enough here.</span></li>
<li><span style="color: #000000;"><strong><em>Unit Test</em></strong> modules &#8211; so you remove all the issues before adding them to the integration</span></li>
<li><span style="color: #000000;">Do the <strong><em>Integration Tests</em></strong> before you try system testing</span></li>
<li><span style="color: #000000;">Design modules so you can integrate them as shells then add functionality down the track</span></li>
<li><span style="color: #000000;">Have NVM and configuration data available at the beginning of the project and not as an after thought at the end</span></li>
<li><span style="color: #000000;">Have a <strong><em>System Test Plan</em></strong> and use it</span></li>
<li><span style="color: #000000;">Use some of the good practices of <strong><span style="color: #005e20;"><a title="Test Driven Development" href="http://en.wikipedia.org/wiki/Test-driven_development" target="_blank">Test Driven Development</a></span></strong> &#8211; run the tests every time you change the code</span></li>
<li><span style="color: #000000;">Have a rationale for what level of <strong><em><a title="Code Coverage" href="http://en.wikipedia.org/wiki/Code_coverage" target="_blank">Code Coverage</a></em></strong> you can accept</span></li>
<li><span style="color: #000000;">Have a rationale for what level of <strong><em>Churn</em></strong> you can accept &#8211; <strong><em>Churn</em></strong> is the percentage of the lines of code that have changed in the past time period.  Usually either a week or month depending on the size of the project.</span></li>
<li><span style="color: #000000;">Use automated software quality tools. For instance we use both <a title="Gimpel Software PC-Lint" href="http://www.gimpel.com/" target="_blank">PC-Lint</a> and <a title="RSM" href="http://www.msquaredtechnologies.com/" target="_blank">RSM</a> to automated many software quality metrics which saves a lot of time in <strong><a title="Code Reviews" href="http://en.wikipedia.org/wiki/Code_review" target="_blank">Code Reviews</a></strong></span></li>
<li><span style="color: #000000;">Use <strong>Code Reviews</strong>, also known as <strong><a title="Software Peer Review" href="http://en.wikipedia.org/wiki/Software_peer_review" target="_blank">Software Peer Review</a></strong>.  It really does save time.</span></li>
</ul>
<p><span style="color: #000000;">Next I plan to look at what you can learn about software testing from a Squash Racquet.</span></p>
<p><span style="color: #000000;"><em>Ray Keefe has been developing high quality and market leading electronics products in Australia for nearly 30 years.  For more information go to his </em><a title="Ray Keefe at Linked In" onclick="pageTracker._trackPageview('/outbound/article/www.linkedin.com');" href="http://www.linkedin.com/in/raykeefe" target="_blank"><em>LinkedIn</em></a><em> profile. This post is Copyright © 2010  Successful Endeavours Pty Ltd. </em></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.successful.com.au/blog/2010/08/09/embedded-software-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>High Voltage Power Electronics</title>
		<link>http://www.successful.com.au/blog/2010/07/02/high-voltage-power-electronics/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.successful.com.au/blog/2010/07/02/high-voltage-power-electronics/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 23:37:33 +0000</pubDate>
		<dc:creator>Ray Keefe</dc:creator>
				<category><![CDATA[Engineers]]></category>
		<category><![CDATA[High Voltage]]></category>
		<category><![CDATA[electronics design]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[ABB]]></category>
		<category><![CDATA[ABB High Voltage Division]]></category>
		<category><![CDATA[Electric Power Transmission Systems]]></category>
		<category><![CDATA[Elevated Voltages]]></category>
		<category><![CDATA[Engineering Design]]></category>
		<category><![CDATA[Fault Isolation]]></category>
		<category><![CDATA[Hig Voltage]]></category>
		<category><![CDATA[High Voltage Distribution]]></category>
		<category><![CDATA[High Voltage Switchgear]]></category>
		<category><![CDATA[High Voltage Switching]]></category>
		<category><![CDATA[Power Factor Correction]]></category>
		<category><![CDATA[Reclosers]]></category>

		<guid isPermaLink="false">http://www.successful.com.au/blog/?p=758</guid>
		<description><![CDATA[Safety in High Voltage Power Distribution My thanks to Tim Heemskerk of ABB High Voltage Division in Lilydale for this clip.  It shows how dangerous High Voltage power can be in Electric Power Transmission Systems and why ABB take so much care in how they handle High Voltage Switching, Power Factor Correction and Fault Isolation [...]]]></description>
			<content:encoded><![CDATA[<h1><span style="color: #005e20;">Safety in High Voltage Power Distribution</span></h1>
<p>My thanks to Tim Heemskerk of <a title="ABB High Voltage Division" href="http://www.abbaustralia.com.au/cawp/auabb501/9e83880a4ba7ab62c1257042001b82f2.aspx" target="_blank"><strong><span style="color: #005e20;">ABB High Voltage Division</span></strong></a> in Lilydale for this clip.  It shows how dangerous <strong><span style="color: #005e20;"><a title="High Voltage" href="http://en.wikipedia.org/wiki/High_voltage" target="_blank"><span style="color: #005e20;">High Voltage</span></a></span></strong> power can be in <a title="Electric Power Transmission Systems" href="http://en.wikipedia.org/wiki/Electric_power_transmission" target="_blank"><span style="color: #005e20;"><strong>Electric Power Transmission Systems</strong></span></a> and why <strong><span style="color: #005e20;"><a title="ABB" href="http://en.wikipedia.org/wiki/ABB_Group" target="_blank"><span style="color: #005e20;">ABB</span></a></span></strong> take so much care in how they handle <strong>High Voltage Switching</strong>, <a title="Power Factor Correction" href="http://en.wikipedia.org/wiki/Power_factor_correction" target="_blank"><span style="color: #005e20;"><strong>Power Factor Correction</strong></span></a> and <strong><span style="color: #005e20;">Fault Isolation</span></strong> and <a title="Recloser" href="http://en.wikipedia.org/wiki/Recloser" target="_blank"><strong><span style="color: #005e20;">Reclosers</span></strong></a> in systems operating at these<strong><span style="color: #005e20;"> Elevated Voltages</span></strong>.  Be sure to wait for the slow motion replay at the end.  I think these guys might have seen an episode or two of <a title="Myth Busters" href="http://en.wikipedia.org/wiki/MythBusters" target="_blank">Myth Busters</a>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="298" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/gj1pkyCL75E&amp;hl=en_US&amp;fs=1&amp;color1=0x234900&amp;color2=0x4e9e00&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="298" src="http://www.youtube.com/v/gj1pkyCL75E&amp;hl=en_US&amp;fs=1&amp;color1=0x234900&amp;color2=0x4e9e00&amp;border=1" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<p>For those who don&#8217;t recognise them, the rectangular boxes with terminals sticking out the top are <strong><span style="color: #005e20;">High Voltage</span></strong> capacitors used for <a title="Power Factor Correction" href="http://www.integral.com.au/wps/wcm/connect/IntegralEnergy/nsw/nsw+homepage/environmentnav/energy+efficiency/power+factor+correction/" target="_blank"><strong><span style="color: #005e20;">Power Factor Correction</span></strong></a> in <a title="Power Distribution" href="http://en.wikipedia.org/wiki/Power_distribution" target="_blank"><span style="color: #005e20;"><strong>Power Distribution</strong></span></a> systems.  They have been charged to 13.8KV and hold 9675J of energy.  The pull cord is used to close the electrical circuit and the capacitor voltage is applied to the watermelon which conducts the current and the energy released causes it to explode rather spectacularly.  Not what you want happening in a real <a title="Power Distribution" href="http://en.wikipedia.org/wiki/Electricity_distribution" target="_blank"><strong><span style="color: #005e20;">Power Distribution</span></strong></a> scenario which is why you want <strong><a title="Engineers" href="http://en.wikipedia.org/wiki/Engineers" target="_blank"><span style="color: #005e20;">Engineers</span></a></strong> who know what they are doing working on both the <a title="Engineering Design" href="http://en.wikipedia.org/wiki/Engineering_Design" target="_blank"><strong><span style="color: #005e20;">Engineering Design</span></strong></a> and the implementation of these <strong><span style="color: #005e20;">High Voltage Distribution</span></strong> systems.</p>
<p><em>Ray Keefe has been developing high quality and market leading electronics products in Australia for nearly 30 years.  For more information go to his </em><a title="Ray Keefe at Linked In" onclick="pageTracker._trackPageview('/outbound/article/www.linkedin.com');" href="http://www.linkedin.com/in/raykeefe" target="_blank"><em>LinkedIn</em></a><em> profile. This post is Copyright © 2010  Successful Endeavours Pty Ltd. </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.successful.com.au/blog/2010/07/02/high-voltage-power-electronics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From Engineer to Entrepreneur</title>
		<link>http://www.successful.com.au/blog/2010/06/21/from-engineer-to-entrepreneur/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.successful.com.au/blog/2010/06/21/from-engineer-to-entrepreneur/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 04:58:55 +0000</pubDate>
		<dc:creator>Ray Keefe</dc:creator>
				<category><![CDATA[Electronics Awards]]></category>
		<category><![CDATA[Electronics Entrepreneur]]></category>
		<category><![CDATA[Electronics Manufacture]]></category>
		<category><![CDATA[Embedded Software]]></category>
		<category><![CDATA[Engineers]]></category>
		<category><![CDATA[electronics design]]></category>
		<category><![CDATA[made in Australia]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[Dr Marc Dussault]]></category>
		<category><![CDATA[EDN Innovation award]]></category>
		<category><![CDATA[Embedded Software Development]]></category>
		<category><![CDATA[Engineer]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Engineering Consultant]]></category>
		<category><![CDATA[Entrepreneur]]></category>
		<category><![CDATA[Entrepreneur of the Year]]></category>
		<category><![CDATA[Exponential Entrepreneur of the Year]]></category>
		<category><![CDATA[Exponential Programs]]></category>
		<category><![CDATA[Profession]]></category>

		<guid isPermaLink="false">http://www.successful.com.au/blog/?p=722</guid>
		<description><![CDATA[This week I was the recipient of an Exponential Entrepreneur of the Year award.  Last year we were received 2 awards for technical excellence when we won 2 of the 15 EDN Innovation awards handed out in Australia in 2009.  So I was very pleased to be receiving an award recognising the business side of Successful [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">This week I was the recipient of an <a title="Exponential Entrepreneur of the Year" href="http://www.exponentialprograms.com/business/blog/exponential-entrepreneurs-of-the-year-award-winners-announced/" target="_blank"><strong><em><span style="color: #005e20;">Exponential Entrepreneur of the Year</span></em></strong> </a>award.  Last year we were received 2 awards for technical excellence when we won 2 of the 15 <a title="Successful Endeavours National Awards" href="http://www.successful.com.au/awards.html" target="_blank"><strong><span style="color: #005e20;">EDN Innovation awards</span></strong></a> handed out in Australia in 2009. </p>
<p>So I was very pleased to be receiving an award recognising the business side of <a title="Successful Endeavours" href="http://www.successful.com.au/index.html" target="_blank"><strong><em><span style="color: #005e20;">Successful Endeavours</span></em></strong></a>.  The award was presented by <a title="Dr Marc Dussault" href="http://www.marcdussault.com/" target="_blank"><strong>Dr Marc Dussault</strong></a> of <a href="http://www.exponentialprograms.com/"><strong><em>Exponential Programs</em></strong></a> and recognises entrepreneurs and business people who have demonstrated excellence deploying exponential strategies in their business by profitably creating exceptional value for their clients in a manner that is both measurable and sustainable. The award received was in the category of <strong><span style="color: #005e20;">Engineering Consultant</span></strong> and was one of only 6 handed out in 2010 and the only one in that category. </p>
<div id="attachment_730" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.successful.com.au/blog/wp-content/uploads/2010/06/Marc-Dussault-Ray-Keefe-Entepreneur-Award-2010.jpg#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img class="size-medium wp-image-730 " title="Marc-Dussault-Ray-Keefe-Entepreneur-Award-2010" src="http://www.successful.com.au/blog/wp-content/uploads/2010/06/Marc-Dussault-Ray-Keefe-Entepreneur-Award-2010-300x219.jpg" alt="Entrepreneur of the Year 2010 Ray Keefe" width="300" height="219" /></a><p class="wp-caption-text">Exponential Entrepreneur of the Year 2010 Ray Keefe receives his award from Dr Marc Dussault.</p></div>
<p>You can read more about the awards at <em><strong><a title="Entrepreneur of the Year" href="http://www.exponentialprograms.com/business/blog/awards/entrepreneur-awards-2010/" target="_blank">Exponential Programs Entrepreneur of the Year Awards</a></strong></em> page. </p>
<p style="text-align: left;">The main reason for this post is to touch on the most significant aspect of this award for me. I once said that as a Business Owner I made a pretty good <a title="Engineer" href="http://en.wikipedia.org/wiki/Engineer" target="_blank"><strong>Engineer</strong></a>.  The past 18 months has a seen a transition away from that to the point now where I can say that I am an <a title="Entrepreneur" href="http://en.wikipedia.org/wiki/Entrepreneur" target="_blank"><strong>Entrepreneur</strong></a> who is also an <a title="Engineer" href="http://en.wikipedia.org/wiki/Engineer" target="_blank"><strong>Engineer</strong></a>.  <a title="Engineering" href="http://en.wikipedia.org/wiki/Engineering" target="_blank"><strong>Engineering</strong></a> is a <a title="Profession" href="http://en.wikipedia.org/wiki/Profession" target="_blank"><strong>Profession</strong></a> and so it isn&#8217;t something that suddenly stops being relevant.  Our education and mindset is all based on practical problem solving through the use of technology while balancing performance, risk and cost.  And we apply this skillset and <span style="color: #005e20;"><strong>mindset</strong> </span>to most aspects of our lives, even when it isn&#8217;t the only way to go about it.  So I am very pleased to be making this transition.  Not only is our business better for it but our clients are as well. </p>
<p style="text-align: left;">And I also thank our clients for the trust they have placed in us to deliver <strong><em><span style="color: #005e20;"><a title="Electronics Design" href="http://en.wikipedia.org/wiki/Electronics_design" target="_blank">Electronics Design</a></span></em></strong> and <strong><em><span style="color: #005e20;"><a title="Embedded Software Development" href="http://en.wikipedia.org/wiki/Embedded_software_development" target="_blank">Embedded Software Development</a></span></em></strong> for their next generation of market leading products, the vast majority of which are still <strong><span style="color: #005e20;"><a title="Made in Australia" href="http://www.madedownunder.blogspot.com/" target="_blank">made in Australia</a></span></strong> at a profit. </p>
<p>Here is a picture of the <a title="Exponential Entrepreneur of the Year" href="http://www.australianblogs.com.au/blog/exponential-entrepreneur-of-the-year-award-winners-announced/" target="_blank"><strong>Exponential Entrepreneur of the Year</strong></a> award certificate. </p>
<div id="attachment_732" class="wp-caption aligncenter" style="width: 452px"><a href="http://www.successful.com.au/blog/wp-content/uploads/2010/06/Marc-Dussault-Ray-Keefe-Entepreneur-Award-2010-Certificate.jpg#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img class="size-small wp-image-732 " title="Marc-Dussault-Ray-Keefe-Entepreneur-Award-2010-Certificate" src="http://www.successful.com.au/blog/wp-content/uploads/2010/06/Marc-Dussault-Ray-Keefe-Entepreneur-Award-2010-Certificate.jpg" alt="Exponential Entrepreneur of the Year Certificate" width="442" height="297" /></a><p class="wp-caption-text">Exponential Entrepreneur of the Year Certificate</p></div>
<p style="text-align: left;"> The initial nomination was published on <a title="PR Web" href="http://www.prweb.com/" target="_blank">PRWeb</a> at <a title="2010 Exponential Entrepreneur Award Winners Announced" href="http://www.prweb.com/releases/2010/06/prweb4099164.htm" target="_blank">2010 Exponential Entrepreneur Award Winners Announced</a>. </p>
<p style="text-align: center;">
<p style="text-align: center;"><em>Ray Keefe has been developing high quality and market leading electronics products in Australia for nearly 30 years.  For more information go to his </em><a title="Ray Keefe at Linked In" onclick="pageTracker._trackPageview('/outbound/article/www.linkedin.com');" href="http://www.linkedin.com/in/raykeefe" target="_blank"><em>LinkedIn</em></a><em> profile. This post is Copyright © 2010  Successful Endeavours Pty Ltd. </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.successful.com.au/blog/2010/06/21/from-engineer-to-entrepreneur/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>What&#8217;s so good about being an Engineer</title>
		<link>http://www.successful.com.au/blog/2010/01/02/whats-so-good-about-being-an-engineer/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.successful.com.au/blog/2010/01/02/whats-so-good-about-being-an-engineer/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 02:16:01 +0000</pubDate>
		<dc:creator>Ray Keefe</dc:creator>
				<category><![CDATA[Embedded Software]]></category>
		<category><![CDATA[Engineers]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[Deakin University]]></category>
		<category><![CDATA[Electromechanical Actuators]]></category>
		<category><![CDATA[Electromechanics]]></category>
		<category><![CDATA[Electronics Hardware]]></category>
		<category><![CDATA[Electronics Hardware and Embedded Software Egnineer]]></category>
		<category><![CDATA[Engineering Disciplines]]></category>
		<category><![CDATA[I'm an Engineer]]></category>
		<category><![CDATA[Motor Drives]]></category>
		<category><![CDATA[Multi-Axis Robotic Handlers]]></category>
		<category><![CDATA[Physics and Chemistry]]></category>
		<category><![CDATA[Software Egnineer]]></category>
		<category><![CDATA[Variable Frequency Motor Drives]]></category>

		<guid isPermaLink="false">http://www.successful.com.au/blog/?p=672</guid>
		<description><![CDATA[An Engineering Problem in Disguise A funny thing happened to me the other day during the Christmas shopping rush at our local shopping centre in Endeavour Hills.  Our daughter had purchased some clothes for her nieces for Christmas and used the self serve checkout. When she got home she discovered she had not had one [...]]]></description>
			<content:encoded><![CDATA[<h1>An Engineering Problem in Disguise</h1>
<p>A funny thing happened to me the other day during the Christmas shopping rush at our local shopping centre in Endeavour Hills.  Our daughter had purchased some clothes for her nieces for Christmas and used the self serve checkout. When she got home she discovered she had not had one of the security tags removed so she asked for my help.</p>
<p>OK, I might be an <strong>Electronics Hardware and Embedded Software Engineer</strong> but I did do a year of <strong>Physics</strong> <strong>and</strong> <strong>Chemistry</strong> at <strong><a title="Deakin University" href="http://www.deakin.edu.au/" target="_blank">Deakin University</a></strong> before switching to <strong>Engineering</strong> and I have had a role in the design of <strong><a title="Multidisciplinary Design Optimization" href="http://en.wikipedia.org/wiki/Multidisciplinary_design_optimization">Multidisciplinary Systems</a></strong> with <strong><a title="Electromechanics" href="http://en.wikipedia.org/wiki/Electromechanics" target="_blank">Electromechanical Actuators</a></strong> and <strong><a title="Variable Frequency Motor Drive" href="http://en.wikipedia.org/wiki/Variable-frequency_drive" target="_blank">Variable Frequency Motor Drives</a></strong> including <strong>Multi-Axis Robotic Handlers</strong>.  So I thought, &#8220;How hard can this be?&#8221;</p>
<p>The first step was to review the problem and identify the information.  Those familiar with <a title="Edward De Bono" href="http://en.wikipedia.org/wiki/Edward_de_bono" target="_blank"><strong>Edward De Bono</strong></a>&#8216;s <a title="Six Thinking Hats" href="http://en.wikipedia.org/wiki/Six_Thinking_Hats" target="_blank"><strong>Six Thinking Hats</strong></a> will recognise this as the <strong>White Hat</strong> stage.</p>
<p>I had:</p>
<ul>
<li>circular plastic sealed tag with an alignment  feature &#8211; a hole through it to accept a tapered pin</li>
<li>a metal pin with a large head inserted into the centre of the plastic disk</li>
<li>no other visible connection points</li>
</ul>
<p>So assuming the tag was made at a minimum price, needed to be aligned correctly to be released and could be disconnected without an external power source; I concluded that the release mechanism was probably magnetic.  So I got a magnet and did some experiments and I could hear something click inside the security tag as I moved the external magnet around.  Now I am very confident that it is a <strong>Magnetic Latching Mechanism</strong>.  But no orientation of a single magnet released the pin.</p>
<p>I got 2 magnets and worked around the unit until the pin released and the problem was solved.</p>
<p>Having released the tag I gave the garment to my daughter to wrap in Christmas paper and put the tag with pin inserted back into it by the front door.  Since we were shopping the next day I thought I would return the tag.  At the very least it would get recycled.</p>
<h1>What&#8217;s so good about being an Engineer?</h1>
<p>At the shops, I went to the help desk and offered them the tag.  They were very confused.  I explained that it had been accidentally left on one of the items we purchased so I took it off and was returning it to them.  The stunned reply was, &#8220;You took it off yourself&#8221;?  &#8220;Yes&#8221; I said.  &#8220;I&#8217;ll have to call security&#8221; was the next reply.  So I said, &#8220;It&#8217;s all right, <strong>I&#8217;m an Engineer</strong>&#8220;.  &#8220;Oh, that&#8217;s fine then&#8221; was the reply and I wandered off to collect some final groceries for Christmas dinner.</p>
<p>So apparently there was a connection in the shop assistants mind that made being an <strong>Engineer</strong> something special.  They may not have know what that connection was.  And that got me wondering about <strong>Engineers</strong> and what is so special about us.  Here is a bit of a list of my initial thoughts if I ignore specific <strong>Engineering Disciplines</strong>:</p>
<ul>
<li>we create the future by designing and constructing the machines and systems that it requires</li>
<li>we routinely solve complex problems that others do not know even exist</li>
<li>we do all of this because we want a better world and are prepared to do our part to achieve it</li>
<li>we have learned that covering up a symptom is not the same as solving the underlying problem</li>
</ul>
<p>You might have some thoughts of your own so please leave a comment.</p>
<p>And of course, I hope you had a Merry Christmas in 2009 and that 2010 is a very good year for you all.  Happy New Year!</p>
<p><span style="COLOR: #000000"><em>Ray Keefe has been developing high quality and market leading electronics products in Australia for nearly 30 years.  For more information go to his </em><a title="Ray Keefe at Linked In" onclick="pageTracker._trackPageview('/outbound/article/www.linkedin.com');" href="http://www.linkedin.com/in/raykeefe" target="_blank"><em>LinkedIn</em></a><em> profile. This post is Copyright  Successful Endeavours Pty Ltd. </em></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.successful.com.au/blog/2010/01/02/whats-so-good-about-being-an-engineer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Electronics Design for Green Manufacture?</title>
		<link>http://www.successful.com.au/blog/2009/12/07/electronics-design-for-green-manufacture/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.successful.com.au/blog/2009/12/07/electronics-design-for-green-manufacture/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 01:32:19 +0000</pubDate>
		<dc:creator>Ray Keefe</dc:creator>
				<category><![CDATA[Electronics Manufacture]]></category>
		<category><![CDATA[Global Warming]]></category>
		<category><![CDATA[Green Electronics]]></category>
		<category><![CDATA[Low Power Electronics]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[Ambient Environment]]></category>
		<category><![CDATA[Design Issues]]></category>
		<category><![CDATA[electronics design]]></category>
		<category><![CDATA[Electronics Devices]]></category>
		<category><![CDATA[Energy Harvesting]]></category>
		<category><![CDATA[Energy Sources]]></category>
		<category><![CDATA[Green Manufacture]]></category>
		<category><![CDATA[Green Supply Line]]></category>
		<category><![CDATA[power consumption]]></category>
		<category><![CDATA[Power Supply]]></category>
		<category><![CDATA[Product Developers]]></category>
		<category><![CDATA[Renewable Energy]]></category>
		<category><![CDATA[Self Powered]]></category>
		<category><![CDATA[Self Powered Wireless]]></category>
		<category><![CDATA[USB Powered]]></category>

		<guid isPermaLink="false">http://www.successful.com.au/blog/?p=631</guid>
		<description><![CDATA[Electronics Design for Green Manufacture This is not as straight forward a topic as it might at first seem to be.  And this is because there isn&#8217;t yet a unified agreement on exactly what Green Manufacture means.  And like most Design Issues, you cannot do Electronics Design without clear requirements.  So what are the requirements? [...]]]></description>
			<content:encoded><![CDATA[<h1>Electronics Design for Green Manufacture</h1>
<p>This is not as straight forward a topic as it might at first seem to be.  And this is because there isn&#8217;t yet a unified agreement on exactly what <strong>Green Manufacture</strong> means.  And like most <strong>Design Issues</strong>, you cannot do <strong>Electronics Design</strong> without clear requirements.  So what are the requirements?</p>
<p>Here are some <strong>Green Manufacture</strong> requirements or targets:</p>
<ul>
<li>reduce product <strong>Power Consumption</strong></li>
<li>reduce manufacturing <strong>Power Consumption</strong></li>
<li>add <strong>Renewable Energy</strong> options to the product</li>
<li>add <strong>Renewable Energy</strong> options to the manufacture process</li>
<li>reduce pollution or waste in the manufacture process</li>
<li>reduce energy involved in upstream or downstream processes</li>
<li>reduce pollution or waste in the upstream or downstream processes</li>
<li>increase product life</li>
<li>increase product utility</li>
<li>increase manufacturing plant utilisation</li>
</ul>
<p>I guess you can see the dilemma.  It can be hard to know which target to aim for.  Am I doing the <strong>Electronics Design</strong> with the product, process, life cycle or ecosystem issues as the primary concern?  And how do I balance these concerns?</p>
<p>Here is one excellent article that also discusses this topic <a title="Gren Supply Line" href="http://www.greensupplyline.com/showArticle.jhtml;jsessionid=5CK1P4VQJP2HTQE1GHRSKHWATMY32JVN?articleID=209900266&amp;queryText=Test" target="_blank"><strong>Green Supply Line</strong></a>.</p>
<h1>Electronics Design can be Green</h1>
<p>One major thing we can do is reduce the product <strong>Power Consumption</strong>.  We are coming out of a phase where a mains plug pack power supply was considered an ideal way to avoid compliance costs when designing new products.  This has led to a proliferation of low efficiency always on powered devices.  A recent look under my desk reveals the problem we have as <strong>Product Developers</strong> where every device I use is either <strong>USB Powered</strong> or mains plug pack powered.</p>
<p>So a first step is to review this whole approach to supplying power to devices.  We have made steady gains in the area of <strong>Power Consumption</strong> reduction for the devices themselves.  Now it is time to do a similar thing on the <strong>Power Supply</strong> side.</p>
<h1>Energy Harvesting</h1>
<p>This is a new area that hasn&#8217;t yet reached mainstream development.  The idea is that you can utilise the ambient environment to get power for free.  Or at least you aren&#8217;t directly requiring extra <strong>Power Generation</strong>.  Hence the name, <strong><em><a title="Energy Harvesting" href="http://en.wikipedia.org/wiki/Energy_harvesting" target="_blank">Energy Harvesting</a></em></strong>.</p>
<p>How you do it and the <strong>Electronics Design</strong> and <strong>Electronics Technology</strong> required to make it work are still being defined but there has been some interesting new progress.  Some key players are:</p>
<p><strong><a title="Linear Technology" href="http://www.linear.com/" target="_blank">Linear Technology</a></strong> &#8211; new <a title="Linear Technology Energy Harvesting Integrated Circtui" href="http://www.linear.com/company/press/pressNewsDisplay.jsp?releaseId=5622" target="_blank"><strong>Energy Harvesting Integrated Circuit</strong></a></p>
<p><a title="Enocean Energy Harvesting" href="http://www.enocean.com/en/" target="_blank"><strong>Enocean</strong></a> &#8211; are front runners in bringing <strong>Self Powered Wireless</strong> devices to the market</p>
<h1>What is Energy Harvesting?</h1>
<p>This is where we use <strong>Electronics Design</strong> and <strong>Electronics Devices</strong> to generate power from the <strong>Ambient Environment</strong>.  The result is a product that doesn&#8217;t need to be plugged in and recharges itself automatically. Some of the <strong>Energy Sources</strong> that are used are:</p>
<ul>
<li>Light</li>
<li>Thermal differentials</li>
<li>Vibration</li>
<li>Chemistry</li>
<li>Pressure differentials</li>
<li>Air Flow</li>
</ul>
<p>One example of a product that does this is the <a title="Enocean Technology" href="http://www.enocean-alliance.org/en/enocean_technology/" target="_blank"><strong>Enocean Light Switch</strong></a> where you can just put it where you want it.  And if you change your mind, just move it. Now wiring required.</p>
<p>Right now the technology is still more expensive and so take up is slow.  But as it develops and the price comes down that will change.</p>
<p>We are in for some interesting times.</p>
<p><span style="COLOR: #000000"><em>Ray Keefe has been developing high quality and market leading electronics products in Australia for nearly 30 years. For more information go to his </em><a title="Ray Keefe at Linked In" onclick="pageTracker._trackPageview('/outbound/article/www.linkedin.com');" href="http://www.linkedin.com/in/raykeefe" target="_blank"><em>LinkedIn</em></a><em> profile. This post is Copyright  Successful Endeavours Pty Ltd. </em></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.successful.com.au/blog/2009/12/07/electronics-design-for-green-manufacture/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Improving Product Development Outcomes</title>
		<link>http://www.successful.com.au/blog/2009/10/27/improving-product-development/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.successful.com.au/blog/2009/10/27/improving-product-development/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 04:38:46 +0000</pubDate>
		<dc:creator>Ray Keefe</dc:creator>
				<category><![CDATA[Electronics Manufacture]]></category>
		<category><![CDATA[Embedded Software]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[code review]]></category>
		<category><![CDATA[Design For Test]]></category>
		<category><![CDATA[Design for testability]]></category>
		<category><![CDATA[design review]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[developing products]]></category>
		<category><![CDATA[Development Principles]]></category>
		<category><![CDATA[Development Process]]></category>
		<category><![CDATA[Development Project]]></category>
		<category><![CDATA[Development Projects]]></category>
		<category><![CDATA[Edward De Bono]]></category>
		<category><![CDATA[manufacturing cost]]></category>
		<category><![CDATA[motor controller]]></category>
		<category><![CDATA[power consumption]]></category>
		<category><![CDATA[predecessor task]]></category>
		<category><![CDATA[Product Development Outcomes]]></category>
		<category><![CDATA[Product Development Principles]]></category>
		<category><![CDATA[Product Development Process]]></category>
		<category><![CDATA[Product Development Projects]]></category>
		<category><![CDATA[product strategy]]></category>
		<category><![CDATA[products for manufacture]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[Project Management Plan]]></category>
		<category><![CDATA[Project Plan]]></category>
		<category><![CDATA[quality assurance]]></category>
		<category><![CDATA[quality management]]></category>
		<category><![CDATA[quality management process]]></category>
		<category><![CDATA[reliably deliver products]]></category>
		<category><![CDATA[revision control]]></category>
		<category><![CDATA[revision control system]]></category>
		<category><![CDATA[Risk Management]]></category>
		<category><![CDATA[risk management priciple]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[Six Thinking Hats]]></category>
		<category><![CDATA[Software Bug]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Successful Product Development]]></category>
		<category><![CDATA[Successful Product Development Principles]]></category>
		<category><![CDATA[Successful Product Development Projects]]></category>
		<category><![CDATA[successful products]]></category>
		<category><![CDATA[team leading]]></category>
		<category><![CDATA[technical requirements]]></category>
		<category><![CDATA[Test Driven Development]]></category>
		<category><![CDATA[Trip Assurance]]></category>
		<category><![CDATA[Unchallenged assumptions]]></category>
		<category><![CDATA[unit tests]]></category>
		<category><![CDATA[unmanaged risks]]></category>

		<guid isPermaLink="false">http://www.successful.com.au/blog/?p=520</guid>
		<description><![CDATA[In this post we will look at the Product Development Process and how to get improved outcomes.  But first here is a fun graphic made from our logo. Product Development Process The Product Development Process is intended to reliably deliver new products for manufacture or distribution.  This is a critical component of a Product Strategy where [...]]]></description>
			<content:encoded><![CDATA[<p>In this post we will look at the <strong>Product Development Process</strong> and how to get improved outcomes.  But first here is a fun graphic made from our logo.</p>
<div id="attachment_559" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-559" title="Successful Endeavours Cube Puzzle" src="http://www.successful.com.au/blog/wp-content/uploads/2009/10/SuccessfulEndeavoursLogoCubePuzzle1.jpg" alt="Successful Endeavours - Making Electronics and Embedded Software Work" width="300" height="309" /><p class="wp-caption-text">Successful Endeavours - Making Electronics and Embedded Software Work</p></div>
<h1><span style="color: #005e20;">Product Development Process</span></h1>
<p><span style="color: #000000;">The <strong>Product Development Process</strong> is intended to reliably deliver new products for manufacture or distribution.  This is a critical component of a <strong>Product Strategy</strong> where you are creating the product rather than sourcing it from a supplier.   So you would think that it should be a highly optimised, well oiled machine that reliably delivers successful products.</span> <span style="color: #000000;">Alas that is not always the case.</span> <span style="color: #000000;">With 30 years of experience in <strong>Developing Products</strong> for a wide range of industries I have seen my share of projects handled well and not so well.</span> <span style="color: #000000;">Here are some general principles I have gleaned from my experience in <strong>Successful Product Development Projects</strong>:</span></p>
<ul>
<li><span style="color: #000000;">Risks must be identified and managed.  Track them and eliminate them as soon as possible.</span></li>
<li><span style="color: #000000;">Anything clever or tricky needs to be checked by someone else.</span></li>
<li><span style="color: #000000;">Everything else also gets checked.  Design reviews, code walk-throughs and prototypes save time, money and heart ache later on.</span></li>
<li><span style="color: #000000;">Hold the timeline.  Foster an attitude that slippage is not acceptable.</span></li>
<li><span style="color: #000000;">Test and check everything.</span></li>
<li><span style="color: #000000;">It&#8217;s not finished until no-one has to do another thing to it.</span></li>
</ul>
<p><span style="color: #000000;">So six core principles.  They are inter related of cousre.  Let&#8217;s look at how these work out in practice.</span></p>
<h1><span style="color: #005e20;">Successful Product Development Principles</span></h1>
<p><span style="color: #000000;">Lets look at how each of these priciples can be used to improve the likelihood of a <strong>Successful Product Development Project</strong>.</span></p>
<h2><span style="color: #005e20;">Risk Management</span><span style="color: #000000;"><img class="aligncenter size-full wp-image-569" title="RiskManagement" src="http://www.successful.com.au/blog/wp-content/uploads/2009/10/RiskManagement.jpg" alt="RiskManagement" width="542" height="286" /></span></h2>
<p><span style="color: #000000;"><strong>Risk Management</strong> is an old idea.  Not surprising since risks have always existed. Did you know that during the <a title="Manhattan Project" href="http://en.wikipedia.org/wiki/Manhattan_Project" target="_blank">Manhattan Project</a> it was determined that there was a chance that a fission bomb could <a title="Nuclear Fission Ignites the Atmosphere" href="http://en.wikipedia.org/wiki/Manhattan_Project#cite_note-23" target="_blank">ignite the whole atmosphere</a> ?  Having got contradictory reports the argument was eventually settled by a report showing that although it was possible, it was unlikely.  How comfortable would you feel running that risk ?</span> <span style="color: #000000;">Fortunately the average <strong>Development Project</strong> is dealing with much more mundane risks such as achieving <strong>Technical Requirements</strong> such as:</span></p>
<ul>
<li><span style="color: #000000;"><em>Power Consumption</em></span></li>
<li><span style="color: #000000;"><em>Unit Manufacturing Cost</em></span></li>
<li><span style="color: #000000;"><em>Performance Criteria</em></span></li>
</ul>
<p><span style="color: #000000;">But the approach is still the same:</span></p>
<ul>
<li><span style="color: #000000;">Identify the risk</span></li>
<li><span style="color: #000000;">Work out how to ameliorate the risk &#8211; reduce it &#8211; or eliminate it</span></li>
<li><span style="color: #000000;">Do tests to confirm the risk has been dealt with</span></li>
<li><span style="color: #000000;">Iterate until it is no longer a risk</span></li>
</ul>
<h2><span style="color: #005e20;">Review the clever bits</span></h2>
<div id="attachment_566" class="wp-caption aligncenter" style="width: 462px"><img class="size-full wp-image-566" title="Test Everything - Clever Design Needs Test" src="http://www.successful.com.au/blog/wp-content/uploads/2009/10/ExtremeTest1.jpg" alt="Test Everything - Clever Design Needs Test" width="452" height="300" /><p class="wp-caption-text">Test Everything - Clever Design Needs Test</p></div>
<p><span style="color: #000000;">Where possible, any particularly clever or tricky areas of the project need to be reviewed by someone not involved in the everyday work of the project.  This is primarily to ensure that assumptions are challenged.  If you can&#8217;t get an outsider to do the review, use a process like <a title="Six Thinking Hats" href="http://en.wikipedia.org/wiki/Six_Thinking_Hats" target="_blank">Six Thinking Hats</a> by <a title="Edward De Bono" href="http://www.edwdebono.com/" target="_blank">Edward De Bono</a> which can allow team members to step outside their emotional and assumptive predispositions.  Unchallenged assumptions are unmanaged risks.</span></p>
<h2><span style="color: #005e20;">Review the rest of the project</span></h2>
<div id="attachment_567" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-567 " title="Review Everything" src="http://www.successful.com.au/blog/wp-content/uploads/2009/10/TestEverything.jpg" alt="Test Everything" width="320" height="224" /><p class="wp-caption-text">Review Everything</p></div>
<p><span style="color: #000000;">The astute amongst would have noticed that I am proposing everything gets reviewed.  But the tricky bits get extra review.  This section is for the regular bits.</span> <span style="color: #000000;">Reviews are an essential tool to find mistakes early and eliminate problems down the track.  You don&#8217;t have to solve a problem you don&#8217;t have.   Or as <strong>Jack Ganssle</strong> famously quipped &#8220;<a title="Skip Bugging, Jack Ganssle" href="http://www.embedded.com/design/testissue/212700467?pgno=1" target="_blank">Skip Bugging To Speed Delivery</a>&#8220;. The whole article refers to using <strong>Code Review</strong> and <strong>Design Review</strong> to find problems early and fix them so they don&#8217;t become much bigger problems later on.</span> <span style="color: #000000;">Imagine a scenario where a <strong>Software Bug</strong> causes an electric motor to try and spin backward every now and again and then corrected itself almost immediately.  You would get a momentary shudder or jerk followed by correct motion and it would only happen every now and again.  How would you determine that this was a software fault and where the fault lay?  It could be symptomatic of any number of issues including <strong>Mechanical Design</strong> and <strong>Electrical Design</strong>.</span> <span style="color: #000000;">How about this similar real world case.  I won&#8217;t mention the company, but their elevators had an <strong>Integer Overflow</strong> problem in the motor controller that caused the elevator to go in the wrong direction, about once a month, for half a floor.  Very disconcerting to the passengers if they pressed up, and promptly dropped half a floor before then going up.  Fortunately they found it and fixed it before it happened to someone at the top or bottom floor.</span> <span style="color: #000000;">All the <strong>Software Industry Metrics</strong> show for that for <strong>Software Development</strong>; <strong>Design Review</strong>, <strong>Code Review</strong>, <strong>Unit Tests</strong> and <strong>System Simulation</strong> save money and time.  And yet in many projects they don&#8217;t happen enough or are done after the event as a <strong>Quality Assurance</strong> box ticking activity where they add mostly cost and little in the way of value.  <a title="Lean Coding, Jack Ganssle" href="http://www.embedded.com/columns/technicalinsights/212200181?_requestid=50590" target="_blank">Lean Coding</a> argues that you can reduce your <strong>Software Development Budget</strong> in particular by doing <strong>Code Inspections</strong> during the project as part of the <strong>Risk Management</strong> and <strong>Quality Management</strong> process. </span><span style="color: #000000;">By reducing the bugging, you can reduce the debugging.</span></p>
<h2><span style="color: #005e20;">Stick to the Timeline</span></h2>
<div>
<div id="attachment_563" class="wp-caption aligncenter" style="width: 240px"><img class="size-full wp-image-563" title="Development Timeline" src="http://www.successful.com.au/blog/wp-content/uploads/2009/10/DevelopmentTimeline.jpg" alt="Project Development Timeline" width="230" height="187" /><p class="wp-caption-text">Project Development Timeline</p></div>
<p><span style="color: #000000;">An attitude that the schedule slipping is normal can be very costly.  Some examples of how to avoid this are:</span></p>
<ul>
<li><span style="color: #000000;"><strong>Develop</strong> and <strong>Simulate</strong> the <strong>Software</strong> before the <strong>Hardware</strong> is ready</span></li>
<li><span style="color: #000000;"><strong>Prototype</strong> early and thoroughly</span></li>
<li><span style="color: #000000;">buy in <strong>IP</strong> where it makes financial sense &#8211; this can also reduce risk</span></li>
<li><span style="color: #000000;">get expert assistance with areas outside your competence</span></li>
<li><span style="color: #000000;">review regularly and honestly</span></li>
</ul>
<p><span style="color: #000000;">As someone who has done a lot of team leading and project management, I have learned to ask about progress in more than one way.  I find the following to be very common:</span> <span style="color: #000000;">Manager: </span><span style="color: #000000;">&#8220;This module is estimated as 10 days of work to complete.  How complete is it&#8221;? Developer: &#8220;About 80%&#8221;. Manager: &#8220;How many more days of work are required to fully finish everything&#8221;? Developer: &#8220;To fully finish everything, I would think 6 more days would cover it all&#8221;.</span> <span style="color: #000000;">The discrepancy is easy to spot.  People estimate high on progress because they want to please.  They also like to finish well so they tend to estimate conservatively on required effort.  In practice the real answer lies somewhere between the 2 extremes.  If the task had already consumed 6 days of effort then it is likely to run late.</span> <span style="color: #000000;">If you have ever built a house you might have experienced the knock on effect it has when one trades person doesn&#8217;t turn up and everyone else misses their scheduled action time because they are now waiting on a predecessor task, the trades person who has to come back again, before they can start their task.  The same thing happens on projects.</span> <span style="color: #000000;">So fight hard to hold to the schedule.  It is better to over resource a task (according to the plan) and get it done than to let everything and everyone slip which usually costs a lot more.</span> <span style="color: #000000;">Additionally, it is quite common that the later you are in the market, the lower the overall profit.  So it is worth holding the schedule for this reason as well.</span></p>
<h2><span style="color: #005e20;">Test and Check Everything</span></h2>
<div><span style="color: #000000;"> </span></div>
<div id="attachment_568" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-568" title="Test Everything" src="http://www.successful.com.au/blog/wp-content/uploads/2009/10/CERN.jpg" alt="Test Everything" width="300" height="195" /><p class="wp-caption-text">Test Everything</p></div>
<p><span style="color: #000000;">This is another <strong>Risk Management</strong> related principle. Don&#8217;t assume it will be OK.  Even if you have done it 100 times before, test it again this time.   Make sure it really is OK.  This ensures it really is 100% complete.</span> <span style="color: #000000;">This also implies that you are going to design things so they can be tested.  Another principle.  <strong>Design For Testability</strong> or somestimes called <strong>Design For Test</strong>. Do it.  It will save you time, effort, money and sleep.</span> <span style="color: #000000;"><strong>Test Driven Development</strong> is another example of a <strong>Modern Development Methodology</strong> where you set up the test first then develop the product so it passes the test.  If the <strong>Product Requirements</strong> change, you change the tests first, show that the old <strong>Product Design</strong> fails the test, then update the <strong>Product Design</strong> until it now passes the test.</span></p>
<h2><span style="color: #005e20;">It is not finished until no-one has to do anything else to it</span></h2>
<p><span style="color: #000000;">Many tasks are called complete but they aren&#8217;t.  The documents might be checked into the <strong>Revision Control System</strong>, also known as a <strong>Version Control System</strong> or <strong>Version Management System</strong>,  but it isn&#8217;t complete until it is 100% tested, 100% integrated, 100% reviewed and 100% signed off and no-one has to do another thing.</span> <span style="color: #000000;">This also means that when tasks are identified that weren&#8217;t thought of in the original <strong>Project Plan</strong>, you then add them and don&#8217;t try and fiddle them into existing tasks.  This is different to working out the fine detail of a task and realising it is under resourced or over resourced on the <strong>Project Plan</strong>.</span> <span style="color: #000000;">You also want the extra tasks visible on the <strong>Project Management Plan</strong> so when you do the next project you have evidence that they were required last time and can make allowances for them.</span></p>
<h1><span style="color: #005e20;">Trip Assurance for Developers</span></h1>
<div id="attachment_572" class="wp-caption aligncenter" style="width: 235px"><img class="size-full wp-image-572" title="Satisfaction Guaranteed" src="http://www.successful.com.au/blog/wp-content/uploads/2009/10/SatisfactionGuaranteed.jpg" alt="Satisfaction Guaranteed" width="225" height="183" /><p class="wp-caption-text">Satisfaction Guaranteed</p></div>
<p><span style="color: #000000;">In marketing, the term Trip Assurance refers to the client having a clear expectation of this transaction or experience being a good one, just like every other one has been.  I think we can begin to develop some of the same as developers whereby projects can be routinely good experiences and likely to be so each time.</span></p>
<p> This post is also available as an <a title="Improving Product Development Outcomes" href="http://ezinearticles.com/?id=3197691" target="_blank">eZine article</a> with <a title="Ray Keefe" href="http://ezinearticles.com/?expert=Ray_Keefe" target="_blank">Expert Author</a> classification.</p>
<p><span style="color: #000000;"><em>Ray Keefe has been developing high quality and market leading electronics products in Australia for nearly 30 years.  For more information go to his </em><a title="Ray Keefe at Linked In" onclick="pageTracker._trackPageview('/outbound/article/www.linkedin.com');" href="http://www.linkedin.com/in/raykeefe" target="_blank"><em>LinkedIn</em></a><em> profile. This post is Copyright © Successful Endeavours Pty Ltd.</em></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.successful.com.au/blog/2009/10/27/improving-product-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Electronics Design and Embedded Software Capability</title>
		<link>http://www.successful.com.au/blog/2009/10/15/electronics-design-and-embedded-software-capability/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.successful.com.au/blog/2009/10/15/electronics-design-and-embedded-software-capability/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 02:01:17 +0000</pubDate>
		<dc:creator>Ray Keefe</dc:creator>
				<category><![CDATA[Analogue Electronics]]></category>
		<category><![CDATA[Electronics Manufacture]]></category>
		<category><![CDATA[Embedded Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[made in Australia]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[Electronics and Embedded Software]]></category>
		<category><![CDATA[electronics design]]></category>
		<category><![CDATA[Electronics Industries]]></category>
		<category><![CDATA[Electronics Manufacturers]]></category>
		<category><![CDATA[Embedded Software Development]]></category>
		<category><![CDATA[Embedded Software Technologies]]></category>
		<category><![CDATA[Shift Happens]]></category>
		<category><![CDATA[Wordle]]></category>

		<guid isPermaLink="false">http://www.successful.com.au/blog/?p=471</guid>
		<description><![CDATA[Electronics Manufacturers are the people we serve A common question we are asked is what sort of Electronics Manufacturers do we Develop Products for? So I thought I would compile 3 lists: The first is a list of the Electronics and Embedded Software product types we have worked on The second list is a list of [...]]]></description>
			<content:encoded><![CDATA[<h1>Electronics Manufacturers are the people we serve</h1>
<p>A common question we are asked is what sort of <strong><span style="color: #005e20;">Electronics Manufacturers</span></strong> do we <strong>Develop Products</strong> for?</p>
<p>So I thought I would compile 3 lists:</p>
<ul>
<li>The first is a list of the <strong>Electronics and Embedded Software</strong> product types we have worked on</li>
<li>The second list is a list of the industries we have <strong>Developed Products</strong> for</li>
<li>And the third list is the <strong>Technologies</strong> we have worked with so far</li>
</ul>
<p>I might have to regularly update this third list since knowledge and technology are constantly expanding.  Before I do the lists I&#8217;d like to present a video that specifically addresses this last point.  This is very much worth thinking about.  Enjoy.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/ljbI-363A2Q&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/ljbI-363A2Q&amp;hl=en&amp;fs=1&amp;" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<h2>Electronics and Embedded Software Products</h2>
<p>Did you notice the section from 1:45 to 2:15?  We are being prepared for jobs that don&#8217;t yet exist, technologies that haven&#8217;t been invented, and problems we don&#8217;t even know we will have!</p>
<p>Here is the list of some of the <strong><em><span style="color: #005e20;">Electronics and Embedded Software Products</span></em></strong> that do already exist and which we have helped to create:</p>
<p><span id="more-471"></span></p>
<p> </p>
<ul>
<li>Automotive Siren</li>
<li>Automotive Immobiliser</li>
<li>Automotive Body Computer</li>
<li>Automotive Thermostat Monitor</li>
<li>Industrial Shock and Vibration Sensor</li>
<li>2D shock sensor with event logging and shock profile capture</li>
<li>3D shock sensor with event logging and shock profile capture</li>
<li>2D tilt sensor</li>
<li>3D tilt sensor</li>
<li>Remote Thermostat Monitor</li>
<li>Electronic level sensor &#8211; gravitic spirit level</li>
<li>Underground Cable Sheath Fault Locator</li>
<li>Pipe and Cable Locator</li>
<li>Cable Pair Identifier</li>
<li>Cable Cutover Set</li>
<li>Cable Fault Locator Bridge</li>
<li>Circuit Tracer</li>
<li>Portable Appliance Tester &#8211; PAT</li>
<li>Time Domain Reflectometer</li>
<li>Voltage Surge Arrestors</li>
<li>Automated Switch Tester &#8211; high volume production</li>
<li>Water Pump Controller</li>
<li>Programmable Air Blower</li>
<li>Pool and Spa Pump Controller</li>
<li>Touchpad Pump and Blower Controller</li>
<li>Pump Controller Protocol Converter</li>
<li>LCD Based Spa Controller</li>
<li>Temperature Probe</li>
<li>Thermal Cutout for Spa</li>
<li>Humidity Sealed Touchpad</li>
<li>Electrically Isolated Air Plunger Actuator</li>
<li>Digital Pump State Controller</li>
<li>Thermistor Based Temperature Sensor</li>
<li>Underwater LED Pool Light</li>
<li>Pump Loss Of Prime Detector</li>
<li>Earth Leakage Measurement device for Safety Certification</li>
<li>Loading Coil Crosstalk Measurement Tester with 120dB range</li>
<li>ADSL Service Detector</li>
<li>Communications Set for Telephony Service Technicians</li>
<li>Wireless Data Logger</li>
<li>Corrosion Protection Data Logger</li>
<li>High Voltage Disconnect Switch Controller</li>
<li>Electrically Held Switch</li>
<li>Temperature Controller for Reptiles</li>
<li>Smoke Alarm Repeater and Exit Indicator</li>
<li>Electromagnet Therapy Apparatus</li>
<li>Fork Lift Speed Limiter</li>
<li>Personnel Proximity Alerter using active RFID</li>
<li>Fork Lift Proximity Alerter using active RFID</li>
<li>Power Factor Correction controller</li>
<li>Ultra Low Power Battery Operated Telemetry</li>
<li>Septic Tank Sludge Level Meter</li>
<li>PIR Based Vandal Displacer</li>
<li>Bin Cycle Reminder</li>
<li>Parallel Banked High Current Capacity Battery Charger</li>
<li>UPS Battery Bank Controller</li>
<li>Trickle Charge Battery Manager</li>
<li>Epidural Procedure Simulator</li>
<li>Air Ram based Saline Syringe Simulator</li>
<li>USB Air Solenoid Valve Controller</li>
<li>Bluetooth Based RS232 Extender</li>
<li>Conveyor Belt Controller</li>
<li>Programmable Conveyor Step Controller</li>
<li>Gate Entry Keypad</li>
<li>Gate Entry Touchscreen</li>
<li>Horse Tracker with GPS</li>
<li>Kick Boxing Impact Measurement Device</li>
<li>Infra Red based communications system &#8211; IR</li>
<li>IR Vehicle Identification System</li>
<li>RFID Vehicle Identification System</li>
<li>Industrial Proximity Card Reader MiFare</li>
<li>Industrial Proximity Card Reader HID iClass</li>
<li>Industrial Proximity Card Reader HID Proxcard II</li>
<li>Industrial Proximity Card Reader Indala</li>
<li>Industrial iButton Reader</li>
<li>Protocol Converters For Security Systems</li>
<li>USB iButton Reader</li>
<li>RS232 iButton Reader</li>
<li>Wireless iButton Reader</li>
<li>Rugged Vehicle Management System</li>
<li>Automatic Rain Tank Valve Controller</li>
<li>Tyre Pressure Measurement and Reporting System for Trucks</li>
<li>Vehicle Area Network using Wireless Communications</li>
<li>iButton based Vehicle Access Controller with Event Logging</li>
<li>Custom Audio Mixer for English Language Training Assessment</li>
<li>Automated In System Programmer for Production</li>
<li>Countdown Screensaver for the Olympics</li>
<li>Studio Quality Microphone Preamplifier with Phantom Power</li>
<li>Studio Quality Instrument Interface</li>
<li>Passive DI</li>
<li>Brushless DC Motor Controller &#8211; BLDC</li>
<li>RS232 Based CRO for Windows</li>
<li>USB Based CRO for Windows</li>
<li>Differential Voltage Buffer for Data Logging</li>
<li>FLEXIO Platform Remote IO with Data Logging</li>
<li>Windows Based Fractal Generator Software</li>
<li>Windows Based GPS Tracking Software</li>
<li>Graphical Data Visualisation for Windows</li>
<li>Data Logger File Format Converter</li>
<li>RGB LED Lighting Controller</li>
<li>RS232 Protocol Analyser</li>
<li>RS232 Data Capture Wizard</li>
<li>Transit Sentinel Shock and Tilt Monitor for goods in transit</li>
<li>Industrial Timer Module</li>
<li>Concentrated Solar Power Dish Controller</li>
<li>Programmable Lathe</li>
<li>Safeturn Bicycle Turn Indicator</li>
<li>Container Terminal Vehicle Management and Container Tracking System</li>
<li>Exit Gate Access Controller</li>
<li>Truck Parking Wireless Keypad</li>
<li>Hand Held Vehicle Access Updater</li>
<li>Dashboard Mounted Intelligent Alert Module</li>
<li>Dashboard Mounted LCD Module with Keypad</li>
<li>RS232 Port Multiplexer</li>
<li>Active RFID 2D positioning System</li>
<li>Digital Compass</li>
<li>Load Dump Protected Power Supply</li>
<li>Load Dump Protection Module for Vehicle Mounted Telemetry</li>
<li>Remote Fuel Level Monitoring</li>
<li>PLC Protocol Converter</li>
<li>Infra Red 2D positioning System &#8211; IR</li>
<li>Lightning Protection Interface</li>
</ul>
<p> </p>
<p>Here is what it looks like visually.  I used <a title="Wordle" href="http://www.wordle.net" target="_blank"><strong>Wordle</strong></a> to create this.</p>
<div id="attachment_485" class="wp-caption aligncenter" style="width: 528px"><img class="size-full wp-image-485  " title="Electronics and Embedded Software Products" src="http://www.successful.com.au/blog/wp-content/uploads/2009/10/Electronics_Products.jpg" alt="Electronics and Embedded Software Products" width="518" height="246" /><p class="wp-caption-text">Electronics and Embedded Software Products</p></div>
<h2>Electronics Industries</h2>
<p>Now for the list of industries we have supported with <strong><em><span style="color: #005e20;">Electronics Design and Embedded Software Development</span></em></strong>:</p>
<ul>
<li>Container Terminals</li>
<li>Container Terminal Management Systems</li>
<li>Fleet Vehicle Management</li>
<li>Container Tracking</li>
<li>Vehicle Access and Management</li>
<li>Vehicle Tracking</li>
<li>Industrial Telemetry</li>
<li>Renewable Energy Generation</li>
<li>Telecommunications Carriers</li>
<li>Warehouses</li>
<li>Road Freight</li>
<li>Rail Freight</li>
<li>Sea Freight</li>
<li>Domestic Pools</li>
<li>Domestic Spas and Spa Baths</li>
<li>Commercial Pools</li>
<li>Irrigation</li>
<li>Farming</li>
<li>Telephony Carriers</li>
<li>Telephony Service Technicians</li>
<li>Plumbers</li>
<li>Trench Diggers</li>
<li>Excavators</li>
<li>Automotive Assemblers</li>
<li>Automotive After Market</li>
<li>Security</li>
<li>Councils</li>
<li>Churches</li>
<li>Not For Profit Agencies</li>
<li>Charities</li>
<li>Electronics Manufacturers</li>
<li>OEM</li>
<li>Capital Asset Management</li>
<li>Pipeline Integrity Monitoring</li>
<li>Storage Tank Integrity Monitoring</li>
<li>Solar Power Conversion</li>
<li>Wired Telemetry</li>
<li>Wireless Telemetry</li>
<li>Tamper Detection</li>
<li>Remote Asset Monitoring</li>
<li>Bicycle Safety</li>
<li>Fork Lift Safety</li>
<li>OH&amp;S</li>
<li>High Voltage Power Distribution</li>
<li>Electrical Safety Testing and Certification</li>
<li>Goods in Transit Monitoring</li>
<li>RFID</li>
<li>Automotive Load Dump Protection</li>
<li>Data Logging</li>
<li>Data Visualisation</li>
<li>Legacy System Support</li>
<li>IR Communications</li>
<li>Fuel Monitoring</li>
<li>LED Lighting and Illumination</li>
<li>Full Colour Control Lighting</li>
<li>Cable Video</li>
<li>ESD Protection</li>
<li>Lightning Protection</li>
<li>Exporters</li>
<li>Web Services Developers</li>
<li>Power Supplies</li>
<li>English Language Training</li>
<li>Medical Training</li>
<li>Sewage</li>
<li>Septic Tanks</li>
<li>Electricians</li>
<li>Technicians</li>
<li>Software Developers</li>
<li>Embedded Software Developers</li>
<li>Medical Practitioners</li>
<li>Councils</li>
<li>Ratepayers</li>
<li>Tenants</li>
<li>Automotive Component Manufacturers</li>
<li>Precision Machining</li>
<li>Repetition Machining</li>
<li>Repetition Engineering</li>
<li>Authors</li>
<li>Musicians</li>
<li>Studio Technicians</li>
<li>Recording Studios</li>
<li>Live Audio Mixing</li>
<li>Music Equipment Manufacturers</li>
<li>Test Equipment Manufacturers</li>
<li>Power Distribution Equipment Manufacturers</li>
</ul>
<p>And a wordle of this:</p>
<div id="attachment_494" class="wp-caption aligncenter" style="width: 474px"><img class="size-full wp-image-494  " title="Electronics and Embedded Software Industries" src="http://www.successful.com.au/blog/wp-content/uploads/2009/10/Electronics_Industries.jpg" alt="Electronics and Embedded Software Industries" width="464" height="342" /><p class="wp-caption-text">Electronics and Embedded Software Industries</p></div>
<h2>Electronics and Embedded Software Technologies</h2>
<p>And the third list is the <strong><em><span style="color: #005e20;">Electronics and Embedded Software technologies</span></em></strong> we have worked with so far (but <strong>Shift Happens</strong> so it will continue to expand):</p>
<ul>
<li>Printed Circuit Board Design</li>
<li>Printed Circuit Board Layout</li>
<li>Surface Mount</li>
<li>Through Hole</li>
<li>Track, Pad, Via, Buried Via, Plane, Power Plane, Layer</li>
<li>Connector, joint, plug, socket, inline</li>
<li>Wire, Cable, Harness, Bundle, Screen, Shield</li>
<li>Strip, Crimp, Insulation Displacement, Crush</li>
<li>Cable Tie, Grommet, Edge Strip, Trim</li>
<li>IP40, IP54, IP64, IP65, IP66, IP67, IP68 enclosures</li>
<li>Battery Powered</li>
<li>Mains Powered</li>
<li>Solar Powered</li>
<li>Energy Harvesting</li>
<li>RS232, RS422, RS485</li>
<li>USB</li>
<li>TCP/IP</li>
<li>Ethernet</li>
<li>GSM, GPRS, CDMA, HDSPA</li>
<li>Battery Backed Real Time Clock &#8211; RTC</li>
<li>Battery Backup</li>
<li>FLASH memory</li>
<li>Electronic Circuit Simulation</li>
<li>Electronic Circuit Design</li>
<li>Electronic Circuit Prototype</li>
<li>EMC Testing</li>
<li>C-Tick, A-Tick, CE, FCC, TUV, CSA, UL, CISPR, AS</li>
<li>Safety Testing</li>
<li>Microcontrollers</li>
<li>8 Bit, 16 Bit, 32 Bit</li>
<li>Windows</li>
<li>DOS</li>
<li>Linux</li>
<li>Analogue Electronics</li>
<li>Power Electronics</li>
<li>Stepper Motor Controller</li>
<li>Brushless DC motor Controller &#8211; BLDC</li>
<li>DC Motor Controller</li>
<li>Speed Control</li>
<li>Position Control</li>
<li>GPS</li>
<li>ASK, OOK, FSK, PSK, QPSK</li>
<li>iButton</li>
<li>Thermistor</li>
<li>Resistor</li>
<li>Capacitor</li>
<li>Bipolar Transistor</li>
<li>MOSFET</li>
<li>CMOS</li>
<li>LED</li>
<li>Inductor</li>
<li>Coil</li>
<li>Choke</li>
<li>Transformer</li>
<li>Winding</li>
<li>Component, Part</li>
<li>Parts List, BOM, Bill Of Materials, Kit</li>
<li>Charge Pump</li>
<li>Switch Mode Power Supply &#8211; SMPS</li>
<li>Passive Filter</li>
<li>Active Filter</li>
<li>Low Pass Filer, Band Pass Filter, High Pass Filter, Notch Filter</li>
<li>SCR, Triac, Diac</li>
<li>Diode</li>
<li>Schottky Diode</li>
<li>IGBT</li>
<li>Overvoltage Protection</li>
<li>Load Dump Rated</li>
<li>Supercap, Super Capacitor</li>
<li>Tuned Circuit</li>
<li>Switch, Microswitch, Rotary Switch, Momentary Contact Switch, Latching</li>
<li>Relay, Latching Relay, Bistable Relay, Mechanical Relay</li>
<li>Solid State Switch</li>
<li>Pot, Potentiometer, Trimpot, Linear Potentiometer, Slider, Fader</li>
<li>solder, lead free, ROHS, solderless, solder free, soldering iron, solder bath, desolder</li>
<li>encapsulate, pot, conformal coating, seal, water tight, water proof, weather proof</li>
<li>sensor, MEMS, strain gauge, accelerometer, gyroscope, gyro</li>
<li>piezo, piezo film, piezo resistive</li>
<li>beeper, buzzer, speaker, microphone</li>
<li>PIR, IR, LVD, LDS</li>
<li>Battery Charger, Battery Management</li>
<li>Antenna</li>
<li>Trasnsmitter, Receiver, Transceiver, Line Driver</li>
<li>CAN, LIN, J1939, Packet, Checksum, CRC, Forward Error Correction, ECC, Error Correction Coding</li>
<li>UDP, TCP, HTTP, IP, FTP, SMTP, SNMP, SNAP, RSS, Streaming, Stream</li>
<li>Secure, Encryption, AES, DES, Triple DES</li>
<li>Low Power Radio</li>
<li>Ultra Low Power, Pico Power, Microwatt, Milliwatt, Watt</li>
<li>IC, Integrated Circuit, Silicon Chip, Chip, Module, Assembly</li>
<li>Assembler, C, Source Code, File, C++, Delphi, programming language</li>
<li>AC, DC, Hertz, Hz, Frequency, UHF, VHF, AM, FM</li>
<li>2.4G, 315MHz, 433MHz, 433.92MHz, 434MHz, 868.3MHz, 915MHz</li>
<li>Unit Test, Integration Test, System Test, Verification, Validation</li>
<li>Specification, Functional Test, Test Specification, Test Plan</li>
<li>Coding, Debug, Debugging, Allocation Matrix, Review, Peer Review</li>
<li>Code Review, Code Walkthrough, Test Suite, Test Driven Development</li>
<li>Functional Test, Stress Test, Thermal Stress, Accelerated Life test</li>
<li>Design Documentation, Architecture, Achitectural Design</li>
<li>FMEA, Design Audit, Design Review</li>
<li>Mock, Simulate, Simulation, System Simulation</li>
<li>JTAG, ISP, Debug Wire</li>
<li>Bootloader, module, system, embedded system, embedded software</li>
<li>Firmware, Hardware, Software, FPGA, EPLD, CPLD</li>
<li>Altium Designer, Protel, IAR, Borland, Code Gear, Microsoft, Embarcadero Technologies</li>
<li>SDL, Doxygen, GraphViz, ESB, Gimple PC-Lint, RSM, Greenleaf, Novamind</li>
<li>VMWare, Virtualisation, Solidworks, Ultraedit, Ultraedit Studio, Programmers Notepad, Eclispe</li>
<li>RAM, ROM, FLASH, EEPROM, Peripheral, Port, Register, Memory, Harvard, Address Space</li>
<li>Call, Routine, Subroutine, Pass, Pointer, Parameter, Return, Global, Static, Local, Table</li>
<li>Compile Time, Run Time, Design Time, Type Safe, Execution, Boot, Reset, Reboot</li>
<li>Abstract, Encapsulate, Embed, Hide, Structure, Class, Object</li>
<li>Power Up, Power On, System Startup, Run, Launch</li>
<li>Multiply, Multiplier, Analogue Multiplier, PLL, Phase Locked Loop</li>
<li>Comparator, Amplifier, Operational Amplifier, Gain, Phase, Margin</li>
<li>Buffer, Gate, OR, XOR, AND, NOR, NAND, NEXOR, NXOR</li>
<li>Dual, Triple, Quad, Hex</li>
<li>Binary, Boolean, Octal, Decimal, Hexadecimal, Base 2, Base 8, Base 10, Base 16</li>
<li>Pole, Zero, Stable, Transfer Function, Laplace Transfer, FFT, DCT</li>
<li>Time Domain, Frequency Domain, Phase Domain</li>
<li>First order, second order, third order</li>
<li>Differential equation, rate, delta, change</li>
<li>debounce, median, range check, bound, time constant</li>
<li>settling time, conversion time, ADC, dual slope, DAC, Multiplexer</li>
<li>Analogue Switch, Router, Address, Data, IO, input, output</li>
<li>Timer, Input Capture, Watchdog, Brown Out Detector</li>
<li>UART, USART, I2C, TWI, SPI, Microwire, Bit Bang</li>
<li>Operating System, Scheduler, Timed Task, Scheduled Task</li>
<li>Round Robin, Poll, Polled, Preemption, Premptive</li>
<li>Multitasking, Multitask, Interrupt, Volatile Data</li>
<li>Diagnostic, Error, Error Manager, Error Log, Fault</li>
<li>Audio, Electret, Headphone, Crosstalk, Intermodulation Distortion</li>
<li>Low Noise, Low Distortion, Preamplifier</li>
<li>Instrumentation Amplifier, Balanced Circuit, Hum Immunity</li>
<li>Interference, Rejection, Transducer</li>
<li>Noise, Signal, DSP, Process</li>
<li>Motor, Haptic, Feedback, Resist</li>
<li>Sleep, Wake, Shutdown, Halt</li>
<li>Clock, Oscillator, Crystal, RC</li>
<li>Atmel, AVR, ARM, TI, MSP430, TMS320C, Microchip, PIC,</li>
<li>6805, 6801, 8085, 80188, 80186, 80&#215;86, 6502, LPC2000</li>
<li>NEC, 78K, V850, Freescale, On Semiconductor, NXP, Analog Devices</li>
<li>SAM7, Arm Cortex, Vector</li>
</ul>
<p>OK.  That is a lot and I&#8217;m not fully done even.  Here is the Wordle.</p>
<div id="attachment_501" class="wp-caption aligncenter" style="width: 407px"><img class="size-full wp-image-501  " title="Electronics and Embedded Software Technology" src="http://www.successful.com.au/blog/wp-content/uploads/2009/10/Electronics_Technology1.jpg" alt="Electronics and Embedded Software Technology" width="397" height="248" /><p class="wp-caption-text">Electronics and Embedded Software Technology</p></div>
<p><em>Ray Keefe has been developing high quality and market leading electronics products in Australia for nearly 30 years.  For more information go to his </em><a title="Ray Keefe at Linked In" onclick="pageTracker._trackPageview('/outbound/article/www.linkedin.com');" href="http://www.linkedin.com/in/raykeefe" target="_blank"><em>LinkedIn</em></a><em> profile. This post is Copyright © Successful Endeavours Pty Ltd.</em></p>
<p><em> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.successful.com.au/blog/2009/10/15/electronics-design-and-embedded-software-capability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reducing Electronics and Embedded Software Product Development Costs</title>
		<link>http://www.successful.com.au/blog/2009/07/27/reducing-electronics-and-embedded-software-product-development-costs/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.successful.com.au/blog/2009/07/27/reducing-electronics-and-embedded-software-product-development-costs/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 23:27:02 +0000</pubDate>
		<dc:creator>Ray Keefe</dc:creator>
				<category><![CDATA[Electronics Manufacture]]></category>
		<category><![CDATA[Embedded Software]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[code coverage]]></category>
		<category><![CDATA[code reviews]]></category>
		<category><![CDATA[coding standards]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[Electronics and Embedded Software]]></category>
		<category><![CDATA[embedded projects]]></category>
		<category><![CDATA[low cost electronics manufacture]]></category>
		<category><![CDATA[Low Cost Software Development]]></category>
		<category><![CDATA[minimise software development cost]]></category>
		<category><![CDATA[overruns]]></category>
		<category><![CDATA[Pareto]]></category>
		<category><![CDATA[Pareto Principle]]></category>
		<category><![CDATA[PC-Lint]]></category>
		<category><![CDATA[Product Development Costs]]></category>
		<category><![CDATA[RSM]]></category>
		<category><![CDATA[Software debugging]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Static analysis]]></category>
		<category><![CDATA[Unit testing]]></category>

		<guid isPermaLink="false">http://www.successful.com.au/blog/?p=73</guid>
		<description><![CDATA[First some basic statistics that made me think about this issue a bit more:  Software development is responsible for 80% of the delays and complications associated with designing a new product.  Source Embedded Forcast 80% of embedded projects are delivered late.  Source Embedded.com Software typically consumes 80% of the development budget.  Digital Avionics Handbook and Embedded.com [...]]]></description>
			<content:encoded><![CDATA[<p>First some basic statistics that made me think about this issue a bit more:</p>
<ul>
<li><em><strong> Software development is responsible for 80% of the delays and complications associated with designing a new product.  Source </strong></em><a title="Embedded Forecast" href="http://embeddedforecast.com/REDUML_0304.pdf" target="_blank"><em><strong>Embedded Forcast</strong></em></a></li>
<li><em><strong>80% of embedded projects are delivered late.  Source </strong></em><a title="Embedded.com" href="http://www.embedded.com/columns/technicalinsights/161600589?_requestid=41147" target="_blank"><em><strong>Embedded.com</strong></em></a></li>
<li><strong><em>Software typically consumes 80% of the development budget.  </em></strong><a title="Digital Avionic Handbook" href="http://books.google.com.au/books?id=gOgqANlmEYYC&amp;pg=PT207&amp;lpg=PT207&amp;dq=embedded+software+development+cost+80%25+budget&amp;source=bl&amp;ots=958so3Tmit&amp;sig=cjsNUTEQtTEJMPaaXlGyrS3etN4&amp;hl=en&amp;ei=hZRmSq2UK4X0sQPcivniDg&amp;sa=X&amp;oi=book_result&amp;ct=result&amp;resnum=5" target="_blank"><strong><em>Digital Avionics Handbook</em></strong></a><strong><em> and </em></strong><a title="Embedded.com" href="http://www.embedded.com/design/testissue/218401031?pgno=7" target="_blank"><strong><em>Embedded.com</em></strong></a></li>
<li><em><strong>80% of software projects are unsuccessful  </strong></em><a title="IBM" href="http://www.ibm.com/developerworks/websphere/library/techarticles/0306_perks/perks2.html" target="_blank"><em><strong>IBM</strong></em></a></li>
</ul>
<p>That is a lot of 80% figures associated with the software component of product development.</p>
<p>So working from the <a title="Pareto Principle" href="http://en.wikipedia.org/wiki/Pareto_principle" target="_blank"><strong>Pareto Principle</strong></a> it is clear that product development success and cost can be most improved by addressing the <strong>Software Development</strong> component.  In my recent post on <a title="Reducing Electronics Manufacturing Parts Cost" href="http://www.successful.com.au/blog/2009/05/21/reducing-electronics-manufacturing-parts-cost/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" target="_blank"><strong>Reducing Electronics Manufacturing Parts Cost</strong></a> I argued that increasing the software component can reduce the hardware costs.  Which is a great idea as long as it doesn&#8217;t introduce an even more expensive problem. </p>
<p>I agree with <a title="Jack Ganssle" href="http://www.embedded.com/design/testissue/218401031?pgno=6" target="_blank"><strong>Jack Ganssle</strong></a> in his article looking at tools where he points out that software quality tools are often not budgetted for yet will find many classes of defect quickly and at a significantly lower cost than the test and debugging  effort required to find them after integration with the rest of the project.  Or put another way, the cheapest way to get rid of bugs is not to introduce them in the first place &#8211; <a title="Lean Coding" href="http://www.embedded.com/columns/technicalinsights/212200181?_requestid=51019" target="_blank"><strong>Lean Coding</strong></a>.</p>
<p>Since we mainly develop in C and C++, this is what we do to ensure we minimise software development cost and overruns:</p>
<h1>Static analysis and code reviews</h1>
<p>We use static analysis and code quality tools such as <a title="PC-Lint" href="http://www.gimpel.com/" target="_blank"><strong>PC-Lint</strong></a> and <a title="RSM" href="http://www.msquaredtechnologies.com/" target="_blank"><strong>RSM</strong></a> and integrate them into our editors and IDEs so we can run the tests are part of our build or at the very least with a single click covering either the current file or the current project.  These tools find flaws you are hard pressed to identify by visual inpection and I believe they pay for themselves within a month of purchasing them.  They can also enforce coding standards.  Another great benefit is that when you do a code walkthrough and review, you are not looking for these classes of faults explicitly because you know the toolset will find them for you.  So the first thing you do is run the tests and focus on anything found there.</p>
<p>Code reviews save money.  Every issue identified in a code review is an issue you don&#8217;t have to debug later on. And another person is going to look at your code without the same assumptions you would so they will see the things you miss.  It just makes sense to do it.  Software debugging is more expensive than coding so not bugging in the first place is good budget management.</p>
<p>Smart Bear Software have an excellent whitepaper you can download for free that covers <a title="Smart Bear Software" href="http://smartbear.com/" target="_blank"><strong>best practices of peer code review</strong></a>  and if this is a new idea to you, then I strongly recommend you get the whitepaper as they have distilled a lifetimes worth of learnign in this area into a concise and easily implementable strategy to improve code quality.</p>
<h1>Unit testing</h1>
<p>Next, we unit test.  A huge benefit of this is that you have to think about test and it makes you think about error handling in the design phase.  Many problems in implementing embedded systems come from not handling errors consistently.  Sometimes they aren&#8217;t handled at all!  In <a title="Jack Ganssle" href="http://www.embedded.com/columns/embeddedpulse/9900745?_requestid=58703" target="_blank"><strong>Failure is an option</strong></a> this gets explored a little.  Someone else once suggested that software developers were the most optimistic people on the market &#8211; you can tell this is true by looking at how they handle exceptions!  I&#8217;m not sure who said it so if you know then post a comment and I&#8217;ll credit them and provide a link too if you have one.</p>
<h1>Integration testing</h1>
<p>Integration testing itself does not have to be overly complex.  You want to know that things work and it is often easier to write a cut down system to manage the test process.  This way you are proving that each susbsystem is present and correct before doing the full scale system test.  This is an area that often gets overcomplicated.  Don;t try and do more here than you have to.</p>
<p>Oh, and by the way, just because something builds don&#8217;t mean it passes the integration test.  Some things to cover are:</p>
<ul>
<li><strong><em>software manifest &#8211; do I have the right version of each module?</em></strong></li>
<li><strong><em>data flow &#8211; do the higher level calls get at the right data lower down?</em></strong></li>
<li><strong><em>exceptions &#8211; do error returns get passed back?</em></strong></li>
<li><strong><em>exceptions again &#8211; if you raise exceptions, do they get acted on?</em></strong></li>
<li><strong><em>communications &#8211; does it communicate? </em></strong></li>
<li><strong><em>IO &#8211; are they mapped to the right pins and peripherals?</em></strong></li>
</ul>
<h1>Simulation</h1>
<p>For some systems or subsystems we write fully fledged PC mocks around the code and ensure it handles all the parameter and error cases correctly and that all the functions are correctly implemented.  This is a form of integration testing that proves the software component of the system is doing what it is meant to but goes a lot further to fully excercise part of it.  And since 80% of the problems come from software this is a very effective way of reducing bugs and difficult to track down system defects that are expensive on time and resources to cover in real time operating tests.</p>
<p>To do this, you have to abstract the interface so the code can run in the embedded version or the PC version without any changes.  This is easy to do if you think about it in advance.</p>
<p>One word of caution; the PC has a lot more resources and clock speed available compared to a smaller embedded system so this is not a substitue for testing on the real hardware to ensure execution latency is acceptable.</p>
<p>And for the purposes of this post, the PC could just as easily be a <a title="Linux" href="http://www.linux.org/" target="_blank">Linux</a> or <a title="Apple Mac" href="http://www.apple.com/" target="_blank">Mac </a>system.  The point is to use the higher level system to efficiently and fully test the embedded software module so you save time and money later on in the project.  And let&#8217;s face it, who like to be under unnecessary pressure at the back end of an embedded software project?</p>
<h1>System testing</h1>
<p>If you think in advance about how to most easily implement the system testing then you can save a lot here as well.  We put effort into deciding how the do the test process at the architecture design phase so that we have the data flow required to actually do the test.  This can be as simple as having some extra parameters or calls available to be able to inspect the state of the system and the communications facilities to get at this data.  Where possible 100% parameter range testing and 100% code coverage testing is very desirable.  One thing this means is that you had better think about how you will create each error condition that must be handled!</p>
<h1>Low Cost Software Development</h1>
<p>Low Cost Electronics Manufacture relies on Low Cost Software Development.  So make it a priority.  The Pareto Principle says that it is the most important thing to get right.</p>
<p><em><em>Ray Keefe has been developing high quality and market leading electronics products in Australia for nearly 30 years.  For more information go to his </em><a title="Ray Keefe at Linked In" onclick="pageTracker._trackPageview('/outbound/article/www.linkedin.com');" href="http://www.linkedin.com/in/raykeefe" target="_blank"><em><span style="COLOR: #b85b5a">LinkedIn</span></em></a><em> profile. This post is Copyright © Successful Endeavours Pty Ltd.</em></em></p>
<p style="TEXT-ALIGN: center"><em><span style="text-decoration: underline;"><span style="text-decoration: underline;">                                                                                                                          </span></span></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.successful.com.au/blog/2009/07/27/reducing-electronics-and-embedded-software-product-development-costs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
