Consistency vs Choice

16 02 2009

I would like to share in this post one of my conclusions based on the projects experience.

It is very common situation when something can be done in more then one way. For example, you can have List screens where some lists of items are shown. And you can have a small feature there: search by the item name. There are at least 2 distinct ways how you can design the interaction:

  1. User types in a part of name and then clicks some button or icon. Search is applied then.
  2. User types in characters and as he types the list is continuously being filtered

The question that will definetely appear at some moment is which alternative to follow.
Some people can just not notice this fork and will implement some default solution. This way is not good since there is 50% probability that your users will ask you one day “Hey Jack, why didn’t you choose the other way?” and you’ll need to redo.

If you are more smart you will smell the fork and will ask your customer beforehand: Hey John, how would you like this to work?

That will work but still this is not the best solution.

The best one is to have in your application 2 similar List Screens and implement one way on the first screen and the second one on the second. Then leave it as it is. Let the John-the-Customer touch it, play with it and he will come to you one day and select the solution fitting his needs the most.

You may think there is something wrong with such approach, a need to do double-work, but it is easy to smooth out everything when you have different versions. It actually degrades the probability of those 50% when John ask you reimplement the stuff in absolutely different way.

To sum up the bullshit above: consistency always wins the battle through the powers of choice :)





16 10 2008

I was about to write some piece of bullshit into my blog. Was watching a movie and there one funny guy told a thing “blogging is all about to keep a continuous narration”. Hell knows if that was right though or completely crappy but I am definitely almost absolutely sure that it’s not a good idea to write something down when it is a midnight and your brain is kinda tired and wants to say you “bye bye” :)
So… I decided to check if there are some smart things in blogs of the people I know (not that much, really, I mean not that much people I know having blogs and posting something there) and found out that Pavel has written a thing. Whoever can agree or disagree with the theory a dude referenced there by Pavel evolves but it shouldn’t take such a deep philosophical-kind digging to see that software-craftsperson is better then just a good developer or good DBA, or good PM.

Pavel’s post made me think about why do some people need to back there thought upon the identical thoughts of other people who are for some reasons are known by the greater auditory. Proper thought comes from experience and don’t need any “approval” of others.

Also there was a picture describing a “standard team”. I’ve never seen a standard team.. really never, such as it is described on that picture. I think such standard teams are all dead long time ago and if someone tries to revive one it will fade to gray :) Real teams now are agile and consists to some extent of software craftsmens. At least it proves itself that if you have only pure “jave developers” or pure “htmlers” in your team then your chances to get into troubles are higher then if you have people with multidisciplinar knowledge. Also having such people doesn’t guarantee you will succeed instead of failing and delivering sucks.

One more thing that one can see on that painting is that in team of software craftsmen you can’t be just a specialist, you need to add a VALUE to the team, otherwise it will be boring for you with them and they will be bored with you.

So, let’s learn and specialize, then learn and generalize, and then once again learn and become jacks-of-all-trades. And the fact that Pavel named his post “Softare Craftsmen” tells me that he is not a man of theory, he is man of practice, and working with him I really think he is. Thanks for the reference :)

I see that a lot of people are viewing sometimes my blog (can’t see exactly who you are ;) ) and only some leave me a comment (girls, don’t be shy, I’m still single and can have a dates ;) ). That’s normal, most of people are shy or unable of producing a simple few sentences that are linked together and meaningful )) Just whoever watching this and trying to get some piece of a thought – read that article of Pavel and then read the article of the guy referenced there. It’s how it works, the blogging I mean, the network.

Almost forgot… I should name somehow the post… it can’t be without name I suppose. Or can? I will try to submit it without a name. Let’s try :)