A Pragmatic Approach to Continuous Delivery

Summer time means less people at work and more time to think ahead what to do the remaining part of the year. In my case it means that I have signed up for a talk called A Pragmatic Approach to Continuous Delivery at jDays, a Swedish Java Developer Conference located in Gothenburg. Read the abstract here, and vote for it here if you think it sounds interesting.

While I was at it, I also proposed a lightening talk on the same subject to Smidig 2012, a Norwegian Agile Developer Conference in Oslo.

Agile Architect Pattern

Intent

Guide the team to reduce technical debt before it becomes a problem.

Motivation

The nature of agile development is to deliver working software continuously. This means that the focus for all actors (Product Owner, Scrum Master and Team) is on the functionality delivered in each iteration. As a consequence, technical debt is considered okay and is likely to increase for each iteration completed. Often, this is allowed to go on until the debt has reached a level where the velocity of the team is starting to decline. After a while something has to be done, and the term Refactoring Sprint is introduced. A refactoring sprint is in this context an iteration totally devoted to paying off technical debt, thus no functionality is delivered for an entire iteration.

How it works

The Agile Architect Pattern prevents the scenario from the motivating example from happening by introducing an Agile Architect role. The Agile Architect can be seen both as a member of the team and as well as a stakeholder. This makes him/her able to both work with the team members, guiding them while trying to identify architectural issues as well as discussing requirements for future iterations with the technical resources from the client. While the team has a iteration-by-iteration time frame, the agile architect can see a few iterations ahead making sure the architectures evolves in a way that (hopefully) will not cause major problems ahead.

When to use it

The Agile Architect Pattern should be used in any project spanning over enough iterations likely to cause the technical debt large enough to slow the team down. It is important that the Agile Architect is comfortable both in the code domain acting as a guide for the team as well as on a higher level of abstraction to be able to interact with the client technical resources.

Upcoming Talk at Agila Sverige

I will be giving a lightning talk on the subject “The Architect role is needed, even in agile projects!” at the Agila Sverige conference which is arranged in Stockholm the 23rd and 24th of April this year. I will not reveal too much of the content here, but as the title implies, I will be promoting the need of an Agile Architect in every project. Agile or not…

Øredev 2010 – final thoughts

Having attended all previous Øredev conferences I think I am pretty qualified when I say that this year’s conference was by far the best. Great topics, excellent speakers and flawless organization. Even the closing panel debate, which usually is just something you have to suffer through to be able to win prices in the raffle at the end, was interesting this year.

Since it is such a diverse conference, it is difficult to point out a single item that was the main trend at the conference. But if I should pick one thing, I guess it would be that most of the talks I attended more or less circled around the Get Real! theme of the conference. Hopefully this means that the industry is getting more mature. Don’t want to be a self-fulfilling pessimist, so it is just to be optimistic 🙂

See you there next year!

A Special Year

The first time I attended JavaOne was 1999 and I have only missed it once since then. Sadly, this year will be the second time I am not present there. I have become kind of used to the week in San Francisco every year. It is the perfect way to start the summer with a visit to that beautiful city. Since it is in September this year, it would probably been the perfect way to end the summer (…we have short summers here in Scandinavia…).

I will for sure miss the massive input and inspiration this conference gives me and enables me to keep up-to-date on everything that is happening in the Java Community. This year’s conference is also special since it is the first time Oracle is hosting the show. It feels like a good idea to co-host it with Oracle Develop and I hope it will be a success to be continued. Next year, I will definitely be attending, one way or the other…!

Our Irrational Fear of Real-time Exposure

I made an interesting observation when I was at one of the sessions at the Øredev conference today that struck me as kind of weird…

Even though we are out there exposing ourselves on facebook, blogs and twitter, we are not comfortable sitting next to someone that are watching us typing while we are writing our blog post or tweet. As soon as we hit the submit button everything changes. Now we actually want people to read the stuff. That is why I call this

our irrational fear of real-time exposure

Exposure is fine, which the popularity of facebook and twitter are evidence of, as long as we are not caught doing it. Feel free to tweet, blog or comment on this 🙂

Øredev 2009 – Day 3

I was not present at the conference yesterday, so this is actually my second day here, and that also explains why there were no post from yesterday. Another explanation could have been that I was lazy, but that is not the case this time… 🙂

Well, over to what this post is all about: the conference. The keynote was held by Scott Hanselman. He gave an excellent talk about effectiveness and efficiency. Some really good stuff to bring back from that speech. Will try to list some of the techniques and tools he mentioned in a later blog post.

I will also summarize the rest of the sessions I attended today very soon here…

Great conference!

Øredev 2009 – Day 1

The conference was opened with a keynote by Marc Lesser. He talked about how to accomplish more by doing less. It was a kind of usual opening of a technology oriented conference, but I guess a bit of zen thinking early in the morning can only do us good.

Ola Bini presented the folding language Ioke. I will definitely download this and play around with it. Hopefully, I can use it in some presentation in near future. Really cool and fun!

The next presentation I attended was Neal Ford’s presentation about XP in practice. Nothing really new there, but more a confirmation that what I feel we are doing right applies to others as well. And, more valuable, tips and techniques for how to improve on what we are doing not so right. At last a kind of nerdy way of looking at pair programming:

  • 100 eyes
  • 010 brains
  • 001 mind

Continuing on the agile track, Dan North gave an excellent talk about our obsession with efficiency. The three key points to remember from his talk is:

  • You get what you measure
  • Not all vendors are bad guys
  • Efficiency isn’t effective

Back to the languages track, I attended a talk by Neal Ford where he compared Groovy and JRuby. It gave me a pretty good comparison of the benefits and drawbacks of both languages.

The only session on the Java track was a disappointment. The only thing I really got from this presentation was that I could charge my netbook’s batteries. Still running OpenSolaris on it, by the way, and is generally happy with it!

Last technical presentation today was about clojure. Kind of tough thing to jump into this late in the afternoon, but the presenter, Stuart Halloway, did a great job.

In the afternoon keynote, Cameron Purdy did a comparison of Java and C++.

Overall experience from the first day of the conference is good. It is impressive that they have gathered so many international speakers. If I should pick on something, it has to be that the opening of the conference would benefit from being a little more flashy. Maybe have the opener learn his speech and practice on the English pronunciation…?

And now, it is time for mingle and beer!