Monday 31 December 2012

Love of classical music


Music is such a powerful medium and so varied in its composition and the language that it speaks from classical to rock, blues, jazz, folk, country and many more. Music is many things to many people, it can sooth the soul or make it fly with the eagles, it can motivate, inspire, bring powerful emotions to the surface, it can heal a broken heart or mellow rage. It can represent good, fear, sorrow, purity, evil, love, joy. It gives us the power to dance, sing, run, skip, and even vacuum. Imagine ballet without music,  a movie without a sound track, Star wars with no music, oh please, it lets you know who the bad guys are, when the good guys are winning, when love is in the air, when danger is looming. Music is the language of emotion, it touches us at an emotional level, we feel music and it stimulates the senses and lifts our spirits.

I was raise on classical music with all the greats including Beethoven, Chopin, Mozart, Mendelssohn, Bach, Brahms, and Dvorak to name only a few. It was not until the beetles had broken up in 1970 that I discovered rock music and by then it was too late, classical music had touched my soul, especially Beethoven. Regretfully, I have not listened to classical music very much for about 20 years and I am sorry to say I have grown a hard crusty shell, but after only a few months of listening to Beethoven, Mozart, Bruch, and Chopin that shell has started to melt away and my heart is mellowing and I am starting to feel again. There is no doubt in my mind that music has the power to heal the heart and touch the soul and move the spirit.

Classical music is meant to be listened too, the way you watch a movie or a play. Sit down in a quiet room in a comfortable chair and play it at the volume that it would be live, even better listen to it live, a full blown orchestra playing say Beethoven’s 5th, 7th, or 9th symphonies is just incredible. Sit back and let it soak in, let it massage you heart and soul, it is that therapeutic. It can be played as background music at a dinner party, while reading, writing, sleeping, meditating, and making love.

It can focus the mind too. A few months ago at work I was struggling with a technical design for a large and complicated computer system. I was frustrated that I was not able to focus on it or get into it. In past projects like these would consume my every thought but this project had none of that and I began to think I was off my game. Then through some sequence of events I started to listen to classical music again and almost immediately the flow started, the juices started to run, I was focused, grounded and in one day put more continuity into that design than I had in the previous week.

Music is subjective; each one of us has different taste. We use music for different reasons, whatever the reason, whether it touches, motivates, inspires you or simply makes you want to sing or dance. Find your music; find the sound of your soul and what touches you, for this is the gift of music. Music is personal to each one of us, and when we find the music that resonates within we have found the sound of our soul and its harmonic frequency.

I admire those who compose music and applaud those who play it. Thank you.

Thursday 27 December 2012

SDLC and Life

In this post I will attempt to draw a parallel between the life cycle of software development and the achievement of life goals in an ever changing world.

Recently I’ve been reading a book by Steve McConnell called ‘Code Complete’ while at the same time a parallel process is taking place in my personal life, unconnected but related in some strange way.

A few days ago I wrote this passage in the midst of trying to resolve a personal issue.

If I were at sea in a small yacht with my family and friends on board, I would have the duty of care for their safety. Regardless of the weather conditions, whether it’s a calm, clear, warm day with a steady breeze or a dark, wet, cold night with a storm raging. There would be but one response to all, stay true to the course. Keep an eye on the weather and respond only to keep the yacht sailing true.
Looking at this statement, it suggests that we should be aware of outside influences or conditions and take corrective action to remain on our chosen path or course.

Now to the software development process, take a project of a small to medium size that requires a vision statement, requirements, and a design. In everyday terms; to obtain an objective we need to define the specifications and have a plan that satisfies the specifications and delivers the objective.

Specification in this context means the reference points that limit or ring fence the objective, a series of small statements that are measurable, that, when all have been satisfied, the objective has been achieved.
If you are not a programmer and you’re reading this then you may be forgiven in thinking this sounds very much like goal setting, well in a way it is, the principle is the same, state the objective, define the specifications, draw up a detailed plan to achieve it.  The principle applies whether you’re building a deck, or house, or a bridge, or a software application or planning to travel or your financial freedom by 40, or quality of retirement, or quality of life. We should define the objective, and the specifications and a plan to achieve the objective.

