Sunday, July 12, 2009

On translations, the choice of words, and software development :)

A couple of days ago, I have received a link to an interesting article about the woes of translation (in Russian) - thanks to Dmitry Reznitsky for it. For those who can't read Russian, it is about the funny consequences of the fact that in Russian almost all words have a gender prescribed by the grammar rules. Therefore, when a gender in the original language differs from a gender for the same word in Russian... Houston, we might have a problem.

And a problem indeed. Take the well-known fairy tales. In Winnie-the-Pooh, the one who had to undergo a gender-changing procedure, was the Owl (every Russian kid knows that the Owl is an old ladylike creature in lacy bonnet who desperately tries to appear wise, but can't because of her sclerosis or something - thanks to the very popular cartoon). In Alice in Wonderland, the Caterpillar, the Dormouse and many others had to become women, too. (The author of the article rightly notices that some scenes become completely absurd as a result). And then, well, The Jungle Book and the brave warrior Bagheera who, in its Russian version, is a charming and fetching slim black panther (this fact is noticed to the English Wiki because of yet another Russian cartoon which was, believe me, not bad at all, even with a female Bagheera mutilating the originial plot :) ) The translator could have chosen another word, at least in this case (the word "leopard" which means the same has masculine gender in Russian), but it didn't happen, and now it would be extremely difficult to correct this mistake, because the existing translation is sort of canonical, because every Russian from the age of 4 couldn't help having seen aforementioned cartoon zillion times already, et cetera...

So, this is a good demonstration of how the choice words can influence the meaning.

Now I would like to have a couple of words about sailing. I have been participating in the short sailing trip a couple of months ago. What was the most revealing experience is how important the work correlation is when you are on the boat. Everybody must somehow work together, otherwise you won't go anywhere. All crew has to be, so to speak, in sync. More to that, the other boats should also take yours into account, as well as you should keep them in view and react in the way that is beneficial to the others. There are rules defined with that philosophy, and you should honor them. You just can't not to. Also, it is worth noticing that the crew always has a clear purpose - to get somewhere - and it is always possible to say whether this purpose has been achieved or not. If it has been achieved, all crew gets the credit; if it hasn't, all crew failed (from inside, of course, you always can organize scapegoat hunt, but the outside world can't see them on their own).

Very different from footbal, for example, or baseball, or rugby, where not only the purpose of the team seems to be nothing else but to win from the other teams (keeping to the rules just as much as not to be punished for not keeping to them), but any particular team player can be competing with the other team players for the recognition from the public. The team doesn't create anything. The team is here to win, that is all. If they win, the good guys are rewarded, and the losers are eventually sent away.

The third example of human collective which I know about is a choir. I sing in one myself. The philosophy behind choir singing is, once again, different, but it seems to be closer to the philosophy of a boat crew, than to the philosophy of a team. The choir has to be in sync. The choir has a clear purpose (to deliver a song). And this purpose is achieved only if everybody manages to work together and the conductor can establish proper rapport with the choir.

Now, finally, what does it all has to do with the software development?

I'll try to explain.

Usually, when one speaks about software development, one speaks about "teams". "Teams" are doing "tasks" with the purpose, apparently, to participate in the process of creating something useful in the end.

I have got the impression that the team metaphor doesn't fit very well. If the purpose is to deliver something, rather than just "win", then it seems like the SW command should be a "crew" or even a "choir" rather than a "team".

Team metaphor means there can be losers and winners within a team, and that the outside world knows about it too. Also, it means that if the team loses, they might have an inclination to find the reason for their failure in the fact that some outside authorities were too harsh to them. And of course, there is a lot of competition: with the other teams as well as within the team itself.

May be we would be better off emphasizing the need of the team (or crew) members to find the ways of cooperation with each other and to concentrate on keeping a goal in focus (like the people on the boat should do). I sometimes feel that too much energy is spent on nitpicking the microstrategies and sometimes it goes at the cost of the things which really matter.

May be I'm terribly wrong in all that, but I am sick of the talk about "teams". As simple as it is. We are not writing software only to win from those who might be writing the same software, but had less luck. We are writing software to create something really useful. How can we create something really useful, if the main emphasis is on competititon rather than cooperation?

I really would like to be off from the analogy of a team, in sweat and soap, which tries to win at any cost, even if that means changing the goal or bending the rules in other unpleasant way. Cooperation and synergy is what we should be aimed at. Things which help achieving this for the particular environment, are good. Things which hinder the process, are bad. And one can never say in advance what will work for this particular... crew, collective or how else you decide to name it. A collective consists of people; there are no two people alike, how there could be two collectives alike, then?

That's all banter I have to deliver on this, for the time being ;)


Jeff Prouty said...

Yes, Anna, words in any language carry a lot of excess baggage on a cultural and a personal level. The latter is particularly true for me with "team," a word that grates on my nerves like fingernails on chalkboard. Like many young nerds, I was never very skilled at "team" sports and found them demeaning in many ways. The examples are numerous but too embarrassing to describe in public. Now, as a member of a software development "team" I still cringe every time the word is used. I like the term "crew" and will substitute it for "team" every chance I get. I'm afraid we're rowing against the tide here, though.

Anna Nachesa said...

James Finister (a.k.a. @jimbofin) also told once that for him, the word SCRUM does not have any particularly cheerful associations, being linked with high school rugby games and all that went along with it. I think that was where the idea of this post started, more or less.