Search This Blog


Social Network Update

Hi there!

Several weeks have passed since my last blog post. But the last few days I spent some time updating my social web profiles.
There's a lot to do if you want to be up to date. And think of all the different passwords ;) But anyway, I finally finished reorganizing all my accounts.
On my google profile you can find all the relevant information and social network links (Google Reader, Twitter, Xing, Picasa and LinkedIn).
Feel free to follow my shared items on google reader or add me on linkedin

Greetings Daniel!


Article about Agile Best Practices

Hi there,

Java Spektrum, a german magazine for java software development published my article about agile software development best practices.
Here is the link (however it's written in german)
I put a lot of effort into this article. It is written from a developer point of view, but without any language specific issues.


Maven - Netbeans - JavaEE5 -Compile on Save?


it has been quite a long time since I published my last post. I have had a very tough time with lots of stuff to do.
But let's continue with a topic/a solution for a problem I have been waiting for several month.
It's about developing maven JavaEE5 projects with Netbeans 6.8. If you have the following project structure : one EAR which contains webprojects and ejb projects and you want to see changes you add to your web content (e.g. .jsp , .faces) directly in the browser without rebuilding or republishing, Compile on Save is the feature you should be looking for.
However, exactly for this usecase, it's not working. The corresponding netbeans bugfix is scheduled for Netbeans 6.9.
I think it is almost impossible to switch from ant (with ant-based projects it works perfectly) to maven. Maybe you ask yourself why I want to switch to maven? It's because of my favorite, the one and only hudson continuous integration server. Hudson is optimized for Maven-based jobs and it makes it way easier to create, extend and monitor these jobs.
I am kind of surprised because only 4 people voted for this issue. It could be that it's because of the few Netbeans users. But among german voters in this survey at jaxenter I see that this can't be the case. So is it because the few JavaEE5 projects with maven? What's your opinion?



CDI JSR-299 updates

Hi guys,

I just want to tell you that I updated the post about my first CDI impressions. I will update this post regularly (see the red bold update text), in order to have one blogpost that contains all the neccessary information for CDI beginners.
By the way, have you searched for CDI on twitter?
Most of the results are not about JavaEE, but Mercedes Benz cars, as CDI also stands for Capacitor Discharger Ignition, which is used in many Mercedes Benz car models. :)

Another funny thing is WELD TEST (Weld is the JSR 299/CDI reference implementation). In the last few days I was looking for a way to write JUnit test for the CDI features. As you need a container, it's tough to test it outside a container. However, Gavin King described in a forum post how to test CDI(Weld). There's going to be a WELD TEST. If you google'll find ...

Anyway, before jumping to the next JavaEE 6 component, I will try to write some Dependecy Injection Junit Tests and tell you about it... I am of the opinion that CDI testing has not been considered that much until now (at least you won't find much about it)



Happy Developers and the ROTI Meeting

Hi alltogether,

As this i my first post in 2010, I wish you all a great start and all the best!
My holiday is over and project work has started.
Before continuing with more Java EE 6 examples, I want to tell you about two really great articles about the motivation of developers and the ROTI Meeting.
I really don't like any stereotype thinking, but as it exists I think it is very important for all the non developers to realize what developers really want....

1) Being Set up to Succeed
- Good requirements
- Realistic Deadlines
"Being forced to build crap is one of the worst things you can do to a craftsman"
2) Having Excellent Management
3) Learning New Things
4) Exercising Creativity and Solving the right kind of problems
5) Having a voice
"When a developer speaks, someone should listen. When several developers are saying the same thing, someone should listen and act . . .quickly"
6) Being Recognized for Hard Work
7) Building Something that Matters
8) Building Software without an Act of Congress
9) Having Few Legacy Constraints
(this is taken from the following article at DZONE)

As a consultant who has a strong focus on developing applications I completely agree with all these points. It is often very hard to have no influence in the decision making process (developers.getProjectRoles().contains(ProjectRoles.DECISION_MAKER)==false). I also sometimes ask myself whether developing software is the main goal of some (software) projects, it could also be attending as many meetings as possible. What I care most about is point 5. Agile Processes, where problems can be solved quickly when several developers try to change something, is a very important part. It's so frustrating if your voice is ignored, especially when you have the whole team behind you. So if the goal is writing software and you really want to do it in time with a certain quality, every project definitly needs happy developers.

For all of you who don't like those "mandatory no result meetings", have you ever heard of the ROTI Meeting?
The following part is just an extract from the link above, so if you want to read more about it, follow the link.

After every meeting, on the way out the door, draw a diagonal line on the whiteboard with the labels 0, 2, and 4.
Each person in turn gives a number on how the meeting performed as a "Return on Time Invested" and the person with the marker draws in the rating. Here is the rating scale we used:

0 = "I'd have been better off making a Starbuck's run. Complete waste of time"
1 = "You really should have let me stay at my desk and code"
2 = "This was an OK meeting. About as valuable as if I'd been coding"
3 = "Surprisingly, this was more valuable than if I'd been writing code"
4 = "Wow, this meeting saved me tons of time. Thank goodness I didn't skip it to code"

Are you asking yourself about the benefit. It's about retrospective, optimizing your productivity and keeping the motivation at a good level. I am a big supporter of retrospective and I can handle criticism (as long as it is goal-oriented), so I would give the ROTI Meeting a try. What do you think?