Sunday, January 25, 2009

Favorites Section on Grails Tutorials

After a long time I have added new feature to the grails tutorials.
The new section is favorites.
Now when you find interesting article on the grails tutorials you can add this article into your favorites. Later on you can access favorites and browse articles. Further on you can browse favorites of other users. Favorites of each user are also exposed as RSS feed so if you like somebody's collection of favorites you can follow it via RSS feed.

"Unfortunately" implementation of this feature was more or less straightforward so there is nothing I could really blog about.
More or less if you created your code with enough templates and custom tags, implementing new feature in most cases is actually adding one or more domain classes, reusing existing services and templates and using dynamic gorm methods.
Well and this is the part I really like about grails. Adding new features usually is more or less matter of hours (not days).

Tuesday, January 13, 2009

Don't forget to ask "why"

Recently I was browsing through stackoverflow searching for interesting questions and answers.

Question that raised my interest was:
"What you don't like in agile development?"

And the answer with the most votes started with: "I don't like seeing people focus on "what" and missing "why"."

You can have a look at the full thread here.

And actually asking "why" is one of the main attributes of the agile software development. But as hype was created around agile methodologies everybody are happy with the fast delivery and smaller number of bugs. And some agile teams had adapted to this style. They are developing everything that is thrown on them for the given iteration. Sometimes request does not give sense but it is implemented anyway.

But we should not forget that idea of the agile methodology is to help customer build better software. And we can build better software only if we ask customer "why?".

So next time when you meet strange requirement ask the customer "why?". And keep asking "why" as long as you don't get to the core of the problem. And don't expect that you will get easy to the core of the problem. But when you are at the core of the problem there is big probability that you will be able to propose better solution and thus help customer to build better software.

Don't forget that software development should be fun.