12 Juli 2013

Why I stopped using Scrum

In previous projects we used Scrum. I liked the daily stand up meeting and the planning process and I became a certified Scrum master.

But in the current project we do not use Scrum.

Why?
We have the perfect team size which is 3 (2 could be even better)!
Therefore we...

do no not need stand up meetings
And because we are only three people we don't need a daily stand up because we talk so much during the day we already know everything what is going on. Problems are solved when they come up during the day.

do not need a planing process
Planing and release process is very agile because we do both implementing new features and fixing problems of the running application. We also have kind of a back log which contains very fine grained tasks.
On the other hand because we are a very stable team with in deep know how of the whole application we are able to do reliable estimation continuously.

do not have sprints
We don't need sprints. Based on the current bugs/problems and the features we decide continuously when to release a new version.

Please don't get me wrong I don't "hate" Scrum but I think if your teams has the perfect size and is well performing it is not necessary to have a corset of a project development process.

There is also a worth reading article from Martin Fowler on XP: http://martinfowler.com/bliki/ExtremeProgramming.html


11 Juli 2013

Why I stopped using Maven

After 5 years with Maven I came to the conclusion that Maven is not very helpful with Java EE projects.

The reasons are the following:

Dependency Management of Maven is useless
With Java EE you have a target runtime (the application server). This runtime must be install anyway on every developers box for development and testing.
Now because you already have all libraries there (and in contrast to the Maven repo in the correct version) you don't need Maven to take the libraries from elsewhere. Therefore Mavens dependency management is useless. So if you use JBoss for example you can reference JBOSS_HOME which anyway points to your JBoss installation.

Now what about other libraries you may want to use in your project?
The solution is quite simple: Put them where they must be. Means in your EAR project in the lib folder or in the WEB-INF/lib folder in your WAR project! So you can put them into your version control system and you are sure everybody takes the same libraries.

Maven is not a good build tool
Ant in the past and Gradle nowadays are much more flexible and powerful build tools. They are simple and very customizable and will fit perfect what ever your build needs.