Midway theory

I like the train journeys more than any other form of transport. Lots of thoughts come to my mind only when I travel in the train. You are pretty relaxed observing the scenery outside incase you are travelling through the suburbs or country side. Watching sunrises and sunsets from the train is not an everyday treat. The feeling cannot be described when you watch the bright red globe appears to race between the trees, mountains and building. For a brief moment when you get a clear view, you will forget to blink………more pictursque is the view of the early morning sun just above horizon streaked by thin clouds. I used to wonder, cant the whole day be as beautiful as the sunrise?

Urban train journeys are not pleasurable, lots of people travel by train to work during rush hour jam packed into coaches. I happened to be at a train terminus during a rush hour. When an empty train came into the station people rushed into to grab the seats so that they spend the rest of the journey with comfort. There is nothing new I noticed in this behaviour but the one which I observed for the first time was the way in which the people occupied the seats. I expected the seats to be occupied sequentially from the first seat to the middle row of the seats which are equidistant from another set of doors. Say the coach had seats numbered 1 to 100 with three doors front at no 1, middle at 51 and back at 100. People entering front door should have occupied 1,2,3 so on, people entering the middle should have occupied 50,49,48 or 51,52,53 so on, but I noticed something different. The first seat was occupied, then the middle one, then the middle of the first and the middle and so on until all the seats are filled only by filling the middle seats in between occupied seats. The seat number 1 was occupied then the next person chose somewhere in 20, the person after that chose in the 10s and next one chose between 1 and 10. The coach was full in less than a minute and there were no seats left empty, yet why did people choose to occupy the farthest seat from the next person even though the train is going to be full. Is that few seconds of sittting alone is valuable?

I got an answer when reading for the exams, humans have a space bubble built around them. This is classified as public, social, personal and intimate space. As far as possible the personal space territory will be defended by all people. It gets breached only incase of other things getting higher priority. This is explained by the way seats were occupied, people tried to keep as much distance as possible from the strangers, but when the number of vacant seats became less they were more willing to sit next to a stranger. When the train was overcrowded they didnt mind standing brushing against each other. From that day onwards whenever I visit some places like cinemas and auditoriums, I keenly started noticing the way the seats are occupied. Quiet astonishingly it is occupied the same way almost every where.

I told to myself and conciously avoided to follow the midway theory, so when I got on to a train to my native late in the evening I occupied a seat next to a stranger in a sparsely crowded coach. For a while he pretended to look for someone and then eventually went out of the train just to come back and occupy a different seat. I know, the midway theory is working.

Which seat will you occupy when you board a train? I guess the answer is quite obvious, the middle seat.

Advertisements

Productivity & Progress

I often come across the illusion that a productive day for a developer is to churn out as much code as possible. This illusion creates an  expectation to keep coding for the whole day and cut short time to design, reflect or retrospect.

Measuring programming progress by lines of code is like measuring aircraft building progress by weight

The answer to the question of measuring productivity is very difficult especially in the application developer’s world. Every one wants something such that it either enables them to earn more money than what they spent on acquiring it or it gives a sense of satisfaction on using the product (Essentials and Luxuries). Same is the case with every business who wants a software and present the consultants with what software they want most of the times instead saying what is the problem they are trying to solve.

It is expected of every programmer to make sure what we do is what the customer really needs instead of being a human translator to get specifications into working software. After a careful analysis we may even have to ditch the requirements or spend more time in sharpening the tools get usable working software soon, most of the times do both. I came across this post by John D Cook, who illustrates that sometimes a programmer can be 10 times more productive than his/her peer but it will not be obvious at all.

Numbers are useful mostly to indicate an absence of something. If we concentrate on creativity and problem solving instead of  getting some numbers on board we would end up being very productive.

It is dark when I go home

It is dark when I go home

When I started my career, my typical work day started by 8 am and ended by 5. Lots of sunlight both during the morning and evening commute (My dad and his friends had such a lifestyle for 30 years). During my school and college days there were not even good TV programs beyond 10.30 pm. Globalization and outsourcing has forced many of us to work from different time zones for the same set of goals, which has made it mandatory that working hours between the two zones overlap even if it is 12 hours apart.