If the objective is deterministic, financial, travel, a deck then it is relatively straight forward. However if it’s going to take months or years, then be prepared to adjust the plan because things change, conditions change, obstacles get in the way, may even find a better more attractive objective.
In Software design the final design can be elusive or non-deterministic, in Steve’s book he devotes the first 5 chapters to the iterative process, define it, specify it, design it, then refine it, and refine it again. Using an assortment of tools and techniques before the design is good enough. Yes, you read that right, good enough; it is not an airplane or a building, or a bridge. It is a design for a moveable complicated software application that may and probably will change before it is finished.
Much like life objectives, it is pointless to sit down and map out where we want to be in 30 years with a full plan on how to get there, because it is an iterative process and things change along the way, it’s nondeterministic, besides the world is changing all the time and us with it.
All we can do in life is set out with a long term objective, some specifications that we can use along the way to check progress, and a rough plan that is short term and in the right direction.
Back to the yacht, keeping an eye on the conditions means be prepared for things to change, because they probably will. Stay true to the course means when the conditions change, we may have to make adjustments but always in reference to the chart.
Here is the bottom line: regardless of whether you are sailing a yacht or building a yacht, or building software or building yourself, be prepared for things to change. Now assume for a moment that in any of these endeavors that the objective does not change. Which is the most important out of the remaining two; the specification or the plan? The correct answer is the specification; it contains the points of reference by which attainment of the objective is measured, and from which plans are checked. If the objective is to travel from A to B, this is the navigation chart that contains points A: the starting point, B: the objective and X: the Current location, from which can be drawn a series of short plans that shorten the distance between X and B, but always progress is measured and checked by referring to the chart. If conditions or events force a change of plan, a detour, then new plans can be drawn up quickly to accommodate the change. If the objective changes or shifts, the specification/chart may also have to be changed.
I have to admit, I have been a software developer for 12 years, and had a cynical skepticism of the specification or requirements document, but now I have changed my mind. Writing this post has actually convinced me of how valuable the requirements document is, and how valuable a good specification is in software development and life.

Saturday 22 December 2012

Introduction


Well this blog will contain my views on love, life, and computer programming, why such a combination you may ask, well I am a computer systems analyst, designer, and code junky and also experience life and love with passion.  

Within the scope of my work which involves turning business requirements into a computer system, I find that my experience in life and love are interwoven. If life, my soul, and love, my heart, are out of balance then the system I produce is also out of balance.

So to conceive the best system that I can requires a clear head, a calm soul and a warm heart, then and only then do the creative juices flow and work to unfold, evaluate, elaborate, and design a system.

The world of a systems analyst, designer and coder requires a clear and rational thought. Clear of internal chatter and distraction. System design is a process starting with a need, then a concept, then a design, then construction. It follows much the same path as many other industries do, the difference is that it is also a creative art that allows and indeed requires the architect or designer to be creative.

In my view any creative endeavour requires a degree of emotional connection and professional pride in the outcome. This is certainly the case in system designing and code writing, as evident when an end user finally starts to use the system and their reaction to it, regardless of the type of reaction, to see them interact professionally and personally with a creation that I have played a part in, is a wonderful thing.

I have, for a very long time been passionate about my work; I do indeed pour my heart and soul into my work. I cannot do what I do dispassionately nor can I achieve the best result with a clinical attitude alone. So to do my work requires my heart, my soul, a logical mind, and rational thought, and a clinical understanding of the problem and the passion to find a solution.

Well that is me take on it, as you may have gathered, I am a passionate man, though it comes at a personal price. With passion and love also comes the deep impact of all that life and love can throw my way, and at times my capacity to work rationally is reduced.

I recently have been reaquainted with some old friends that I have sadly neglected over the years. I refer of course to: Beethoven, Mozart, Bruch, and Mendelssohn to name but a few. These are some of the most passionate men in history who created some of the most beautiful music ever. There is no grater gift than to create something that lifts others.

In future posts, I will talk more about Life, Love, computer programming and music. I’m no guru just one person who has decided to document my journey through life.