Working in a Software Development environment one is not in close proximity to the decision makers and strategist of the business. To the developers in the trenches, when you mention the word strategy, the first thought is – what does strategy have to do with me? I am writing this application for which I have a specification. I play no part in this “strategic thing”. I cannot even influence this strategy let alone impact it. This is something that happens way up in the boardroom. From a developers perspective – strategy is normally filed away with sales and marketing information in the folder – “Totally boring stuff that I don’t need to know.”
You have never been so wrong!
I will try and provide a very simplified view of how strategy plays a vital role – specifically in the lives of a software developer.
To start off, let’s look take a simplistic view of how most companies are structured
The responsibility of the leadership of the business is to develop the vision and the mission statement – why are we in business? This will result in the development of goals that the business plans to achieve. From these goals, strategies are developed. There is an overlap with the leadership and the management, since the management is responsible for the implementation of these strategies.
From the above image, to obtain strategic alignment, all functions of the business need to operate to achieve the strategies that were envisioned by the leadership. This means that, the person, who is completing some task as part of their daily routine, needs to be contributing towards the achievement of the business strategy. If this happens, then the business is setting itself up for success.
Now where does IT fit into this picture?
In most cases, the work in the software development environment impacts on systems – these are the systems that the divisions and departments use on a daily bases to complete the work that is allocated to them via the procedures and policies.
It is important to note, that once changes are made in any single block above, the change needs to be evaluated – does the change fulfil the strategic requirement of the business? If the answer is no, then there is no business alignment. This means that the entire chain on both sides of the block, needs to be revaluated to ensure alignment with the core strategies of the business. Failure to do this will result in people doing work that will not accomplish the strategic goals as set out by the vision and mission statement of the company.
Examples of this in action
An objective that the leadership has identified is to be more efficient with regards to recording communication with a client. Strategic actions will be identified, and this might involve the development of a new system to capture these details in an electronic system. The software development team comes in, and creates a new system. However, if the process stops here, then there is going to be misalignment. The policies and procedures as well as the task allocation to individual employees needs to be reassessed, failing this, will mean that you will have employees following old procedures, since that was the job description. This is the task of the change management team to ensure that the employees are re-skilled so that they can add value to the business.
Think of all the businesses that have replaced systems. Was it a smooth transition? If the plan is only to replace the system and nothing else, it will result in misalignment and the business will have a tough time trying to get back on its feet.
Another example is that we are constantly faced with choices and decisions that need to be made with regards to how a solution should be coded. The normal response is to discuss these options with the business owner and a solution is hammered out. How many times has the question been raised – what is the objectives of the company and which solution would be strategically aligned to the business objectives?
It is understandable that in all cases, we cannot be privy to strategic information, this could be business sensitive – however, the does not absolve one of the responsibility to inform the business owner – has change management been considered? A more probing question could be – does this solution fit in with the business objectives?
Even though in our daily work as software engineers, we rarely hear of strategy, or even know what the vision of the company is – it is important to note that IT plays a very important role in the realisation of the vision of a business. To achieve business alignment, all sections of the business need to be focused on fulfilling the business objectives by implementing the strategy. Even as a contractor on a project, success of the business is vital – hence the solution that is being provided MUST meet the strategic objectives of the business.
By: Naseem Ahmed, Synthesis Software Technologies