Biological evolution is too slow compared to the technological revolutions. Any thing happening in the technical world is not adapted by us, instead it gets retrofitted into our system. Scientists often point out the importance of circadian rhythm and critics try to prove other wise by staying awake for days together. People have stopped measuring sleep records because brain is so capable of putting sensory organs to sleep without the individual being aware of anything which means there was no way of proving wakefulness. Micro sleeps are a result of large sleep debt and it is the one which causes many road accidents and critical errors (Chernobyl accident happened when the staff worked on double shifts). Sleep also restores the body, processes memory (removes noise and indexes) and there tons of other things which are beneficial and still under research.

Circadian rhythm helps us to get a healthy sleep wake cycle which will reduce the dependency on stimulants and relaxants. The current lifestyle has become largely transactional and time spent on basic necessities like consuming food, sleep are considered to be a low yield activity. This makes us prioritize activities which outright give the illusion of bang for the buck. Since our body is still wired very much to the sunlight availability as it used to be just few hundred years ago, the body clock gets affected very badly because of erratic sleep wake cycle. Some long term health issues are considered (yet not proven) to be because of bad sleep hygiene.

One solution to fix easily would be to start work early and reach home before sunset. That therapy could be available free of cost as well and it helped me when I was following it. The traffic was light hence faster commute, within 2-3 hours of sunset I was sleeping which in my opinion was the soundest sleep I ever had. Early morning coffee and newspaper in the breezy balcony (Even in Chennai summer) was heavenly.  I have succumbed to the team’s requirements and now altered to my lifestyle of starting work almost near noon and ending late. Now it is dark when I go home.

Agility

A hunter watches a mountain goat grazing on the pastures on the side of a highway. A speeding truck loses control and starts veering towards the grazing goat, in split seconds it jumps off to a safe place. The hunter’s kid who was watching all this asked his dad, “Did the goat escape because it is agile?”. The hunter replied “It is just common sense to avoid a speeding truck”.

There was a question posted in programmers forum in stack exchange site asking Is agile the new micro management? I am not sure why such an impression about agile has been formed in that person’s mind. It could be due to some recommendations being wrongly interpreted. First of all the recommendations like “a quiet place to work” is a necessity for development teams anywhere following any methodology. Interpreting that as a no talking zone requirement is against improving communication between the team members. My perception about why these kind of wrong interpretations arise is due to wrong sense of accomplishment provided by having something tangible. If someone has to show any progress in adopting a new process or a method then it is natural for him/her to incline for a support in some form which could be seen or measured. This has led someone to believe that following some guidelines verbatim and measuring the level of adherence to it is equal being successful in adopting a new process or method.

I have not been aware that I was part of agile teams for a few years until I met someone who joined my team because it was an agile team. We were a team of 12 people doing weekly releases to production, wearing different hats of Dev, QA, BA and had everyday interaction with the customers. That is how I started my career and I never felt the value of it until I worked in a conservative setup. There was one golden rule of thumb we followed in the teams I worked, treat the team (client team included) as your own organization and do what makes sense to deliver the right value.

I asked one of the directors of a company that how come he never used the word agile though he was part of agile teams for quite long, he replied  “talking to your customers often; keeping the code well tested, integrated  and delivering the right value on time is all about common sense. There is nothing agile about it!”. He sure left me to figure out what agile meant.

Is there a prescription? Check the answers given out in that forum for that question.

Android bubble

Recently my faithful mobile handset dropped dead after five years of duty as a phone and a bluetooth DUN. I reached the shop trying to get myself a similar device and the salesman lured to Xperia arc and started explaining the features. The one feature (ok fact) that sounded too ridiculous was 2,50,000 applications available and the numbers are increasing way too fast. I ditched any advice to go for a hi end phone and settled for a candybar one. I think that there is an android bubble and need to understand how big it is. First look at the market place shows that it allows any application to be available for use without QA from them. This one window allows vendors to mutate, replicate, spam their products on the market. Examples – Ringtones classified as mp3 players, wallpaper changers with just one wallpaper but rendering too many ads, very simple applications which could rather be rendered as a web page. Finding a useful product out of the store is an uphill task.

Secondly; like how every company wanted their website during the dot com boom, similarly they seem to be in line for mobile applications for themselves. Most of the applications are concentrated on content rather than getting innovative by using the accelerometer, camera, GPS, cell site information, NFC and others. Layar is one such application which is a true blue mobile application. My gut feel is once the excitement levels plateaus and the awareness of the mobile applications increase, then we will see high quality products on the market. As a developer I restrain myself not to create a mobile app which can anyways be rendered in a web browser with a good UI.