<?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"
	>

<channel>
	<title>novolocus.com &#187; 2007 &#187; June</title>
	<atom:link href="http://www.novolocus.com/2007/06/feed" rel="self" type="application/rss+xml" />
	<link>http://www.novolocus.com</link>
	<description>Whatever Andy Burns is working on...</description>
	<pubDate>Tue, 18 Nov 2008 12:00:31 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Is Development really Engineering?</title>
		<link>http://www.novolocus.com/2007/06/25/is-development-really-engineering/</link>
		<comments>http://www.novolocus.com/2007/06/25/is-development-really-engineering/#comments</comments>
		<pubDate>Mon, 25 Jun 2007 07:06:08 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.novolocus.com/?p=59</guid>
		<description><![CDATA[An interesting blog post from Steve McConnell about whether software is engineering.
I actually come more from the engineering end of things (educationally, at least) than the Comp Sci route. I hold a Masters of Engineering, and my degree involved more electronics and mathematics than software.
The parallels between &#8216;proper&#8217; engineering, and software engineering are compelling. I [...]]]></description>
			<content:encoded><![CDATA[<p>An interesting blog post from <a href="http://blogs.construx.com/blogs/stevemcc/archive/2007/06/23/quot-engineering-quot-in-software.aspx">Steve McConnell</a> about whether software is engineering.</p>
<p>I actually come more from the engineering end of things (educationally, at least) than the Comp Sci route. I hold a Masters of Engineering, and my degree involved more electronics and mathematics than software.<span id="more-59"></span></p>
<p>The parallels between &#8216;proper&#8217; engineering, and software engineering are compelling. I guess that the difference is the &#8216;environment&#8217; the work takes place in - traditional engineering disciplines have to deal with the real world, and minor hinderances like physics. Software engineering takes place in an environment which is - somewhat - divorced from that.</p>
<p>(Sure, you&#8217;ve got problems like bandwidth, speed of light, heat build up, electrical supply. But those are dealt with by other engineers).</p>
<p>That sad thing, I think, is that although software development should be like traditional engineering, usually it isn&#8217;t. Failure is acceptable, even expected - &#8220;To err is human, but to really f%^k up takes a computer&#8221;. Time and again I see projects with inadequate specification, unclear goals, unrealistic budget, etc. and I think &#8216;This isn&#8217;t how you&#8217;d build an aeroplane&#8217;. Well, okay, sometimes it&#8217;s a car, a bridge, or a rocket.</p>
<p>I guess it&#8217;s a question of consequences. If a server falls over, you restart it. If a plane falls from the sky, it&#8217;s a big deal. So planes are expensive, and don&#8217;t crash very often, and servers aren&#8217;t, and do.</p>
<p>I read Richard Feynman&#8217;s <a href="http://science.ksc.nasa.gov/shuttle/missions/51-l/docs/rogers-commission/Appendix-F.txt">&#8220;Personal observations on the reliability of the shuttle&#8221;</a> and the thing that really struck me was how he actually praised the quality of the Shuttle&#8217;s software. And it seems to me that they achieved this by treating the software exactly like an engineering discipline, and accepting that this adds time, effort and cost. Sadly, most companies will not accept this. Sure, they might say they want 99.99% reliability, but you try getting them to pay for it. The difference is, NASA can&#8217;t afford failure.</p>
<p class="oldCommentOuter">Comments from my old blog:</p>
<p class="oldCommentInner">
<p class="oldComment">Great post - I agree totally.</p>
<p>The costs associated with commercial development projects show why open source software has found a very solid position in the market - for the &#8220;mission critical&#8221; tasks such as web servers and database servers.</p>
<p>It&#8217;s the difference between something being built &#8220;good enough for the money they paid&#8221;, and &#8220;as good as it can be&#8221;.</p>
<p class="oldCommentFooter">By Jonathan at 09:22:19 Thursday 12th July 2007</p>
]]></content:encoded>
			<wfw:commentRss>http://www.novolocus.com/2007/06/25/is-development-really-engineering/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Office and Workflow Integration - Version WTF?</title>
		<link>http://www.novolocus.com/2007/06/15/office-and-workflow-integration-version-wtf/</link>
		<comments>http://www.novolocus.com/2007/06/15/office-and-workflow-integration-version-wtf/#comments</comments>
		<pubDate>Fri, 15 Jun 2007 08:06:54 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
		
		<category><![CDATA[Office]]></category>

		<category><![CDATA[SharePoint]]></category>

		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.novolocus.com/?p=62</guid>
		<description><![CDATA[Dear Microsoft - The word Ultimate means &#8216;Final&#8217;. Somehow, I suspect there will be future versions of Office and Windows - what do y&#8217;reckon?
Okay, so I&#8217;m a simple man really&#8230;
I&#8217;d been asked to demo a custom workflow to a customer. They&#8217;d some fairly clear requirements, and we just wanted to knock up a prototype. It [...]]]></description>
			<content:encoded><![CDATA[<p class="insetB" style="float: right; width: 150px"><strong>Dear Microsoft</strong> - The word <strong>Ultimate</strong> means &#8216;Final&#8217;. Somehow, I suspect there will be future versions of Office and Windows - what do y&#8217;reckon?</p>
<p>Okay, so I&#8217;m a simple man really&#8230;</p>
<p>I&#8217;d been asked to demo a custom workflow to a customer. They&#8217;d some fairly clear requirements, and we just wanted to knock up a prototype. It was all about filling in &#8216;fields&#8217; in a word document. &#8220;Great&#8221;, I thought, &#8220;we can allow them to do this entirely within Word&#8221;. And, looking at the marketing bumpf, the demos and the docs, yeah, we could. The workflow task could be displayed in MOSS, and the document properties pane would expose any other fields they needed.</p>
<p>Except&#8230; &#8230;I couldn&#8217;t get the &#8216;Edit this Task&#8217; button to appear in Word. I know it should be able to - but it wasn&#8217;t. I tried everything; nope, nothing. In the end, I ran out of time - but one of my colleagues, of a slightly curious nature, kept plugging away at it.</p>
<p>It turns out, it was the wrong version of office. It used to be that versions of things were simple - there only was one for each &#8216;iteration&#8217; of the software. Then we started getting &#8216;Home&#8217; and &#8216;Professional&#8217; - which was okay, and seemed sensible, to be honest. I liked that - it was simple, just like me.<span id="more-62"></span></p>
<p>Nowadays, I can&#8217;t f%$king understand the versions of anything Microsoft. Visual Studio - Express, Standard, Professional, Tools for Office, Web Developer, Team System - Architects, Team System - Software Developers, Team System - Testers, and Team System - Database Professionals, and Team Suite. Does that sound f$%king confusing? Do I have time to learn about all of these? <img src="http://www.novolocus.com/wp-content/oldEmoticons/angry.gif" border="0" alt="" align="middle" /> And Vista! It has Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate.</p>
<p>Similarly, it turns out Office now has - Home, Student, Basic, Standard, Small Business, Professional, Professional Plus, Enterprise, Ultimate, Magnificent and Pan-Galactic. Okay, I made the last two up, but WTF! I don&#8217;t have time to learn all the features of all these versions - and trying to find out about their features is a wee bit opaque. <strong>I shouldn&#8217;t have to work this hard to know what Office can do.</strong> I&#8217;m helping generate their sales.</p>
<p>So, my colleagues testing suggests that the Office Professional edition <strong>does not</strong> support the SharePoint Workflow integration. We&#8217;re not sure though. But he did find that it worked in Enterprise edition. A long road, just to find that out.</p>
<p class="oldCommentOuter">Comments from my old blog:</p>
<p class="oldCommentInner">
<p class="oldComment">We&#8217;ve had this discussion w/ Microsoft as well.  FWIW:  Office Pro Plus works w/ WF integration as well.  Additional word of Caution:  To use the InfoPath control for workflows, you will either need Forms Services running to run ASPX forms, or you will InfoPath on each client to run the Infopath control.  It is very hard as a ISV to tell our users what &#8220;versions&#8221; of Office they must have installed to use our features.  Marketing should go back to the KISS principle, so maybe people would want to upgrade!  It would also be nice if the MS documentation stated things like &#8220;This feature is only available when these product sku is installed&#8221;.</p>
<p class="oldCommentFooter">By TomC at 18:50:13 Friday 15th June 2007</p>
]]></content:encoded>
			<wfw:commentRss>http://www.novolocus.com/2007/06/15/office-and-workflow-integration-version-wtf/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Best Code is No Code at All</title>
		<link>http://www.novolocus.com/2007/06/01/the-best-code-is-no-code-at-all/</link>
		<comments>http://www.novolocus.com/2007/06/01/the-best-code-is-no-code-at-all/#comments</comments>
		<pubDate>Fri, 01 Jun 2007 08:06:18 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.novolocus.com/?p=65</guid>
		<description><![CDATA[As always, Jeff Atwood has an interesting around code being our enemy as developers. His proposal is that code needs to have better &#8216;brevity&#8217;.
I don&#8217;t think Jeff is talking about Brevity - and I think he even says that - but about Clarity. Clarity is simple, obvious, and to the heart of the matter. Real [...]]]></description>
			<content:encoded><![CDATA[<p>As always, Jeff Atwood has an interesting around <a href="http://www.codinghorror.com/blog/archives/000878.html">code being our enemy</a> as developers. His proposal is that code needs to have better &#8216;brevity&#8217;.</p>
<p>I don&#8217;t think Jeff is talking about Brevity - and I think he even says that - but about Clarity. Clarity is simple, obvious, and to the heart of the matter. Real clarity is brief, but easy to read. That includes comments, too.</p>
<p>It could be made shorter in &#8216;text speak&#8217;, but how clear are those messages? There is a reason we don&#8217;t use 1 letter variable names!</p>
<p>It&#8217;s not tiny fragments of obscure code that does massive amounts (yes, I&#8217;m thinking of Perl in that, amongst others). And it sure as hell isn&#8217;t about lines of code - many languages (with notable exceptions) let you put an entire program on one line. Ever tried reading one? I did - you can&#8217;t.</p>
<p>It&#8217;s just about being simple, clear, and to the point. It&#8217;s kind of like Buddhist enlightnment - someday, with enough practice, I&#8217;d might just achieve that.</p>
<p>Unfortunately, I do think that we&#8217;re constrained - people often expect very complex things and lots of features from their software, and when people are demanding complex programs, you get complex code. Look at the complexity cost of, say, just having a simple UI for a Windows app, as opposed to a console app.</p>
<p>Some of the comments are very good, too. &#8216;Mickey&#8217; is right - often, we&#8217;re trapped by bloated design. KISS is my watchword (and occasionally gets me a slap too).</p>
<p>Fred Ross is right, too, in his comment about code maintenance - but he does miss the point that often we&#8217;re under pressure from the boss to &#8216;just get it done&#8217;, and the idea of &#8216;get it done, but in a way that will save us time later&#8217;, well, usually, that dog won&#8217;t hunt.</p>
<p><img src="http://www.novolocus.com/wp-content/oldEmoticons/sad.gif" align="middle" border="0" />Someday, we&#8217;ll get past the idea of using lines of code as a metric for how &#8216;good&#8217; code is. I guess the problem is that clarity is more ethereal.</p>
<p class="oldCommentOuter">Comments from my old blog:</p>
<p class="oldCommentInner">
<p class="oldComment">I agree with most of your points - but diverge in perhaps the same places you might too.</p>
<p>Examples&#8230; a typical .NET web application - which has C#, HTML, DHTML, Javascript, horrific call backs for AJAX, SQL, Stored procedures, triggers&#8230; the list goes on. There doesn&#8217;t seem to be any sensible way of making it &#8220;simple&#8221;.</p>
<p>The other problem (at least in my recent experience) is RAD or AGILE development&#8230; which often leads to spaghetti code unless the client is willing to pay a huge code tax for re-writing swathes of the project.</p>
<p class="oldCommentFooter">By Jonathan at 09:20:28 Tuesday 5th June 2007</p>
]]></content:encoded>
			<wfw:commentRss>http://www.novolocus.com/2007/06/01/the-best-code-is-no-code-at-all/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
