Thursday, 7 May 2009

Balance

You need to have balance.


If you want to do things right you need to be in balance. Being in balance in taiji (tai chi) means that you have practiced doing the movement many times and you are able to have control through the whole exercise, thus never loosing balance. It does also imply that you have the mind in balance.

But what does it mean to be in balance in a project? I would say it is the same thing. The project should have practiced doing things slow enough to gain full control and enable the people to be in balance. If you run fast and you do not normally run that much, what do you think will happen? You either run too fast and not be able to finish the round because you are exhausted or you are maybe running so fast that you loose your footing and fall? These are the visible problems we easily notice if you are not fit enough to run that fast, but there are others that are more subtle indications like your running style. Maybe you are running in a hurtful way and if you continue to run in this way you will harm your body, but not see it before you have been running for a long time.

To run fast you have to run well. To run well you have to practice. To practice well you have to practice slow. Did the sprint go bad? Maybe you ran too fast? Slow down and be in balance whereever you are. When in balance you are always able to change your direction.

When a project is in balance it adapts to whatever comes down the road. It runs well and it runs fast.

Saturday, 29 November 2008

Vacation

I am sorry for the lack of posts these last months, but time has been too quick to pass on me. The reason for this post is to inform you that I will be going on vacation for the rest of the year. Maybe there will be some posts during my backpacking in China, but I do not know.

I have a lot of ideas for great blogposts in the new year, one is an experience I just had in a project that suddenly had new stakeholders and I got some opinions on coaching in the agile environment (+even on being your own coach). But all this will have to wait till next year if I do not get bored down in the far east.

Merry Xmas and a Happy New Year to you all!

Monday, 17 November 2008

Video from Smidig2008

The videos are here! http://smidig2008.confreaks.com/
It's in Norwegian I'm afraid, but its all about agile. I promise!

Wednesday, 10 September 2008

Smidig 2008, 9-10 October

Smidig 2008 is soon here! http://smidig2008.no

Last years conference was a great success and I had good experience with the openspace discussions that I attended. This year it is even better! Since I had such a great time last year I thought that this year I could help out with the organizing. And I am!

This year we will have a even better location with more space for discussions and mingling. For you guys out there that does not understand Norwegian, do not despair. I will give you some of the lightning talks wrapped in my perspective after the conference..

Wednesday, 23 July 2008

More on Age of Conan and priority

It looks like someone at Funcom has found that communicating with the "product owners"/customer is a good thing. Here you can read about a Funcom employee asking for a list of bugs and new ideas.

Lets hope they keep things like that going and make AoC a great game

Friday, 18 July 2008

Maintenance project?

In software engineering, software maintenance is the modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment.”(ISO/IEC 14764). [Wikipedia]

I have been bugged by the term maintenance project for a long time and it is time to vent the frustration here. The project I am working with has two parts, one for development and another for maintenance. While the project is called a maintenance project we actually do produce a lot more new functionality than correcting fault and adapt the product. Many projects are in the same environment and it is unfortunate that they are called maintenance project when they actually should be rid of the term maintenance. We do maintenance as well, but not to the extent that it should be reflected in the name.

The reason I bring this up is because maintenance is not a popular word and people start to get all kind of ideas when they hear the term. People often say that maintenance projects does not use any new technology, they do not do anything exciting (from a developers perspective). Well this is in our case wrong. We do new functionality every day and we make use of some of the newest technology out there. Our code grows and adapts with new technology.

Let me mention some of this years improvements to the code and environment:
New platform: Moved from IBM Websphere to JBoss.
New JDK: Moved from IBM JDK 1.4.2 to Sun JDK 1.5
EJB2.1 to EJB3
.Net1.1 to .Net2
New EpiServer version
RAD to IntelliJ
..and a lot more!

I think one of the important tasks in a project is using new technology, not for the sake of having new toys, but to be able to move forward. The changes we made in the project have made new functionality possible in new and better ways for our customer.

So my suggestion is to stop using the term maintenance when the project delivers more than 70% new functionality instead of maintenance as defined at the top of this blog. Make room for new technology in you project not only for your own motivation, but also for the sake of your customer.

Tuesday, 24 June 2008

Priority and Age of Conan

What is priority?

It is often easier to ask people about what they want first instead of asking them about priority. This often shows when you ask the product owner about what is important and they say that all is important. Then you might try to ask for what is the most important functionality. Then they normally have problems choosing which task it is, because they are all important. They all have high priority.

Here is a trick; Ask the product owner what they want first. What do they want in the next delivery? They usually pick the most important for them. If you have multiple product owners, then let them pick their different functionality and add it all together in to the sprintlog.

Now over to something I just recently noticed about priority and product owners over at the discussionboards for Funcom's new MMORPG: Age Of Conan (AoC). The game has been in the stores for about a month and hundreds of thousands have bought it already. If you read the posts on the forum you will quickly see that many of their customers are not satisfied about the product. Even though one should be careful to believe everything on discussion boards there is one thing that really is obvious. Many of the posts talk about priorities of bug fixes and new functionality. I wonder if Funcom listen to their product owners, who in my opinion is the customers that play the game. The last patches has been critisized for not delivering the bug fixes that are important to the product owners. There have been posts about new functionality that have no value for the product owners.

To have hundreds of thousand product owners is no easy task I can imagine, but I ask myself what would I do? It seems to me that they really need to involve the product owners and actually deliver value. I propose to make it possible to vote for issues on the discussion boards and make it visible that these are the most important issues. Then when the new patch arrive they actually deliver what the product owners thought most important.

Make a list (backlog).
Vote on items from the list (1 week or until next patch).
Put the items on the list in prioritized order.
Start at the top and work you way down.
Rince and repeat.

Any comments?