<?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"
	>
<channel>
	<title>Comments on: A hack a day - Is it worth it?</title>
	<atom:link href="http://www.thereformed.org/2006/08/18/a-hack-a-day-is-it-worth-it/feed/" rel="self" type="application/rss+xml" />
	<link>http://thereformed.org/2006/08/18/a-hack-a-day-is-it-worth-it/</link>
	<description>prioritize change</description>
	<pubDate>Sat, 11 Oct 2008 19:29:49 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: user24</title>
		<link>http://thereformed.org/2006/08/18/a-hack-a-day-is-it-worth-it/#comment-248</link>
		<dc:creator>user24</dc:creator>
		<pubDate>Sun, 24 Dec 2006 17:08:17 +0000</pubDate>
		<guid isPermaLink="false">http://hack-net.com.codecircus.co.uk/?p=16#comment-248</guid>
		<description>we encountered *very* familiar problems at a small web dev company I was part of a few years ago.

To me, it all depends on the quality of the hack; if the design is flexible enough, it should be easy to put in a pretty hack that won't impact on the overall structure. If OTOH hacking it means blasting fuck-off great holes in your code all over the place - redesign it with flexibilty in mind!</description>
		<content:encoded><![CDATA[<p>we encountered *very* familiar problems at a small web dev company I was part of a few years ago.</p>
<p>To me, it all depends on the quality of the hack; if the design is flexible enough, it should be easy to put in a pretty hack that won&#8217;t impact on the overall structure. If OTOH hacking it means blasting fuck-off great holes in your code all over the place - redesign it with flexibilty in mind!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Silversmith Hallmarks</title>
		<link>http://thereformed.org/2006/08/18/a-hack-a-day-is-it-worth-it/#comment-247</link>
		<dc:creator>Silversmith Hallmarks</dc:creator>
		<pubDate>Tue, 03 Oct 2006 18:30:44 +0000</pubDate>
		<guid isPermaLink="false">http://hack-net.com.codecircus.co.uk/?p=16#comment-247</guid>
		<description>great blog, keep it comming.</description>
		<content:encoded><![CDATA[<p>great blog, keep it comming.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: J. Longoria</title>
		<link>http://thereformed.org/2006/08/18/a-hack-a-day-is-it-worth-it/#comment-246</link>
		<dc:creator>J. Longoria</dc:creator>
		<pubDate>Sat, 19 Aug 2006 08:33:28 +0000</pubDate>
		<guid isPermaLink="false">http://hack-net.com.codecircus.co.uk/?p=16#comment-246</guid>
		<description>Agreed.</description>
		<content:encoded><![CDATA[<p>Agreed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phill</title>
		<link>http://thereformed.org/2006/08/18/a-hack-a-day-is-it-worth-it/#comment-245</link>
		<dc:creator>Phill</dc:creator>
		<pubDate>Sat, 19 Aug 2006 07:29:40 +0000</pubDate>
		<guid isPermaLink="false">http://hack-net.com.codecircus.co.uk/?p=16#comment-245</guid>
		<description>If the client can just ring up and say "I wanna change....could we do that?....and I Expect it to still be delivered on time."  Then the contract is ill defined and the agreed process for change either doesn't exist or again wasn't defined at the contractual stage so isn't being followed.

Before any work even begins there should be an agreement of the scope of work (otherwise, time to ponder how price was estimated) and because change is more expensive then agreed work, an agreed change procedure should be defined - typically in the form of a request for change note.

Upon receipt of a change request, someone on the team should look at the request, estimate the cost of implementing the change AND the cost to test the change (which is far more expensive then any work the developer puts in).  A decision then should be taken as to whether it's feasible under the existing contract/agreed price or whether the scope of change is large enough to warrant going back to the table with a "We'll happily do it, but it'll cost you AND/OR the date of delivery will change."   Again it's important to have the re-negotiation process clear and upfront at the start of the project.

And with that all in mind, the bottom line is a hack is never worth it.  At least not if your design is worth its salt.

...As I spend my life working safety critical embedded software, I might be babbling from a different world to commercial PC application software.  If I am, then I'd propose that the "just hack it and get the change in quick" mentality, is the reason so many software firms go broke.  And why the ones that survive, spend their lives battling instability, security and maintainability issues for all of their remaining days - pouring vast sums of revenue into a black hole.</description>
		<content:encoded><![CDATA[<p>If the client can just ring up and say &#8220;I wanna change&#8230;.could we do that?&#8230;.and I Expect it to still be delivered on time.&#8221;  Then the contract is ill defined and the agreed process for change either doesn&#8217;t exist or again wasn&#8217;t defined at the contractual stage so isn&#8217;t being followed.</p>
<p>Before any work even begins there should be an agreement of the scope of work (otherwise, time to ponder how price was estimated) and because change is more expensive then agreed work, an agreed change procedure should be defined - typically in the form of a request for change note.</p>
<p>Upon receipt of a change request, someone on the team should look at the request, estimate the cost of implementing the change AND the cost to test the change (which is far more expensive then any work the developer puts in).  A decision then should be taken as to whether it&#8217;s feasible under the existing contract/agreed price or whether the scope of change is large enough to warrant going back to the table with a &#8220;We&#8217;ll happily do it, but it&#8217;ll cost you AND/OR the date of delivery will change.&#8221;   Again it&#8217;s important to have the re-negotiation process clear and upfront at the start of the project.</p>
<p>And with that all in mind, the bottom line is a hack is never worth it.  At least not if your design is worth its salt.</p>
<p>&#8230;As I spend my life working safety critical embedded software, I might be babbling from a different world to commercial PC application software.  If I am, then I&#8217;d propose that the &#8220;just hack it and get the change in quick&#8221; mentality, is the reason so many software firms go broke.  And why the ones that survive, spend their lives battling instability, security and maintainability issues for all of their remaining days - pouring vast sums of revenue into a black hole.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: J. Longoria</title>
		<link>http://thereformed.org/2006/08/18/a-hack-a-day-is-it-worth-it/#comment-244</link>
		<dc:creator>J. Longoria</dc:creator>
		<pubDate>Fri, 18 Aug 2006 13:15:59 +0000</pubDate>
		<guid isPermaLink="false">http://hack-net.com.codecircus.co.uk/?p=16#comment-244</guid>
		<description>My God, what a horrid underpinning to rewrite and although I would initially kick myself in the teeth for it, I would still have to reproduce a  quality solution over a hasty resolution.

My apologies for possibly not reading into the original article as posted. I assumed from the questions proposed this dealt directly more with business practice rather than the latter.

I'm assumming something has taken place recently that has triggered such a inquiry? Care to elaborate further - changing names to protect the innocent of course? Haha.</description>
		<content:encoded><![CDATA[<p>My God, what a horrid underpinning to rewrite and although I would initially kick myself in the teeth for it, I would still have to reproduce a  quality solution over a hasty resolution.</p>
<p>My apologies for possibly not reading into the original article as posted. I assumed from the questions proposed this dealt directly more with business practice rather than the latter.</p>
<p>I&#8217;m assumming something has taken place recently that has triggered such a inquiry? Care to elaborate further - changing names to protect the innocent of course? Haha.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: D. Shanley</title>
		<link>http://thereformed.org/2006/08/18/a-hack-a-day-is-it-worth-it/#comment-243</link>
		<dc:creator>D. Shanley</dc:creator>
		<pubDate>Fri, 18 Aug 2006 13:01:59 +0000</pubDate>
		<guid isPermaLink="false">http://hack-net.com.codecircus.co.uk/?p=16#comment-243</guid>
		<description>I understand what you mean, I was actually trying to reference entire core architecture changes or patching them. Its more aimed at OO based architectures, re-writing functions in a script environment is quite straight forward - the trouble starts when you have to re-write entire classes and amend all its subclasses, or change interfaces, the ramifications are huge. Sometimes its easier to write a helper or a wrapper to patch the issue, especially if you have spent 6 months moving down one path with hundreds of thousands of lines of code.</description>
		<content:encoded><![CDATA[<p>I understand what you mean, I was actually trying to reference entire core architecture changes or patching them. Its more aimed at OO based architectures, re-writing functions in a script environment is quite straight forward - the trouble starts when you have to re-write entire classes and amend all its subclasses, or change interfaces, the ramifications are huge. Sometimes its easier to write a helper or a wrapper to patch the issue, especially if you have spent 6 months moving down one path with hundreds of thousands of lines of code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: J. Longoria</title>
		<link>http://thereformed.org/2006/08/18/a-hack-a-day-is-it-worth-it/#comment-242</link>
		<dc:creator>J. Longoria</dc:creator>
		<pubDate>Fri, 18 Aug 2006 12:51:58 +0000</pubDate>
		<guid isPermaLink="false">http://hack-net.com.codecircus.co.uk/?p=16#comment-242</guid>
		<description>I've run into this by happenstance a few times regarding ActionScript/ASP in conjunction with proprietary Flash media and Intranet application. Oh the pain and torment in figuring out the simplest means of rewriting actions and arrays to attain the desired effect that the indecisive client came up with after you've sat down and analyzed the criteria discussed over the course of several weeks.

Fortunately -or- unfortunately, I'm not one for a hack though. Being a perfectionist at heart, I hate the feeling of building a workaround over just rewriting the function, I despise sloppy code even though every so often I am most assuredly guilty of it, and I can't begin to describe my disgust for vague or erroneous commenting. It just doesn't sit well with me.

Fortunately, for myself and the business I conduct, I cover my tail with a clause in our initial contract with the client and I prefer to be paid hourly (at a competitive rate, of course) as opposed to a lump sum for the duration of the project, with a initial non-refundable deposit of 25% of the estimated project man-hour cost up-front.

I make it my business to ensure they are completely aware that their last-minute changes could extend their product's completion date - this is all defined in their contract so that they are never surprised of their obligations or consequences. The client knows that any dramatic changes beyond the initial concept/evaluation and annotated criteria, will result in a cost THEY will have to absorb - from my perspective, this means that if they have made a choice to turn the corner on the project, knowing they will incur certain fees, they've evaluated and made a calculated decision which might be worth the percentage of their margins and therefore I can bypass any 'guilt' over accomplishing their requests.

Time is money. Perhaps if I ran a media powerhouse, this could/would change, but in the freelance game, I have to make the money where I can make the money.

Does this effect the business relationship? Possibly under certain circumstances, although I've found that most clientele will live with the cost resulting in a tailored, superior product of sorts coupled with a can-do, professional attitude. In turn, I've been provided reference after reference by word-of-mouth.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve run into this by happenstance a few times regarding ActionScript/ASP in conjunction with proprietary Flash media and Intranet application. Oh the pain and torment in figuring out the simplest means of rewriting actions and arrays to attain the desired effect that the indecisive client came up with after you&#8217;ve sat down and analyzed the criteria discussed over the course of several weeks.</p>
<p>Fortunately -or- unfortunately, I&#8217;m not one for a hack though. Being a perfectionist at heart, I hate the feeling of building a workaround over just rewriting the function, I despise sloppy code even though every so often I am most assuredly guilty of it, and I can&#8217;t begin to describe my disgust for vague or erroneous commenting. It just doesn&#8217;t sit well with me.</p>
<p>Fortunately, for myself and the business I conduct, I cover my tail with a clause in our initial contract with the client and I prefer to be paid hourly (at a competitive rate, of course) as opposed to a lump sum for the duration of the project, with a initial non-refundable deposit of 25% of the estimated project man-hour cost up-front.</p>
<p>I make it my business to ensure they are completely aware that their last-minute changes could extend their product&#8217;s completion date - this is all defined in their contract so that they are never surprised of their obligations or consequences. The client knows that any dramatic changes beyond the initial concept/evaluation and annotated criteria, will result in a cost THEY will have to absorb - from my perspective, this means that if they have made a choice to turn the corner on the project, knowing they will incur certain fees, they&#8217;ve evaluated and made a calculated decision which might be worth the percentage of their margins and therefore I can bypass any &#8216;guilt&#8217; over accomplishing their requests.</p>
<p>Time is money. Perhaps if I ran a media powerhouse, this could/would change, but in the freelance game, I have to make the money where I can make the money.</p>
<p>Does this effect the business relationship? Possibly under certain circumstances, although I&#8217;ve found that most clientele will live with the cost resulting in a tailored, superior product of sorts coupled with a can-do, professional attitude. In turn, I&#8217;ve been provided reference after reference by word-of-mouth.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
