Striving for efficiency can only be a good thing, right?

Yet this is not always the case, consider that the problem may not be the striving towards increased efficiency but the materials utilised in striving for it. No matter how hard we try, the basic truth is that any process in which people are involved in, has inherent limitations because of the human elements.

It is interesting and paradoxical that the human animal to function efficiently must have periods of rest and even diversion. Have you ever pulled an all-nighter to complete a project due the next day? The result is fatigue and usually not the best work. Side effects include emotional shifts (moods) and a distorted view of the finish result.

Well now extrapolate that to a solid 6 days with only 6 hours sleep and 3 of those hours on the very first night. Yes it can be done, no I don’t recommend it. The work becomes numbing and often and luckily the higher functioning work which involves higher mental skills such as thought are in the first days. The result is very sever fatigue and a case of diminishing returns, where version control becomes a haze and the final piece of work suffers from the lack of a clear view. The human body can be pushed but it pushes back hard, after such a task it takes months for the body to return to a state of normalcy.

OK the above extreme example is ridiculous but highlights the fact that tasks can not be optimised infinitely.

 

The Doppler Effect and Time Management.

Wikipedia states that:

The Doppler effect (or Doppler shift) is the change in frequency of a wave (or other periodic event) for an observer moving relative to its source. Named after the Austrian physicist Christian Doppler, who proposed it in 1842 in Prague.

Its effect can commonly be heard when a vehicle approaches, passes, and recedes from an observer. The frequency of the vehicle or horn etc. is perceived as higher when received during the approach compared to the emitted frequency, identical at the instant of passing by, and lower when moving away (receding).

When the source of the waves is moving toward the observer, each successive wave crest is emitted from a position closer to the observer than the previous wave. This means that each wave takes slightly less time to reach the observer than the previous wave. Hence, the time between the arrival of successive wave crests at the observer is reduced, causing an increase in the frequency. While they are travelling, the distance between successive wave fronts is reduced, so the waves “bunch together”. Conversely, if the source of waves is moving away from the observer, each wave is emitted from a position farther from the observer than the previous wave, so the arrival time between successive waves is increased, reducing the frequency. The distance between successive wave fronts is then increased, so the waves “spread out”.

So what does this have to do with time management and projects etc……..?

Well I have never met anyone who precisely manages their time. Sounds bad, but unfortunately true. Think about it, we can assign time estimates, we can have an idea of how long tasks will take but we actually can never give a precise time stamp such as that task will take 1:13:18. This is what I mean by precise.

I don’t expect anyone to be able to accomplish this completely but we can improve the situation if we become aware of the “Doppler effect” when we engage in tasks. For example how many of us have said “I can help, you! Should only take a couple of minutes.” Have you ever helped someone with their computer? Those couple of minutes become hours because once engaged in the task at hand, time seems to skew. Unexpected problems pop up, the task was actually more convoluted, complex, complicated than you expected, you expected it to be something else; or you just honestly thought it would take only a short time and seem to get involved and lose track of time when you’re working on something.

I personally tend to do the latter so much so that there is time, and Steve time when I’m working on something because you don’t stop until it’s finished.

So what of the Doppler effect? Well, when not engaged in the task and looking at it from the outside, observing the task calmly in the distance, no stress, no pressure almost serene. Our perspective of the task seems small, like a car in the distance there’s no urgency and it seems small, almost insignificant.

When the task is at hand, the actual work takes on a sense of urgency and true scale. The task takes on its own dimensions, not those predicted or estimated by us but its actual form, warts and all. The task becomes enveloping and the most important thing at this point in time because we are engaged. We lose track of time, schedules can slip and we even chase rainbows down blind alleys because we try to make the task fit into our previously conceived notion of what it was. The end seems so far and the mountain to climb can seem so high that we may tend to procrastinate, avoid and generally hide from the fact that the task was not as it seemed in the beginning.

When the task is approaching the deadline or completion, things seem to move at a quicker pace, the time left on the task or project seems to evaporate. Interestingly the tasks can become more defined and therefore accomplished with greater ease, the skills have been honed or acquired, the nature of the true task has begun to show itself and the end is in sight and happily embraced.  However, this may not be the case.

