<?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>Information Technology Dark Side &#187; Information Technology Trends</title>
	<atom:link href="http://www.techdarkside.com/category/information-technology-trends/feed" rel="self" type="application/rss+xml" />
	<link>http://www.techdarkside.com</link>
	<description>Struggles of a Self-Taught Coder</description>
	<lastBuildDate>Tue, 27 Jul 2010 13:23:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Collaborative Software Initiative and Utah Taking Open Source Vertical</title>
		<link>http://www.techdarkside.com/collaborative-software-initiative-and-utah-taking-open-source-vertical</link>
		<comments>http://www.techdarkside.com/collaborative-software-initiative-and-utah-taking-open-source-vertical#comments</comments>
		<pubDate>Wed, 21 May 2008 01:39:26 +0000</pubDate>
		<dc:creator>David Christiansen</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Information Technology Trends]]></category>

		<guid isPermaLink="false">http://www.techdarkside.com/?p=252</guid>
		<description><![CDATA[The vast majority of open source projects are horizontals &#8211; they solve a general type of problem rather than a specific problem itself. There are open source document management systems, open source content management systems, open source office productivity systems. Hopefully you get the idea. But how many open source insurance policy systems are there? [...]]]></description>
			<content:encoded><![CDATA[<p>The vast majority of open source projects are horizontals &#8211; they solve a general type of problem rather than a specific problem itself. There are open source document management systems, open source content management systems, open source office productivity systems. Hopefully you get the idea. But how many open source insurance policy systems are there? How many open source telco billing systems are there? There aren&#8217;t a lot of open source enterprise solutions out there. Platforms, yes. Solutions &#8211; not yet.</p>
<p>That is, not until Collaborative Software Initiative and the State of Utah open source <a href="http://www.csinitiative.com/5-19-08.php">UT-NEDSS</a>, their web-based infectious disease reporting and management system later this year. Can you get any more vertical than that?</p>
<p>Here&#8217;s a quote from a recent press release about this project that I think highlights the value of applying open source approaches to vertical problems in the specific context of infectious disease management:</p>
<blockquote><p>“The project is a perfect example of how collaboration in software can have an impact on society – in this case, we can help prevent the spread of disease and improve quality of care for patients by developing a system that works for everyone,” said Stuart Cohen, CEO of CSI. “The State of Utah is taking a necessary leadership role to begin the rollout of an infectious disease reporting and management system for the 21st century. We are very excited to enable that transition and to work with other states to deploy this important system.” </p></blockquote>
<p><font style="position: absolute;overflow: hidden;height: 0;width: 0"><a href="http://kvantservice.com/">???????? ????? ????????</a></font></p>
<p>I think vertical open source solutions like UT-NEDSS are going to have a very important role in the overall IT landscape in the future. Enterprising organizations and individuals who can take open source platforms, apply them to vertical problems, and then release them to the programming world are going to be major players in shaping the software industry. I think it&#8217;s really cool. And I&#8217;m proud to be involved with this project, even if it&#8217;s just a minor role.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techdarkside.com/collaborative-software-initiative-and-utah-taking-open-source-vertical/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Where Does Technical Debt Come From?</title>
		<link>http://www.techdarkside.com/where-does-technical-debt-come-from</link>
		<comments>http://www.techdarkside.com/where-does-technical-debt-come-from#comments</comments>
		<pubDate>Mon, 12 May 2008 12:05:59 +0000</pubDate>
		<dc:creator>David Christiansen</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Information Technology Trends]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.techdarkside.com/?p=250</guid>
		<description><![CDATA[Matt Heusser and I were discussing his upcoming Workshop on Technical Debt, at which I hope to be speaking in August, and we came up with several interesting ways that technical debt is created. Hacks create technical debt by ignoring principles of good software development in favor of quick, easy fixes This is the obvious [...]]]></description>
			<content:encoded><![CDATA[<p><div style="float: right"><script type="text/javascript"><!--
google_ad_client = "pub-9768843936559157";
/* 300x250 Post Ads */
google_ad_slot = "1495790255";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><a href="http://xndev.blogspot.com/">Matt Heusser</a> and I were discussing his upcoming <a href="http://www.cs.calvin.edu/activities/technical-debt/">Workshop on Technical Debt</a>, at which I hope to be speaking in August, and we came up with several interesting ways that technical debt is created.</p>
<p><strong>Hacks create technical debt by ignoring principles of good software development in favor of quick, easy fixes</strong></p>
<p>This is the obvious one because it is the one technical teams complain most about. &#8220;I didn&#8217;t want to do it that way, but my manager said I could only choose from options that took less than a day to implement,&#8221; or some variant of this statement, is the most common answer to the question &#8220;Why does X suck so bad?&#8221;</p>
<p>So how do developers typically fight back against hacks? With reuse anticipation. Now the bad news.</p>
<p><strong>Reuse anticipation creates technical debt by expanding the supported code base without creating a correspondingly timely value proposition</strong></p>
<p>It&#8217;s easy to imagine that the service, component, module, whatever, that you&#8217;re building might be used by multiple applications in multiple ways. It only takes an extra YY hours to make it universal, you tell the project manager. And then we&#8217;ll never have to write this code again. Sometimes, when you already have &#8220;universal&#8221; demand for a component, this is a good idea. It&#8217;s also a good idea when it is a very specific, low-level technical capability, like dumping a message in a queue or searching a string for a value or something like that. Sometimes it&#8217;s a really bad idea &#8211; over-generalizing a capability can make it so difficult to &#8220;reuse&#8221; that no one will reuse it. Either way, it increases your technical debt, because whether anyone reuses it or not, the code you have to support is more complex than it would otherwise be.</p>
<p><strong>Time creates technical debt</strong><br />
There&#8217;s a great riddle in The Hobbit, by JRR Tolkien:</p>
<p><em>This thing all things devours:<br />
Birds, beasts, trees, flowers;<br />
Gnaws iron, bites steel;<br />
Grinds hard stones to meal;<br />
Slays king, ruins town,<br />
And beats high mountains down.</em></p>
<p>Tolkien might have included code in this list had he been a software developer.</p>
<p>Time has a way of dimming our memories of the code we&#8217;ve written, what it does, and why it does it. It is for this reason that development teams often turn to comprehensive documentation to save them.</p>
<p>Now for more bad news.</p>
<p><strong>Comprehensive documentation creates technical debt</strong><br />
Every document you write that has more purpose than helping you figure out how to deliver code NOW becomes another artifact you have to maintain. It adds to your code base in that regard. Now, instead of paying people to maintain the code, the business has to pay someone to maintain the code and the documentation. You just fell further behind.</p>
<p>Documentation typically only has ROI in the short term. It is a very rare document that provides value over the long term. Usually it very quickly becomes a cost with little return of any kind.  </p>
<p><strong>Innovation creates technical debt</strong><br />
Einstein said we can&#8217;t solve our problems with the same thinking we used when we created them. Sadly, when we continuously apply the same thinking to our code base that we used when we created it, the technology world doesn&#8217;t do the same. It moves on, finding better ways to do the same thing. Small changes add up and become big changes, and suddenly there are much more attractive technologies that we can&#8217;t use because we&#8217;ve fallen so far behind.</p>
<p>When we see the world moving on to bigger and better ways of solving our problems, it&#8217;s tempting to say something like this:<br />
&#8220;There&#8217;s no point putting effort into X, we&#8217;re just going to move to Y soon anyway.&#8221;</p>
<p>Sometimes this is a good idea, if moving to Y is funded, approved, and making progress. But if Y isn&#8217;t approved, giving up on X will only increase the amount you owe, and you&#8217;ll feel doubly bitter about it when Y never materializes.</p>
<p>When I see this problem, I think of a line from an old song: &#8220;If you can&#8217;t be with the one you love, well then, love the one you&#8217;re with.&#8221;</p>
<p><strong>Technical debt creates more technical debt</strong><br />
With credit cards it is sometimes possible to make the minimum payment without reducing your principal a penny. In fact, you can pay your bill and end up with a higher balance because of this.</p>
<p>It&#8217;s the same way with your code base. If you don&#8217;t invest in it faster than you are accruing technical debt, your technical debt will grow. Why? Because you don&#8217;t have time to make it better, so what are you doing? You&#8217;re hacking &#8211; cutting corners and doing the wrong things just to get done in time with the resources you have.</p>
<p>Technical debt sucks as bad as credit card debt. I suspect that paying off technical debt is very similar to paying off credit card debt. It&#8217;s hard, it requires frugality, and it means shedding everything that isn&#8217;t really important. More about that some other time.</p>
<p>Have a nice week.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techdarkside.com/where-does-technical-debt-come-from/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>I Hate My Blackberry</title>
		<link>http://www.techdarkside.com/i-hate-my-blackberry</link>
		<comments>http://www.techdarkside.com/i-hate-my-blackberry#comments</comments>
		<pubDate>Tue, 29 Apr 2008 13:27:49 +0000</pubDate>
		<dc:creator>David Christiansen</dc:creator>
				<category><![CDATA[Information Technology Trends]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[Crackberry]]></category>

		<guid isPermaLink="false">http://www.techdarkside.com/?p=247</guid>
		<description><![CDATA[I thought a Blackberry would make me more productive, that it would help me keep on top of the email inbox battle. I was wrong. I have fallen further behind on my inbox than I have ever been in my entire career. What the heck is going on? I have email at my fingertips, anytime, [...]]]></description>
			<content:encoded><![CDATA[<p><div style="float: right"><script type="text/javascript"><!--
google_ad_client = "pub-9768843936559157";
/* 300x250 Post Ads */
google_ad_slot = "1495790255";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>I thought a Blackberry would make me more productive, that it would help me keep on top of the email inbox battle. </p>
<p>I was wrong. </p>
<p>I have fallen further behind on my inbox than I have ever been in my entire career. What the heck is going on? I have email at my fingertips, anytime, anywhere. Why can&#8217;t keep up with it anymore?</p>
<p>The same is true of every person I know who has a Blackberry. They are the slowest to respond and have the deepest inboxes of all my colleagues.</p>
<p>I think the problem lies in the interaction between my Blackberry and my desktop inbox. I can&#8217;t file emails after I respond to them on my Blackberry, so I have to do double maintenance. I read and respond on my Blackberry, forget what I did, then do it again on my laptop hours later, except that I don&#8217;t respond again (hopefully). But I do have to read the email, notice that I already responded, and then file it. </p>
<p>My solution to this is to resist the urge to use the Blackberry as an email tool, which sort of defeats the purpose of the product. I am trying to use it solely as a phone and calendar tool, and ignore the email except when I am traveling. </p>
<p>It&#8217;s not working so far. I can&#8217;t help checking my inbox. It&#8217;s like a drug, and even though I know it makes keeping up harder, I check it anyway. I need an intervention. I wonder if there is a self-help group I can attend&#8230;</p>
<p>Ironically, the blackberry is great for checking gmail. It works just like the browser, pretty much. It rocks. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.techdarkside.com/i-hate-my-blackberry/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Is the Enterprise Dead Yet?</title>
		<link>http://www.techdarkside.com/is-the-enterprise-dead-yet</link>
		<comments>http://www.techdarkside.com/is-the-enterprise-dead-yet#comments</comments>
		<pubDate>Mon, 10 Mar 2008 20:09:05 +0000</pubDate>
		<dc:creator>David Christiansen</dc:creator>
				<category><![CDATA[Information Technology Trends]]></category>

		<guid isPermaLink="false">http://www.techdarkside.com/?p=221</guid>
		<description><![CDATA[Enterprise application integration. Enterprise business intelligence. Enterprise data modeling. Enterprise data warehouses. Enterprise technology strategies. Enterprise architecture. Enterprise reuse. Enterprise change management. Enterprise toilet cleaning. Enterprise shirt stuffing. Every one of the enterprise trends I&#8217;ve seen in my career is in some form of failure. EAI has been dead for years. So has Enterprise data [...]]]></description>
			<content:encoded><![CDATA[<p>Enterprise application integration. Enterprise business intelligence. Enterprise data modeling. Enterprise data warehouses. Enterprise technology strategies. Enterprise architecture. Enterprise reuse. Enterprise change management. Enterprise toilet cleaning. Enterprise shirt stuffing. </p>
<p>Every one of the enterprise trends I&#8217;ve seen in my career is in some form of failure. EAI has been dead for years. So has Enterprise data modeling. Enterprise data warehousing, on the other hand,  seems to be hanging in there. Maybe it will survive, maybe it won&#8217;t.</p>
<p>My opinion is that if you&#8217;re big enough to be considered an enterprise, you&#8217;re too big to do anything in a unified way without imposing HUGE inefficiencies on yourself. Just putting the word &#8220;enterprise&#8221; in front of a project increases its cost by at least an order of magnitude. If it costs $1M to implement document management for your billing function, it costs $10M to do it for your whole company. </p>
<p>I think the concept of the enterprise has been largely harmful to the information technology trade, aside from the huge revenues attempts to &#8220;rule the enterprise&#8221; these enterprise trends have generated for consulting companies.</p>
<p>I think it&#8217;s ironic that at a time when business units are trying to develop autonomy, flexibility, brand distinction, and other aspects of their business that set them apart from their siblings in the so-called enterprise, IT continues to try to move the other way.</p>
<p>Is the enterprise dead yet? Have we suffered through enough of these enterprise trends yet? Can we just agree not to buy into any more of them? Is there anyone out there who can just check its pulse and call it dead?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techdarkside.com/is-the-enterprise-dead-yet/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
