<?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>Small man, big mouth &#187; work</title>
	<atom:link href="http://www.totalworldannihilation.org/blog/category/work/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.totalworldannihilation.org/blog</link>
	<description>All about software development</description>
	<lastBuildDate>Sun, 04 Apr 2010 07:51:46 +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>BDoc helps you keep documentation and code in synch</title>
		<link>http://www.totalworldannihilation.org/blog/2008/10/22/bdoc-helps-you-keep-documentation-and-code-in-synch/</link>
		<comments>http://www.totalworldannihilation.org/blog/2008/10/22/bdoc-helps-you-keep-documentation-and-code-in-synch/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 09:25:02 +0000</pubDate>
		<dc:creator>leftieFriele</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[bdoc]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[smidig2008]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=86</guid>
		<description><![CDATA[My friend Per Otto Bergum Christensen has created a great too for agile software developers called BDoc. The purpose of the tool is to generate documentation from your unit test code which is linked to requirements in your user stories. This is one of the reoccurring problems I have experienced in agile projects and BDoc [...]]]></description>
			<content:encoded><![CDATA[<p>My friend <a href="http://blog.perottobergumchristensen.com/" target="_blank">Per Otto Bergum Christensen</a> has created a great too for agile software developers called <a href="http://bdoc.googlecode.com/" target="_blank">BDoc</a>. The purpose of the tool is to generate documentation from your unit test code which is linked to requirements in your <em>user stories</em>. This is one of the reoccurring problems I have experienced in agile projects and <a href="http://bdoc.googlecode.com/" target="_blank">BDoc</a> is a step in the right direction.</p>
<p><a href="http://bdoc.googlecode.com/" target="_blank">BDoc</a> generates documentation from the test code in a natural language which anyone can read, with a link to the user story. This enables the customer or other non-technical personnel to see whether the requirements in the user stories are fulfilled or whether there are still some pieces missing. This solves one of the issues frequently encountered in agile software projects with user stories becoming outdated and out of sync with what developers are creating.</p>
<p>There is a great article up on The Server Side which gives a great overview of how <a href="http://bdoc.googlecode.com/" target="_blank">BDoc</a> works. If you understand Norwegian you can see <a href="http://smidig.no/smidig2008/lyntaler-p-programmet/du-koder-b-doc-dokumenterer/" target="_blank">his talk about BDoc</a> at the agile conference <a href="http://smidig.no/smidig2008/" target="_blank">Smidig 2008</a> in Oslo, Norway.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.totalworldannihilation.org/blog/2008/10/22/bdoc-helps-you-keep-documentation-and-code-in-synch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test dirving user interface development</title>
		<link>http://www.totalworldannihilation.org/blog/2008/06/27/test-dirving-user-interface-development/</link>
		<comments>http://www.totalworldannihilation.org/blog/2008/06/27/test-dirving-user-interface-development/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 11:04:45 +0000</pubDate>
		<dc:creator>leftieFriele</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[interface development]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[test driven development]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=59</guid>
		<description><![CDATA[The other day I read an interesting posting on the Object Mentor blog called Observations on Test-Driving User Interfaces by Dean Wampler. He makes quite a few good points as to why applying TDD to rich internett application user interfaces is very hard. There are two reasons why TDD is not being performed when building [...]]]></description>
			<content:encoded><![CDATA[<p>The other day I read an interesting posting on the Object Mentor blog called <a href="http://blog.objectmentor.com/articles/2008/06/22/observations-on-test-driving-user-interfaces" target="_blank">Observations on Test-Driving User Interfaces</a> by Dean Wampler. He makes quite a few good points as to why applying TDD to rich internett application user interfaces is very hard. There are two reasons why TDD is not being performed when building user interfaces:</p>
<ul>
<li>a wrong perspecktive on the purpose of testing</li>
<li>lack of good tool support with the correct perspecktive on testing</li>
</ul>
<h2>The purpose of testing</h2>
<p>Most developers and test tool makers have a perspective of testing as an exercise where the object is to <span style="text-decoration: underline;">find</span> defects. This is a perspective on things which led us to where we where a couple of years ago. With the introduction og eXtreme Programming and agile methods the perspective developers had on testing changed. Testing became an exercise which purpose was to <span style="text-decoration: underline;">prevent</span> defects from entering your code base.</p>
<p>Testing as a way of preventing defects is a view shared by Lean Software Development and Mary Popendieck goes into details about this in her book <a href="http://www.amazon.com/Implementing-Lean-Software-Development-Addison-Wesley/dp/0321437381" target="_blank">Implementing Lean Software Development: From Concept To Cash</a>. If you fail to convince your developers that this is the purpose of testing, I think you are going to fail at successfully working test driven. Testing to prevent defects is something which comes natural for interface developers as we have always been forced to continuously test our applications in numerous browsers while writing code. If this comes natural, how come test driven interface development is so hard?</p>
<h2>The Tools</h2>
<p>I agree with some of Dean Wampler&#8217;s points and I do think that lack of good tools might be part of the reason why test driving user interface development is hard. However I think the reason why the tool are inadequate is that they are created by people who don&#8217;t know enough or care enough about their target audience (to all of you who have written tools I apologize, but this is what it looks like from my point of view. If you are offended, just let me know and we can settle it off line). The tools for testing user interfaces tend to be intrusive, expensive and just too complicated to use.</p>
<p>Monster tools like <a href="https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&amp;cp=1-11-127-24^1352_4000_100__" target="_blank">Quick Test Pro</a> are so complex (just installing this monster is a pain) that they exclude some users. Not to mention the ridiculous price tag on this software. However these things aside the tool itself is just not good enough to make it worth while for the people actually implementing the user interface. They do not want a tool where you write some code in some macro- or script language. They do not want a 3 GB tool to install with a limited number of licenses.</p>
<p>What they do want is a simple, free and easy tool to help them work faster and with better quality. A testing tool which not only helps in <span style="text-decoration: underline;">finding</span> defects, but a tool which <span style="text-decoration: underline;">prevent</span> defects from entering their code. A tool which is none intrusive and can be used while writing code.</p>
<p>This is where most tools get it wrong too. They are tools created to finding defects and errors in an application. Usually you record a test script and then run that script later on in order to find defects. What these kinds of tools fails to do is to give developers a way of working which prevent defects from entering their application.</p>
<h2>One shining star</h2>
<p>During my time as an interface developer I have only found one tool which actually allow you to work Test Driven and which enables the developer to work with <span style="text-decoration: underline;">preventing</span> defects. The tool in question in is the free tool <a href="http://selenium.openqa.org/" target="_blank">Selenium</a>.</p>
<p>What makes <a href="http://selenium.openqa.org/" target="_blank">Selenium</a> so great is that it through it&#8217;s <a href="http://selenium.openqa.org/index.html#Selenium_IDE" target="_blank">Selenium IDE</a> provides developers with an actual tool which enables you to work test driven. By using the default view you can easily create simple test fixtures up front before coding and then run the test until the test passes. The Selenium IDE is a Firefox add on and hence fits naturaly into a user interface developers portfolio of tools. It&#8217;s small, portable and available on all platforms.</p>
<h2>The way forward</h2>
<p>I think the future for test driven interface development is very promising. Iterating and continuously testing is something which is in the blood of all experienced interface developers and I am certain that tool vendors will be capable of building tools which encourage test driven interface development.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.totalworldannihilation.org/blog/2008/06/27/test-dirving-user-interface-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Unit-testing and how little things have changed</title>
		<link>http://www.totalworldannihilation.org/blog/2008/06/12/unit-testing-and-changed/</link>
		<comments>http://www.totalworldannihilation.org/blog/2008/06/12/unit-testing-and-changed/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 14:51:34 +0000</pubDate>
		<dc:creator>leftieFriele</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[code complete]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[unit testing]]></category>

		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=45</guid>
		<description><![CDATA[This is actually a very old article which I wrote back in December 2006 over on my Norwegian blog. In an attempt to make that blog a bit less schizophrenic I thought I would move the English content over here. While looking at some of the old posts I think this one actually is quite [...]]]></description>
			<content:encoded><![CDATA[<p>This is actually a very old article which I wrote back in December 2006 over on my <a href="http://dallokken.com/espen/">Norwegian blog.</a> In an attempt to make that blog a bit less schizophrenic I thought I would move the English content over here. While looking at some of the old posts I think this one actually is quite good and I actually agree with my earlier statements from 2006 (which is quite unusual for me). Without further nonsense I here by present the old posting entitled:</p>
<h2>Why Unit-testing has &#8220;nothing&#8221; to do with testing</h2>
<p>I do not claim to be the master of testdriven developmen, but I have used a testdrvien approach for about two years now. What I have come to realize is that, for me as a programmer, my unit-tests are not most valueable as a way of testing.<br />
Sound stoopid, right? Hold on! Do not stop reading, theres an explaination to this somewhat bizzare statement. What I mean is that my unit-tests help me in a lot of other ways which are actulay more benefical for me as a programmer.</p>
<h2>New approach to an old technique</h2>
<p>A few years ago I read the first edition of &#8220;Code Complete&#8221;, which is a great book. I picked up a few tips which helped me improve my speed and accuracy while coding. One of the things was first document what the method should do before the signature, and then &#8220;code&#8221; the method by writing comments for what you want it to do. By doing this you can more easily see if what you wrote in the method body corresponds to the documentation in the header for the method. You will notice if you need to refactor you method and you can detect logic errors before writing a single line of code. I found this technique to be very useful and it helped me improve the quality of the code and I produced fewer errors in my code.</p>
<p>Unit-testing introduced a more extreme approach which is somewhat simular. Testdriven development evangelists says &#8220;You must write you tests first&#8221;. This is a new spin to the method mentioned in &#8220;Code Complete&#8221; by Steve McConnel. By writing the test first you can see if your component meet the requirements, and you will also be able to detect design errors early. In addition you will also write better code for the actual method since it will only meet the requirements in the unit-test.<br />
If you are not writing your tests first, you might as well just skip writing unit-tests. They will pretty much just test that the code you wrote runs, not if your component actualy does what it is supposed to. But, this topic has pretty much been covered by other people so I will leave it at that.<br />
To recap: writing tests first helps me trap design and requirements errors early and improves code quality.</p>
<h2>Having the courage to implement change</h2>
<p>Refactoring is a word that some people love, and some people think is just a word used by consultants to make money off of their mistakes. Either way, we all know that we somewhere down the line will have to change our code. Nobody writes perfect code that never needs change, that is just a fact.<br />
When the time comes for your component to change, what do you do?<br />
Do you start to sweat and suddenly develop a spiritual conciousness, or do you smile and see this as an opportunity to make the changes you have been dying to do for some time? If you have been a good boy or girl and written your unit-tests you will be in the latter category. This is one of the reasons why I have come to embrace unit-testing. It gives me the confidence to perform required changes. My unit-tests gives me the sound foundation to perform every required change in my application. No more prayers like, &#8220;please please let this change be a good one&#8221; to the allmight &#8220;Runtime God&#8221;.</p>
<h2>Going fast by never going back</h2>
<p>I have seen people estimating more hours because they are doing unit-testing. This is in my opinion dead wrong. This would be equivalent of saying &#8220;I will use the IntelliJ debugger, and that will take me 4 hours&#8221;. Writing unit-tests should be a natural part of the craft of writing code, therefor it makes no sense to add hours to a budget &#8220;because we are gonna unit-test&#8221;.<br />
By applying unit-tests in the way I have discussed earlier you will never use mour hours by adding unit-tests. That is because you will detect errors and trap design flaws earlier when writing tests up-front. You might spend an hour our two writing the tests, but you will also spend less time debugging your component. In other word you will go fast, by writing better code that you will not have to back and debug.<br />
Again, this is actualy nothing new. Writing tests first is just a new spin to an old software developement &#8220;truth&#8221;: you will go faster by trapping errors early.</p>
<h2>Summary</h2>
<p>Unit-testing has more to do with writing code than testing in a traditional way. I see unit-testing as a tool for:</p>
<ul>
<li>Trapping errors in code and design early</li>
<li>A safetynet when improving application designs by refactoring</li>
<li>Better understanding of the problem domain at an earlier stage in the development process</li>
</ul>
<h2>2008 Update</h2>
<p>Having lived and learned a little more over the past two years I think an update is required to what I wrote back when. Testing has another very important purpose which I did not see as clearly then. Which is that tests, if written in a good way, also acts as the best possible documentation about your problem domain and application. Allistar Cockburn mentions in his excellent book <a href="http://www.amazon.com/Agile-Software-Development-Cooperative-Game/dp/0321482751" target="_blank">Agile Software Development: The Cooperative Game</a> something that was originally written by XXX back in YYY about how documentation of projects is really difficult and the most important things are never put on paper. The most important thing is the &#8220;mental model&#8221; of those who developed the system. Without a knowledge of that model you will have a hard time taking over an existing project or adding new features to it.</p>
<p>I whole heartedly agree with this point and I think one of the places the model of the developers could be exposed is in the tests. By building a decent test harness you document how you want the system to work and you in turn expose some of the things you had to do when creating the application.<br />
One example is lets say you had a bug which made you have to change your architecture a bit. Following the practice of TDD you would first write a test for this and in the documentation for the test method you would write a small entry about what this test does. Then you would make the architectural change until the test passes. This would expose to people coming in later reading your test code what the reasons for the test and what it solved.</p>
<p>Besides the fact that tests help document the mental model of the developers I think I would not change much in the original article.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.totalworldannihilation.org/blog/2008/06/12/unit-testing-and-changed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reducing waste with poll based project communication</title>
		<link>http://www.totalworldannihilation.org/blog/2008/05/05/reducing-waste-with-poll-based-project-communication/</link>
		<comments>http://www.totalworldannihilation.org/blog/2008/05/05/reducing-waste-with-poll-based-project-communication/#comments</comments>
		<pubDate>Mon, 05 May 2008 11:59:56 +0000</pubDate>
		<dc:creator>leftieFriele</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[last f.m.]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[lean software development]]></category>

		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=42</guid>
		<description><![CDATA[I learned about the Last F.M. developer setup when the two founders Matt Ogle and Anill Bawa Cavia when they talked at the Future Of Web Applications conference in London in 2007. In order to communicate with a distributed and ever increasing development team they used IRC as the basis of their communication. The IRCcat [...]]]></description>
			<content:encoded><![CDATA[<p>I learned about the <a href="http://last.fm" target="_blank">Last F.M.</a> developer setup when the two founders <em>Matt Ogle</em> and <em>Anill Bawa Cavia</em> when they talked at the <strong>Future Of Web Applications</strong> conference in <a href="http://www.futureofwebapps.com/past-events.html#londonOct07" target="_blank">London in 2007</a>. In order to communicate with a distributed and ever increasing development team they used IRC as the basis of their communication. The IRCcat bot is a smart little guy who lets everyone know what is going on. By writing some smart pieces of code they where able to integrate information from <a href="http://trac.edgewall.org/" target="_blank">Trac</a>, <a href="http://www.nagios.org/" target="_blank">Nagios</a> and other tools used in development to enable everyone to have all information available when they wanted. I thought this was a very sweet setup back when I worked at Ezmo so I decided to try and use it in my next job. Therefor I decided to check it out on my Windows machine first.</p>
<h2>Reducing waste and polling information</h2>
<p>One important aspect of Lean Software Development is reducing waste and I think that reducing waste in project communication is very important. By removing the need for a lot of manual communication about server status or events occurring in the different development environments you remove a lot of waste. Another principle is that you should poll information when you need it instead of pushing it onto people. By using IRC you enable developers to poll information when they are actually developing by allowing them to connect to IRC when they are actually developing or giving them access to IRC logs if they need to see what went on while they where in a meeting. If you where to use IM software for this you would push information and it will feel a lot more intrusive for developers.</p>
<h2>Installing IRCcat</h2>
<ol>
<li>Download a <a href="http://java.sun.com/javase/downloads/index.jsp" target="_blank">Java JDK</a> 1.5 or later, and point <em>JAVA_HOME</em> to this directory</li>
<li>Download <a href="http://ant.apache.org" target="_blank">Ant</a> and make it available in your <em>PATH</em></li>
<li>Download <a href="http://www.last.fm/user/RJ/journal/2008/01/21/627529/" target="_blank">IRCcat</a></li>
<li>Download the <a href="http://www.totalworldannihilation.org/blog/wp-content/uploads/2008/05/irccat-twa-howto.xml" target="_blank">attached configuration file</a></li>
<li>Run the command: <em>ant -Dirccat-howto.xml run</em></li>
<li>Viola! You should now see something similar to this:</li>
</ol>
<p><img class="alignnone size-medium wp-image-44" title="irccat-startup" src="http://www.totalworldannihilation.org/blog/wp-content/uploads/2008/05/irccat-startup.png" alt="IRCcat startup"  /></p>
<p>Uhm, so what did I just do? Well, IRCcat is a service which basically dispatches commands to an IRC server. You can &#8220;talk&#8221; to IRCcat and then have it communicate to the IRC channel and all it&#8217;s listeners. This samples uses the <a href="http://www.ircnet.com/" target="_blank">IRCnet</a> IRC network and connects to the channel <em>#TWA-IRCcat-howto</em>. Now connect to an IRCnet server with a regular IRC client (<a href="http://mirc.net/" target="_blank">mIRC</a>, <a href="http://www.pidgin.im/" target="_blank">Pidgin</a>, etc) and join the channel <em>#TWA-IRCcat-howto</em>. In this channel there should be a bot called <em>TWAcat</em>.</p>
<p>What we now need to do is to send some messages using IRCcat. Doing this is most easily done by downloading a tool called <a href="http://www.vulnwatch.org/netcat/" target="_blank">netcat</a> (<a href="http://en.wikipedia.org/wiki/Netcat" target="_blank">more on netcat at Wikipedia</a>) available on Unix and Windows. Unfortunately some virus protection software thinks netcat is a dangerous program and will prevent you from executing it, so you might have to stop any such applications when trying this out.</p>
<p>Having downloaded netcat and added it to your <em>path</em> you can now write the following command:<br />
<em>echo Hola el Mundo|nc  -w1 localhost 9999 </em></p>
<p>In your IRC client you should now see <em>TWAcat</em> say: &#8220;Hola el mundo&#8221;</p>
<h2>Where to go from here?</h2>
<p>What is cool about IRCcat is that it is very easy to write your own piece of code which reports statuses, errors, etc to your development team. This is really cool and I&#8217;m very much looking forward to see how this works out. Keep a lookout for upgrades by reading <a href="http://www.last.fm/user/RJ/journal/2008/01/21/627529/" target="_blank">the journal on Last F.M</a> and let me know if you have any problems with this sample.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.totalworldannihilation.org/blog/2008/05/05/reducing-waste-with-poll-based-project-communication/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lean principles and how they&#8217;re applied everywhere</title>
		<link>http://www.totalworldannihilation.org/blog/2008/04/29/lean-principles-and-how-theyre-applied-everywhere/</link>
		<comments>http://www.totalworldannihilation.org/blog/2008/04/29/lean-principles-and-how-theyre-applied-everywhere/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 10:59:01 +0000</pubDate>
		<dc:creator>leftieFriele</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[bbc]]></category>
		<category><![CDATA[iterate]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[lean software development]]></category>
		<category><![CDATA[toyota production syste]]></category>

		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=41</guid>
		<description><![CDATA[While listening to the BBC World Service, which I tend to do when I work from home, the program Global Business all of a sudden caught my attention when I heard the mention of Lean and the Toyota Manufacturing System. Having studied and applied Lean principles for a while I became interested in the program. [...]]]></description>
			<content:encoded><![CDATA[<p>While listening to the <a href="http://www.bbc.co.uk/worldservice/" target="_blank">BBC World Service</a>, which I tend to do when I work from home, the program Global Business all of a sudden caught my attention when I heard the mention of <em>Lean</em> and the <em>Toyota Manufacturing System</em>. Having studied and applied Lean principles for a while I became interested in the program. The focus of the program was how Lean was being applied to companies in the services industry who produce no physical products to apply quality control to still benefit from applying Lean principles to their way of doing business. The program outlines how companies such as <em>Amazon</em>, <em>GE Moneybank</em> and <em>gem</em> all use Lean principles in order to make more money and help grow their business.</p>
<h2>&#8220;Taking people seriously costs too much&#8221;</h2>
<p>The program interviews author of <a href="http://www.amazon.com/gp/product/0743299795/ref=reg_hu-wl_item-added" target="_blank">&#8220;The machine that changed the world: The story of Lean production&#8221;</a> James P. Womack of the <a href="http://www.lean.org/" target="_blank">Lean Enterprise Institute</a> who explains easily how for instance <em>Home Depot</em> and <em>Wall Mart</em> have disconnected themselves from customers by either off shoring customer services or using temporary unskilled workers instead of full time employees with actual. He goes on to explain how businesses who say <em>&#8220;taking people seriously costs too much&#8221;</em> are totally missing the point. I will not repeat everything he said, but instead encourage you to listen to the program (see details about this at the end of this post).</p>
<h2>Lean customer service</h2>
<p>One of the more surprising places that Lean has been applied is in call centers and the program shows how the <a href="http://www.the-gem.com/news/" target="_blank">Northern Ireland call center company gem</a> have grown their business by applying Lean principles to customer service. By treating customers as actual human beings as opposed to treating them as numbers in a queue. Gem employees and executives are all measured on customer satisfaction and not how. They provide value to their clients by providing a feedback loop back letting them know how they can improve their business.  Gem work with their clients</p>
<p>Steven Perry (I apologize if I spelled this wrong) of Transform also explains how they where hired by the government of Northern Ireland to try prevent jobs being off-shored and making their works important.  By applying Lean principles to call-center companies in Northern Ireland they are securing jobs and making companies grow. One amazing example is a call-center handling technical support for an airlines company which keeps getting complaints about the email system not working properly. When contacting the CEO of the company the call-center got a reply that it was too expensive to upgrade the email system and that people would had to live with a few quirks in the email system. The call-center company then looked at the emails and discovered that the emails contained shift rosters, lists of passengers transferring from the airline to other airline and details about parts not arriving on time. When providing these root causes to the CEO it was an obvious decision to upgrade the email system.<br />
The program also outlines how Lean principles when applied provides great value to companies providing services and how they transform themselves into management consulting companies and not just simple service companies.</p>
<h2>Lean banking?</h2>
<p><a href="http://www.gemoney.com/">GE Money Bank</a> measures customer satisfaction by using a simple survey with 5-6 customers and are not linked to change, growth or volume. Instead they measure customer satisfaction using <a href="http://en.wikipedia.org/wiki/Net_Promoter_Score" target="_blank">net promoter score</a>, which means asking customers, &#8220;would you recommend us/our product to your friends?&#8221;</p>
<p>Linking this to the Lean philosophy GE Moneybank sees an answer of &#8220;yes, I would recommend your product&#8221; as a much better indication for future growth.  Their business executives are all measured and paid according to these scores and this enables them to execute their business based on Lean principles and by doing this making billions of dollars.</p>
<h2>Lean in the software industry</h2>
<p>1) Lean does not only apply to companies manufacturing products</p>
<p>2) Lean is gaining momentum in most areas of business and will become the standard way of doing business also in the software industry.</p>
<p>The software industry have started on it&#8217;s path towards Lean by starting to apply agile principles to software development. But in order to make the industry more mature and help customers get better value for their investments in information technology I am certain that our industry too needs to apply these principles in order to everyone in the entire business to focus upon the customer. Agile only does this for a certain part of an organization whereas Lean has principles which more easily transcends into the management sphere because of it&#8217;s roots in the Toyota Manufacturing System.</p>
<h2>Iterate &#8220;leaning&#8221; the way in Norway</h2>
<p>(I sincerely apologize for the tabloid heading of this section, but I just could not resist the temptation and again I am sorry) Lean has not become very relevant in Norway yet and we are still getting used to the idea of applying Scrum and agile methods. However there is a Norwegian consulting company called <a href="http://www.iterate.no" target="_blank">Iterate</a> who both apply Lean to their clients, but also follow the same Lean principles to the way they run their own business. When talking with them you learn how Lean also can be applied to a company which makes money by billing hours.</p>
<p>I had the pleasure of being in contact with Iterate and it really is quite fascinating to learn how they apply Lean to a consulting company. By focusing internally on making sure their employees are treated as the knowledge workers they are and not cash-cows and by doing this providing their customers with excellent services by applying the same principles. They do not have what I call the <em>&#8220;Accenture focus&#8221;</em>, which means focusing upon getting the most number of hours squeezed out of any client, but instead treat the customer the same way as their own employees. Just like with call centers in Northern Ireland, <a href="http://www.iterate.no" target="_blank">Iterate</a> of Norway applies Lean principles in the the service industry and they both do it with success.</p>
<h2>How to listen to the program</h2>
<p><a href="http://downloads.bbc.co.uk/podcasts/radio/worldbiz/worldbiz_20080429-0030.mp3" target="_blank">Download the program</a> or <a href="http://www.bbc.co.uk/radio/podcasts/worldbiz/" target="_blank">subscribe to the Podcast</a> and look for the program called <em>Lean, Mean and at Your Service: 29th April 08</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.totalworldannihilation.org/blog/2008/04/29/lean-principles-and-how-theyre-applied-everywhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://downloads.bbc.co.uk/podcasts/radio/worldbiz/worldbiz_20080429-0030.mp3" length="11211711" type="audio/mpeg" />
		</item>
		<item>
		<title>Cairngorm: a tired old horse that should be put down</title>
		<link>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/</link>
		<comments>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 15:04:41 +0000</pubDate>
		<dc:creator>leftieFriele</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[cairngorm]]></category>
		<category><![CDATA[patterns]]></category>

		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=34</guid>
		<description><![CDATA[Being a Java developer I felt that Cairngorm was a God sent as it provided me with a familiar way of constructing an application architecture. This made the process of starting developing in Flex a lot less complicated than if I where to start from scratch. In my old company Ezmo we built an online [...]]]></description>
			<content:encoded><![CDATA[<p>Being a Java developer I felt that <a href="http://labs.adobe.com/wiki/index.php/Cairngorm">Cairngorm</a> was a God sent as it provided me with a familiar way of constructing an application architecture. This made the process of starting developing in Flex a lot less complicated than if I where to start from scratch. In my old company Ezmo we built an online music service using the Cairngorm framework. We where very happy in the beginning and we really felt that Cairngorm helped us a lot as we didn&#8217;t have to learn too much about the inner workings of Flex and Action Script in order to start shipping working software.</p>
<p>As we continued growing our application I could not help to notice that there really was a few things about the framework that really started to degrade the quality of our code base and really made our application harder to maintain.</p>
<h2>Boilerplate code</h2>
<p>Writing a Cairngorm application involves <span style="text-decoration: underline;">a lot</span> of <a href="http://en.wikipedia.org/wiki/Boilerplate_(text)">boilerplate code</a>. In order to get just a simple command going you need to create 2/3 new classes and write 20/30 lines of code which provides no value what so ever.<br />
I really feel the Cairngorm framework should try and encapsulate more of the inner workings and hence saving developers a lot of time and effort. When designing a framework I feel you should have the approach the guys developing Spring Framework for Java has: to make development simpler. Cairngorm does not make development simpler and as your application grows Cairngorm really starts to slow you down.</p>
<h2>More code, more problems</h2>
<p>Numerous studies has shown that the more lines of code you have in your application, the higher is the potential for bugs. Therefor it would be beneficial for an application framework such as Cairngorm to let developers write less code. In my experience Cairngorm does quite the oposite. I have compared an application created using Cairngorm to the same application written from scratch with a custom architecture and Cairngorm adds numerous classes and several hundred lines of code (I&#8217;ll provide samples of this later on).</p>
<h2>Feels like EJB 2.0</h2>
<p>When I work with Cairngorm I get the same feeling as I did back when I had to work with EJB 2.0. It feels like a plastic bag that&#8217;s constantly over your head while you try do develop your application. The framework is intrusive and continues to force you to write tons of useless code and transforms all applications intro dinosaurs that become hard to maintain and really hard for new people to learn. Regardless of all the patterns used in Cairngorm, it is not easy for new developers to start developing when they have to related to such a huge number of classes.</p>
<h2>MVC is probably not what you need</h2>
<p>In my experience most applications don&#8217;t need to implement the Model Control View pattern in order to provide a decent application architecture. Especially I feel this is the case for Flex, you really don&#8217;t want to mimic a Java web application when you have such a great framework as Flex!</p>
<h2>A plead to Adobe Consulting</h2>
<p>Listen Adobe Consulting, either you try and upgrade your framework to something that fulfills the demands of developers in 2008 or you release it as Open Source. Right now all the new things in Caringorm are related to their ridiculously expensive Live Cycle Data Service, nothing in regards to making development faster and easier. If you don&#8217;t have the time or resources to do this, release it and maybe the community can help out (I am fully aware that I should put my money where my mouth is and develop my own framework, but this is not something I have time to do right now).</p>
<h2>Here is what you should do</h2>
<p>Having put down the Cairngorm framework I guess you want to know what to do? OK, I&#8217;ll try and elaborate some of my thought on how you best construct and application architecture in Flex.</p>
<h2>Model Locator &amp; Business Delegate</h2>
<p>There are two valuable things in  Cairngorm which I would continue to use (but I would probably just develop those classes my self for each project):</p>
<ul>
<li>Model Locator</li>
<li>Business Delegate</li>
</ul>
<p>All the command, event, front controller mumbo jumbo is just there for the pattern horny architects who does no actual coding and have a need to have as many patterns as possible in every application architecture the work on.<br />
Now here is why I feel these things make sense for almost any project. The Model Locator pattern, as Adobe calls it, is a great way to control data in your application. Combining the Model Locator with the built in feature of <em>data binding</em> in Flex that is a really powerful combo. If you combine this with a Business Delegate class you have pretty much all you need (you may not actually need that class either, it is not very hard to write one on your own).</p>
<h2>Why settle for just one model?</h2>
<p>If you decide to throw out most of Cairngorm and write your own architecture I would advice you to use two types of Models: Presentations Model and Server Models.<br />
Having a one-to-one relation between the server side services and Server Models provides you with a seperation between server side data and the presentation data. Server Models should be responsible for retrieving their own data (that&#8217;s right, no events/commands needed). Presentation Models can use one or more Server Models, and once again using data binding to control updates. I think this provides a really simple, but yet very scalable, application architecture.</p>
<h2>Update</h2>
<p>I am terribly sorry about the mistake of not remembering that Cairngorm is Open Source. Since I wrote this I have been notified about some other articles dealing with the same issue and I think the best one yet is an article called <a href="http://nwebb.co.uk/blog/?p=168" target="_blank">Using Cairngorm &#038; Thoughts On Handling Those Pesky Singletons</a></li>
<p>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Thanks for all the fish..</title>
		<link>http://www.totalworldannihilation.org/blog/2008/03/04/thanks-for-all-the-fish/</link>
		<comments>http://www.totalworldannihilation.org/blog/2008/03/04/thanks-for-all-the-fish/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 13:25:09 +0000</pubDate>
		<dc:creator>leftieFriele</dc:creator>
				<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/2008/03/04/thanks-for-all-the-fish/</guid>
		<description><![CDATA[An adventure which started in March 2007 has reached a sad ending with the announcement of the closure of Ezmo. I am very disappointed that we did not succeed in creating the next generation music experience and that we have let our fans down. Working at Ezmo has been amazing and mostly thanks to all [...]]]></description>
			<content:encoded><![CDATA[<p>An adventure which started in March 2007 has reached a sad ending with the <a href="http://blog.ezmo.com/2008/03/03/ezmo-is-closing-down/" target="_blank">announcement of the closure of Ezmo</a>. I am very disappointed that we did not succeed in creating the next generation music experience and that we have let our fans down. Working at Ezmo has been amazing and mostly thanks to all the great feedback from our users.</p>
<p>I am convinced that a service similar to Ezmo will be the preferred way for people to enjoy music, but it eats me up inside that we weren&#8217;t the ones who where capable of creating that next generation music player. In a situation like this you can of course look back and find things that you could/should have done, but nothing will change the sad outcome. What it all boils down to is that we failed and someone else will be the ones providing the world with a music player where they can play their music anywhere and share it with their friends.</p>
<p>There are numerous music services out there that provide somewhat similar experiences to Ezmo, but none of them really enables you to share all your music without limitations like Ezmo. I&#8217;m just going to mention the names of some of our friends in the online music industry which all can be an alternative to Ezmo, but they can of course never replace Ezmo <img src='http://www.totalworldannihilation.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<ul>
<li><a href="http://mediamaster.com">Media Master</a></li>
<li><a href="http://anywhere.fm">Anywhere FM</a></li>
<li><a href="http://last.fm">Last FM</a></li>
<li><a href="http://deezer.com">Deezer</a></li>
<li><a href="http://songza.com">Songza</a></li>
<li><a href="http://lala.com">La La</a></li>
<li><a href="http://www.rhapsody.com">Rhapsody</a></li>
<li><a href="http://www.sideload.com">Sideload</a></li>
<li><a href="http://orbnetworks.com/">Orb Networks</a></li>
<li><a href="http://www.tunesbag.com">TunesBag</a></li>
<li><a href="http://www.ilike.com">iLike</a></li>
<li><a href="http://www.finetune.com/">Finetune</a></li>
<li><a href="http://www.mystrands.com">MyStrands</a></li>
<li>etc, etc</li>
</ul>
<p>There are tons of other services providing either locker services, internet radio, music discovery and many other types of music services. I wish them all the best of luck and I hope that a service like Ezmo will be available soon as I am addicted to that way of enjoying my music!</p>
<p>Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.totalworldannihilation.org/blog/2008/03/04/thanks-for-all-the-fish/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Just Blaze&#8230; getting started with Blaze DS</title>
		<link>http://www.totalworldannihilation.org/blog/2008/02/22/just-blaze-getting-started-with-blaze-ds/</link>
		<comments>http://www.totalworldannihilation.org/blog/2008/02/22/just-blaze-getting-started-with-blaze-ds/#comments</comments>
		<pubDate>Fri, 22 Feb 2008 12:06:31 +0000</pubDate>
		<dc:creator>leftieFriele</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[flex work java blazeds spring maven jetty hsqldb]]></category>

		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=27</guid>
		<description><![CDATA[In December 2007 Adobe released part of their Live Cycle (LC) suite as Open Source on Adobe Labs and named it Blaze DS. Having used LCDS for some time I was interested in seeing how the Open Source version was compared to the expensive LCDS suite. The result of this investigation is this write up [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" style="margin: 5px 10px; float: right;" src="http://opensource.adobe.com/wiki/download/attachments/1114252/blazeds_high_119x125.jpg" alt="Blaze Data Services" width="119" height="125" />In December 2007 Adobe released part of their <a href="http://www.adobe.com/products/livecycle/" target="_blank">Live Cycle (LC)</a> suite as Open Source on <a href="http://labs.adobe.com" target="_blank">Adobe Labs</a> and named it <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS" target="_blank">Blaze DS</a>. Having used LCDS for some time I was interested in seeing how the Open Source version was compared to the expensive LCDS suite. The result of this investigation is this write up on how to get started with BlazeDS.</p>
<h2>Demo application</h2>
<p>In addition to this written stuff I have created a pretty simple demo application which can help you getting started with <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS" target="_blank">Blaze DS</a>. It is just a simple app for collecting notes and links, nothing very fancy or interesting but this is just a simple application for showing how easy it is to get started with BlazeDS. The sample application contains a <strong>Flex 3 Web- and Air Application</strong> and a <strong>Java Web Application</strong>.</p>
<p>It&#8217;s really simple to get this sample running all you need is to extract the files and execute two simple commands. Make sure you have installed the following on your computer:</p>
<ul>
<li><a href="http://maven.apache.org" target="_blank">Maven</a></li>
<li>Java 1.6.x or later</li>
<li><a href="http://www.adobe.com/go/getflashplayer" target="_blank">Flash Player 9</a></li>
</ul>
<p>Once you have those two things in place you can follow these simple steps to view the application:</p>
<ol>
<li>Download the demo application source code:Â <a rel="attachment wp-att-57" href="http://www.totalworldannihilation.org/blog/2008/02/22/just-blaze-getting-started-with-blaze-ds/blaze-poc-v3/">blaze-poc-v3</a></li>
<li>Extract the ZIP file to any directory</li>
<li>Open the file <em>deploy/blazeds-poc.properties</em> and edit the property <em>echo.db.path</em> to reflect the location where you extracted the source code.</li>
<li>Run the command: <em>install-flex-libs<br />
</em>This command installs the BlazeDS JAR&#8217;s in your local repository.</li>
<li>Run the command:<em> mvn install</em></li>
<li>Navigate to the directory <em>blaze-poc-web</em> and run the command:<em> mvn jetty:run</em></li>
<li>Open the URL: <a href="http://localhost:8081/blaze-poc-web/" target="_blank">http://localhost:8081/blaze-poc-web/</a></li>
</ol>
<p>Now that you have seen the sample application you are probably interested in seeing how BlazeDS is setup. Continue reading and I will go through some of the basic steps.  In order to build Flex applications easily you should use <a href="http://labs.adobe.com/technologies/flex/flexbuilder3/" target="_blank">Flex Builder 3</a> as it give you numerous benefits and helps you develop much more rapidly than any other Flex authoring tool.</p>
<p><a href="http://labs.adobe.com/technologies/flex/flexbuilder3/" target="_blank"></a></p>
<h2>Configuring BlazeDS in you Java Web Application</h2>
<p>Create a Java web application in Eclipse (you might want to use <a href="http://www.myeclipseide.com/" target="_blank">MyEclipse</a> or something similar to make web development even easier in Eclipse). Grab the <a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs%5Fblazeds" target="_blank">latest distribution from Adobe Labs</a> and unzip the content to a folder somewhere on your machine. Unzip the file <em>blazeds.war</em> into the root directory of your web application. You should have a folder structure like this:</p>
<blockquote><p>WEB-INF\flex<br />
WEB-INF\lib<br />
meta-inf</p></blockquote>
<p>Delete all the <em>JAR-files</em> in the <em>WEB-INF/lib</em> directory, we&#8217;re going to let Maven handle the dependencies for us instead of having to do this ourselves. Adobe seems to be stuck in the previous century when it comes to Java development and have not published BlazeDS artifacts to any Maven repository. <del datetime="2008-06-16T11:42:28+00:00">Luckily the guys and girls developing the Open Source <a href="http://code.google.com/p/igenko/" target="_blank">Igenko CMS</a> has put up BlazeDS artifacts in a repository which we can use. BlazeDS dependencies are configured as described in the <a href="http://code.google.com/p/igenko/wiki/FlexDataServices" target="_blank">write up from Igenko</a>.</del><br />
<strong>Upate:</strong> There is still no sign of the Blaze DS JAR&#8217;s getting put into a public Maven repository and they are now a part of the demo application (thanks Per-Otto!), see a more detailed description of why at the end of this post.</p>
<h2>Spring and BlazeDS</h2>
<p>In order to enable BlazeDS to utilize the power of <a href="http://www.springframework.org/" target="_blank">Spring</a> you can do this by creating a <em>SpringFactory</em> class. Christophe Coenrates describes the required steps in the article <em>&#8220;Using Flex and Spring&#8221;</em> on <a href="http://www.adobe.com/devnet/" target="_blank">Adobe Developer Center</a>.  In the enclosed sample project a SpringFactory class is configured in the configuration file <em>WEB-INF/flex/services-config.xml</em></p>
<pre>&lt;factories&gt;
  &lt;factory id="spring"
      class="com.moneytalks.blaze.poc.SpringFactory"/&gt;
&lt;/factories&gt;</pre>
<h2>Using Remote Object in Flex</h2>
<p>Adobe usually says that you should add the <em>-services </em>compiler argument telling the MXML compiler where the Flex configuration is located. This is IMHO not a very smart way of doing this at it forces you to have the exact same file path in all environments you deploy you application.</p>
<p>Instead of passing in the path for the Flex configuration a better option is to pass information required by RPC- and Messaging Services either with Flash Vars which makes it easy to adjust endpoint servernames, file paths, etc in different environments. This approach was first brought to my attention by Mike Nimer in his blog post <a href="http://blog.mikenimer.com/index.cfm/2007/1/10/Bye-bye-services" target="_blank">Bye bye -services</a>. I recommend following this approach as it makes it easy to deploy your application anywhere without having to recompile your application</p>
<h2>Start developing!</h2>
<p>That is pretty much all the important thins you need to know before you can start enjoying rapid development using BlazeDS. You will hopefully experience the joy of being able to focus on developing a great application instead of spending time writing boiler plate code moving data between client and server.</p>
<p>In order to get a better overview of the messaging features you can check out some of the <a href="http://coenraets.org/blog/2007/12/blazeds-open-sourcing-remoting-and-messaging/" target="_blank">great samples </a>provided by <a href="http://coenraets.org/blog/" target="_blank">Christophe Coenraets</a>.</p>
<p>This article is also <a href="http://dallokken.com/espen/2008/06/blazeds-og-flex/" target="_blank">available in Norwegian</a>.</p>
<p><strong>Note!</strong></p>
<p>Since I wrote this article it seems as if the artifacts on the Maven repository I used for the demo applciation have become unuseable. Attached to the article is an updated archive which have the BlazeDS JAR-files enclosed (in the directory called <em>/flex-libs</em>) and with a script (<em>install-flex-libs.sh/.cmd) </em>which installs them in your local repository.</p>
<p>Thanks to <a href="http://www.linkedin.com/in/perottobc" target="_blank">Per-Otto</a> for updating the demo project and sending me the update!</p>
<p><strong>Note 2!</strong></p>
<p>There is a bug in the POM of the web application, substitute the <em>webApp</em> configuration with the following lines (I will update the sample projcet, but this is a temporary solution):<br />
<code> </code></p>
<pre>&lt;webAppSourceDirectory&gt;${basedir}/target/${project.artifactId}-${project.version}&lt;/webAppSourceDirectory&gt;
&lt;webXml&gt;${basedir}/target/${project.artifactId}-${project.version}/WEB-INF/web.xml&lt;/webXml&gt;
&lt;classesDirectory&gt;${basedir}/target/classes&lt;/classesDirectory&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.totalworldannihilation.org/blog/2008/02/22/just-blaze-getting-started-with-blaze-ds/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Taking Flex on the road</title>
		<link>http://www.totalworldannihilation.org/blog/2008/02/08/taking-flex-on-the-road/</link>
		<comments>http://www.totalworldannihilation.org/blog/2008/02/08/taking-flex-on-the-road/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 13:58:34 +0000</pubDate>
		<dc:creator>leftieFriele</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=28</guid>
		<description><![CDATA[In 2008 I have had the pleasure to continue presenting the Flex Framework to different companies here in Oslo, Norway. By doing this I feel that there really is a buzz in the Norwegian marketplace about Flex, but it seems as if the companies have a problem pitching it to their customers and actually getting [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.onflex.org/images/Fx.png" align="right" height="200" width="200" />In 2008 I have had the pleasure to continue presenting the Flex Framework to different companies here in Oslo, Norway. By doing this I feel that there really is a buzz in the Norwegian marketplace about Flex, but it seems as if the companies have a problem pitching it to their customers and actually getting projects using Flex technology. Hopefully that will change in the immediate future and clients will enjoy the benefits of the Flex!</p>
<p><strong>Prior speaking engagements:</strong></p>
<ul>
<li>February 2008: Presentation for Java developers of <a href="http://www.accenture.no" target="_blank">Accenture</a></li>
<li>February 2008: Presentation and debate for Norwegian consulting company <a href="http://iterate.no" target="_blank">Iterate</a></li>
<li>2007: Presentation for <a href="http://www.bekk.com">Bekk Consulting</a></li>
<li>2007: Presentation at Java Zone, read all about it <a href="http://www.totalworldannihilation.org/blog/?p=12">here</a></li>
</ul>
<p>If you are located in the Oslo area and are curious about Flex and  would like to know more, just drop  me a line and I will be in touch.</p>
<p><!-- ddfm1 --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.totalworldannihilation.org/blog/2008/02/08/taking-flex-on-the-road/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sweet work setup with Trac, Mylyn and Eclipse</title>
		<link>http://www.totalworldannihilation.org/blog/2008/02/05/sweet-work-setup-with-trac-mylyn-and-eclipse/</link>
		<comments>http://www.totalworldannihilation.org/blog/2008/02/05/sweet-work-setup-with-trac-mylyn-and-eclipse/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 19:27:01 +0000</pubDate>
		<dc:creator>leftieFriele</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[flexbuilder]]></category>
		<category><![CDATA[mylyn]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[subversive]]></category>
		<category><![CDATA[trac]]></category>

		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=25</guid>
		<description><![CDATA[While working at Ezmo we have until now had no real setup with project management tools or anything like that. This has been important as it has enabled us to focus upon communicating and actually getting work done. When branching out into multiple clients on different platforms the time was right for using tools for [...]]]></description>
			<content:encoded><![CDATA[<p>While working at Ezmo we have until now had no real setup with project management tools or anything like that. This has been important as it has enabled us to focus upon communicating and actually getting work done.</p>
<p>When branching out into multiple clients on different platforms the time was right for using tools for organizing tasks and tracking issues, tasks and improvements. Early on in the company history we used <a href="http://www.atlassian.com/software/jira/">JIRA</a> and <a href="http://www.atlassian.com/software/confluence/">Confluence</a>. Two really great tools which are right for enterprise projects and for large teams or companies having to maintain a lot of different projects. A startup like Ezmo requires easy and simple tools in order to make our team more efficient. We chose <a href="http://trac.edgewall.org/">Trac</a> as our tool as it is a wiki, bug tracker, task manager and source code repository viewer. The integrated tools and the number of different plugins available made it the obvious choice for us.</p>
<p>While looking around for a bug tracker / task management tool I happened to come across an Eclipse project, which was new tro me, called <a href="http://www.eclipse.org/mylyn/">Mylyn</a>. It&#8217;s a task management perspective for Eclipse which enables you to manage your tasks / bugs in your coding environment. This is really cool as it enables you to keep everything you need to work inside the tool you would use to finish the assignments. We have just started looking at this way of working, but I think it will work really well for our very agile development team.</p>
<p>We will look at more ways of automating bug detection for our product in combination with our new tool suite. I think this is one of our biggest areas of improvement right now when it comes to quality assurance.</p>
<h2>Installing Subversive and Mylyn in Flex Builder 3</h2>
<p>Installing Mylyn in Flex Builder requires a slight side step from just grabbing it from the Eclipse Update site. In order to retrieve source code from Subversion and use Mylyn you need some of the Java development tools. I have opted to use the Subversive plug-in for Subversion, you may have other preferences but that is up to you. Heres a quick step by step on installing:</p>
<ol>
<li>Open Flex Builder</li>
<li>Select Help -&gt; Software Updates -&gt; Find and install&#8230;</li>
<li>Add these remote sites:
<p>http://download.eclipse.org/technology/subversive/0.7/update-site/</p>
<p>http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/</li>
<li>Select the <em>Europa Discovery site</em> and press next</li>
<li>Select <em>Java Development -&gt; Eclipse Java Development Tools 3.3&#8230;</em></li>
<li>Now select everything under Mylyn and Subversive except <em>Subversive Integration  Plug-in&#8217;s</em></li>
<li>Press finish and install everything</li>
</ol>
<p>You should now be ready to enjoy Mylyn in Flex Builder</p>
]]></content:encoded>
			<wfw:commentRss>http://www.totalworldannihilation.org/blog/2008/02/05/sweet-work-setup-with-trac-mylyn-and-eclipse/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