What is this all about; well we tend to colour our perception of how long things will take, we often underestimate the tasks at hand and therefore the required effort, we can also overestimate (fudge) the timelines and effort involved in a bid to give ourselves a sense of control. Often people will rise to the occasion and work overtime, through lunch and even weekends, when in the belly of the task, but should we then take these efforts and extrapolate that our fudged metrics and greyed opaque time constraints are accurate or based on reality? These problems are universal and we all do it to some degree but projects and tasks are not uniform pieces of work, they exist like plum puddings, patches of smooth consistency with areas of varying densities (raisins, mixed peel etc.), these areas are tasks which are more complex, complicated or just unknown.

So how can we deal with this?

The first thing is to be aware, most projects and tasks are not consistent in effort or degree of difficulty. The ability to examine and explore the project, sift out more difficult tasks and subtasks and prioritise them is beneficial. Striving towards the framing or putting guidelines in place to aid and clarify is also very helpful. And finally the awareness that all projects and tasks are their own “animal”.

Biologically speaking animals and plants are grouped by their similarities and teased out by their differences. Even in a population of a single species there is variation. Surely tasks and projects are no more diverse, each may share similar traits to others but they are never really the same. Even if a carbon copy project was run, the outcomes would vary because the time it was undertaken would be different, the staff, the economic climate etc. etc.… could also vary.

The environment and our position in it, effects perception, this is a simple idea but difficult to enable. The fact in any organisation is that tasks are divided up to help efficiency and productivity. This is a tried and true approach yet when you have a disjoint between groups, all hell can break loose. Imagine a typical company with management, staff and silos responsible for certain activities such as programming, sales, administration etc. you get the idea. Now a disjoint would mean by definition that these silos or groups would not share the same world view as each other, they may be similar but never the same. The focus of each group would be different by the very nature of the organisational structure. Fertile grounds for a Doppler shift, differing perspectives.

Say the management wish to grow the company, sales are motivated to sell by means of commissions (more money for them), the programmers just want to code and be left alone, the administration wants clear view and control, over all and sundry. One organism pulling in different directions. The idea of being a team player is raised on high and touted as a company value and all is well?

The Doppler effect by its very nature means that each group will see their environment differently and although the same entity, perceived differently. The real dangers come from the lack of awareness between silos, the sales reps up sell, management wish to expand and grow and the “grunt work” is done by the people engaged at the coal face, coding etc. They are the best ones to gauge the true nature of the tasks at hand and the capacity for growth. Sure, stretch targets are good, people will often rise to the occasion but if stretched too far or too quickly, errors and catastrophe are around the corner. If the “grunt workers” in the company are working long hours in overtime, through their lunch breaks and on their weekends then the sales reps (on commission) and the management team are not team players, in my opinion.

The differing perspectives (Doppler effects) are distorting the true situation and we all should be aware of these effects.

 

Observation, Perception ……

The set and forget, out of sight out of mind and even your greatest strength can be your weakness are all very familiar phrases to most of us. So what does this mean to most of us in our day to day lives?

The greatest thing about programming is the fact you can create something from nothing; all you need are the basics, computer, language and time. No other thing we create can be made from such a point of nothingness. The wood worker requires timber and physical tools, the metal worker metal etc. but when it comes to creating software you can create everything even the tools. This virtual world is liberating and basically unrestricted except by our own limitations. This freedom from the physical world is its greatest strength but also its greatest weakness.

We are physical beings and as such experience our environment by our senses, touch, smell, sight, taste and hearing. Because of this we relate better to things that share our way of experiencing the world. People relate better to cats and dogs (furry mammals) than they do to fish. Many fish are doomed to die because they do not experience and interact with the world in a similar manner to people.

The usual pets such as cats and dogs breathe air; can vocalise (meow or bark) to get attention and live in the atmospheric environment as we do, which means that smells can be shared by both people and pet. This last one seems strange but the fact is when the kitty litter tray is dirty or the pet has made a mess people can smell the result easily. In the case of fish, however, when the water in a fish tank becomes “stale” from their waste products or from over feeding, the water does not smell bad to us until it becomes really toxic. The person looking after a fish tank often looks only at water clarity as a means of gauging the condition of the tank, the problem with this is battery acid is also clear and yet toxic. The fact we do not live in water means that this environment is rather foreign to us and therefore we can naturally sense only some of the important parameters required for fish to live. This is why many fish die due to our inexperience as fish keepers.

