My tupence worth about Øredev 2013

Tomas Malmsten
12 November 2013

I got the opportunity to go to Øredev last week. Thanks to Martin Stenlund, the CEO at the consultancy Diversify where I work, I got a full three day pass. I’ll try to summarise here what I found most valuable.

There were a couple of talks about Agile and how to bring Agile forward that I found very refreshing. They kind of go below the surface, the process, method and so on and look at the underlying values that can empower us if we only let them. There was the Mob Programming talk by Woody Zuill and also Implementing Programmer Anarchy by Fred George. Both of them focused on what can happen when you let the team get the job done and get out of the way. As Zuill put it it’s not about making great software, it’s about creating an environment where great software is inevitable. Much of this is about competence, both from the business side and from the programmers side. If either is not advanced enough to work in this way it will fail. But we can still strive to educate each other and our self to become knowledgeable enough to work like this. If you have the opportunity I warmly recommend you to see the talk by Fred George, it has unfortunately not been published online yet. You can see the Mob Programming talk here.

Continue reading →

Setting up Continuous Integration for a public GitHub project

Tomas Malmsten
22 October 2013

The other day a colleague asked if I had ever tried to set up any of my GitHub projects using one of the free CI services available. I hadn't but thought it an interesting thing to do. It proved to be a ridiculously easy task.

I could find two service providers on the market. One is BuildHive from CloudBees. This is the the company behind the CI server Jenkins. The other is called Travis CI and is provided by Travis. Travis is a, to me new, CI company who also seem to offer some enterprise services in the cloud.

Continue reading →

Visualising technical debt

Tomas Malmsten
1 April 2013

Technical Debt is something most teams struggle with in one way or other. One of the more common issues I encounter is how to visualise the actual cost of technical debt in a way that the business stakeholders understand. To achieve this I have used a special product backlog type with some additional data.

The debt needs to be tracked in two places. A comment of some kind is needed in the code which will identify and remind the developers that the debt have been logged and is being tracked. I have created a TODO like comment which I’ve called DEBT. The tag holds a link to the backlog item which is tracking the debt. When a developer encounters the comment in the code they need to read the item to understand what and how to deal with the debt.

Continue reading →

Setting up Continuous Integration for a public GitHub project

Tomas Malmsten
6 March 2013

I just stated a new assignment and they use Subversion for version control. It was years since I last worked with Subversion and have been exclusively using git since. So I decided that rather then going back to SVN and getting confused and frustrated I will use git-svn.

After two days of struggling to check out the larger, and more important, repositories using git-svn I was starting to doubt the value of this. Sure, The reason it takes so long is that git fetches the complete history but SVN only fetches the last revision. But will this wait really pay of?

Continue reading →

Restlet’s JAXB extension in OSGi

Tomas Malmsten
27 September 2012

When using JAXB in an OSGi container it is important to load the JAXB context into the correct class loader. This is actually an issue with any framework that has not been release for OSGi and uses class loaders. I ran into this when trying to use Restlet's JAXB extension.

The fix is actually pretty easy. When using the JaxbRepresentation it's important to pass the current class loader to the constructor. I extended JaxbRepresentation to make the client code lighter. You can find the code for this below:

Continue reading →