<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Think before you code</title>
	<atom:link href="http://www.thejackol.com/2007/08/28/think-before-you-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thejackol.com/2007/08/28/think-before-you-code/</link>
	<description>01100010 01101100 01100101 01101000</description>
	<lastBuildDate>Tue, 07 Feb 2012 21:10:47 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: shane</title>
		<link>http://www.thejackol.com/2007/08/28/think-before-you-code/comment-page-1/#comment-78762</link>
		<dc:creator>shane</dc:creator>
		<pubDate>Fri, 28 Sep 2007 22:16:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.thejackol.com/2007/08/28/think-before-you-code/#comment-78762</guid>
		<description>Thanks for your article &quot;Think before you code&quot;. I come from a background of coding in a number of disciplines. Recently was working for a large Govt organisation that had a waterfall development cycle (think before you code). In it we were expected to trap every use case, then plan it, then model it then write it - ie less code lines, more planning. However this also failed on a regular basis as no one can capture all use cases and the process became self serving and the code came last.
Many of its critics were saying the XP extreme programming style of code first, code lots would be best. However this leads to many dead ends and traps unless you have a very experienced programmer at the helm. Even then it tends to produce less than efficient code.

Lots of code does not mean success. Getting a product out the door first is important if you want to gain market advantage and the &#039;moral&#039; superioirty of being the field leader and expert. However, as a coder you need to remember that is good for the marketers and bad for the customer. Vista (and no, I&#039;m not on an anti-M$ rant here) is an excellent example of code released way to early to gain market advantage (or $) 

Fro me I now sit somewhere in the middle of XP and Watefall Life Cycle Dev methodolgies. i have a few simple rules which help.

1 - Write a program once. Then throw it away and write it again having learnt from all the mistakes you made the first time. 
2 - Test early Test often. 
3 - Test with the end user as coder assumptions are the mother of all foul ups.
4 - Write in small chunks, then do 2 and 3 above.
5 - As long as it is pretty the end user will love it. No matter how good the code is, do not present it without a &#039;pretty interface&#039;. Good code is often rejected owing to a plain or basic interface as first impressions last.
6 - Visit the toilet, water fountain, stair case, coffee house or what ever at least once every 90 minutes. Visit these places if you are stuck - The keyboard stops you thinking. Walking the body lets the mind rove free and find the solution that is already there.
7  Don&#039;t be afraid to back out of a coding corner. (See rule 1)
8 - Code until completion - Then refactor in pieces.  A slow programe is not a bad programme. It is just slow. At least it is working. A slow programme can be sped up in pieces. see rule 1.

The XP style (lots of code quickly) does let you throw away code more easily and re-write as it has the least initial cost over head of any development style. A waterfall dev cycle is very unlikely to let you throw away code as the powers that be have too many $$ in it to let you throw away code. However it does teach you one valuable lesson - think before you code. 

90% of good development is in the thought process and planning. very little is in the typing and &#039;number of lines&#039; of code. A good coder does more in their head than on their keyboard. When the hands are busy, the mind is not set free to think. Even a monkey can type but only a good coder can think.</description>
		<content:encoded><![CDATA[<p>Thanks for your article &#8220;Think before you code&#8221;. I come from a background of coding in a number of disciplines. Recently was working for a large Govt organisation that had a waterfall development cycle (think before you code). In it we were expected to trap every use case, then plan it, then model it then write it &#8211; ie less code lines, more planning. However this also failed on a regular basis as no one can capture all use cases and the process became self serving and the code came last.<br />
Many of its critics were saying the XP extreme programming style of code first, code lots would be best. However this leads to many dead ends and traps unless you have a very experienced programmer at the helm. Even then it tends to produce less than efficient code.</p>
<p>Lots of code does not mean success. Getting a product out the door first is important if you want to gain market advantage and the &#8216;moral&#8217; superioirty of being the field leader and expert. However, as a coder you need to remember that is good for the marketers and bad for the customer. Vista (and no, I&#8217;m not on an anti-M$ rant here) is an excellent example of code released way to early to gain market advantage (or $) </p>
<p>Fro me I now sit somewhere in the middle of XP and Watefall Life Cycle Dev methodolgies. i have a few simple rules which help.</p>
<p>1 &#8211; Write a program once. Then throw it away and write it again having learnt from all the mistakes you made the first time. <br />
2 &#8211; Test early Test often. <br />
3 &#8211; Test with the end user as coder assumptions are the mother of all foul ups.<br />
4 &#8211; Write in small chunks, then do 2 and 3 above.<br />
5 &#8211; As long as it is pretty the end user will love it. No matter how good the code is, do not present it without a &#8216;pretty interface&#8217;. Good code is often rejected owing to a plain or basic interface as first impressions last.<br />
6 &#8211; Visit the toilet, water fountain, stair case, coffee house or what ever at least once every 90 minutes. Visit these places if you are stuck &#8211; The keyboard stops you thinking. Walking the body lets the mind rove free and find the solution that is already there.<br />
7  Don&#8217;t be afraid to back out of a coding corner. (See rule 1)<br />
8 &#8211; Code until completion &#8211; Then refactor in pieces.  A slow programe is not a bad programme. It is just slow. At least it is working. A slow programme can be sped up in pieces. see rule 1.</p>
<p>The XP style (lots of code quickly) does let you throw away code more easily and re-write as it has the least initial cost over head of any development style. A waterfall dev cycle is very unlikely to let you throw away code as the powers that be have too many $$ in it to let you throw away code. However it does teach you one valuable lesson &#8211; think before you code. </p>
<p>90% of good development is in the thought process and planning. very little is in the typing and &#8216;number of lines&#8217; of code. A good coder does more in their head than on their keyboard. When the hands are busy, the mind is not set free to think. Even a monkey can type but only a good coder can think.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