So how does the fish keeper overcome the “out of sight out of mind” dilemma of fish keeping, the answer is actually rather simple, they use test kits to check pH, ammonia, nitrite, nitrate, alkalinity and many more parameters depending on the goal of the tank. This doesn’t really sound simple does it? But the actual fact is the fish keeper uses all the above tools to gauge the state of the aquatic environment, yet his greatest ally is in fact the simplest which is regular water changes of 10 to 20 percent usually weekly. Yes, that’s right, regular maintenance is your only real ally when you are dealing with a foreign or alien environment.

So what does fish keeping have to do with programming? Well the fact the virtual world our programs live in is a completely alien or foreign environment means that we are not naturally aware of the state or conditions in this environment without using tools to test and monitor it. The regular water changes may be considered regular updates or upgrades. The set and forget environment of software is its greatest strength and also its greatest weakness. Just like a fish tank we will only notice the bad (really bad) water quality when it smells foul and this is usually too late. Similarly we only tend to notice software when it breaks.

If you don’t like fish then maybe the aircraft industry is a better analogy for you. The fuselage of aircraft undergoes many stresses during normal operation and basic metallurgy tells us that if metal is bent back and forth many times, it will eventually fail. The resulting metal fatigue is usually invisible to the naked eye and to monitor it requires special equipment and expertise. The cost of which would be prohibitive if tested every flight or every week. This is where the aircraft manufacturer specifies maintenance schedules for testing and replacement of specific parts. Next time you fly think of this and think about if the plane was your software would your maintenance find the metal fatigue?

Self limiting conscious or unconscious

So what does this mean to us and what relevance does this have in our daily work place and lives in general. The hidden constraints we all have are not often apparent to us; only when we stop and contemplate our actions and move away from our usual reactive state do we find some insight or realise that we often and typically impose constraints on our behaviour, actions, work, others and even our own metal state.

Think about it, when we do something we behave and work within a particular set of rules, these rules are either given to us by our peers or “betters” or we develop our own rules. The irony is that even when we supposedly develop our own rule for what ever the task at hand is, we often only modify the pre-existing rules of others. There is nothing wrong with this but to be aware of it is rather important if you seem to be at an impasse. Consider learning a new skill like archery or programming; we as adults bring many things to the table developed eye hand co-ordination etc and experience, a young adult or even child brings less to the table from this point of view yet they bring inexperience by the bucket load. Now the paradox of this is the child will jump in and explore every facet of the task from every direction that springs to their mind, while the adult burdened by previous experiences and possibly bad ones will slowly and safely explore the task. Have you every wondered why your children are better at certain games or tasks than you? It’s because we as adults often bring hidden constraints (baggage) to the table. When I was learning archery amongst a group of others including young adults and children I had the realisation that adults impose limits on how good they can be from the very beginning. Adults tend to say things like “I’m not very good at this” or “It’s my first try” all very I’m going to suck at this but be nice attitudes. While the more childish in the group just focus solely on the task at hand and bring no preconceived ideas about how good they will be, if any thing they would say “I can do that”. Using the example of archery the other thing adults tend to do is something quite amusing to statisticians. We tend to think if I got a bullseye then the next bullseye some how becomes less likely, somehow the previous event effects the next. To some degree with archery but conversely you could say that because you got a bullseye the next one should be easier because you already got one. You’ve done it before you can do it again, attitude. The child would see this as it should be easier to repeat, while most adults will see this as pressure and stress.

So what does this mean? Adults tend to place barriers while children do not, the barriers may be beneficial even life saving but they can also be hindering or even counter productive. Regardless to be aware of these self imposed limits is a good thing and when something is not working as it should be then reflection upon the possible ways you or others have limited the process or task may be beneficial.

Observation, Awareness, Reflection and Contemplation