When looking for a new software solution should a company use technology or business driven approach?
Traditionally when a business was looking for a new software package or solution they would approach the IT department who would come back with a solution. This was generally the newest or cutting edge piece of technology but how often did it solve the business problem?
First you have to ask what are the drivers for each in selecting the “best” product and development strategy.
- Resolving a business challenge.
- Increasing revenue.
- Increasing efficiency.
- Decreasing expenditure.
- Easy to implement and support.
- Latest technology.
- Vast range of features.
This is taking quite a hard line view of IT departments and I am aware that many IT departments do have the business goals and objectives in mind but from experience very few truly understand the needs of the business.
So the question who should lead new software projects? The business or IT?
Business Driven Development
I have worked with businesses both large and small and always found that successful development projects rely on the majority of input from the business opposed to the IT department. Engaging with the users throughout the project improves user adoption and increases the chance of getting the right solution first time.
Many project have gone wrong when the business have given the IT department a list of requirements and sent them off to find a software solution that meets them. IT then return X months later with “the solution” only to find that it does not do what is needed. This is like playing Chinese whispers – things get lost in translation.
Business driven development is a methodology for developing IT solutions that directly satisfy business requirements. This is achieved by adopting a model-driven approach that starts with the business strategy, requirements and goals and then transforms them into an IT solution. The transformation is typically achieved by applying model transformations. Due to the alignment of the business layer and the IT layer, it is possible to propagate changes of the business automatically to the IT systems. This leads to increased flexibility and shorter turnaround times when changing the business and adapting the IT systems.
Business driven development goes further than the simple development of delivered requirements in that the implementing resource seeks to both completely understand the business side during the iterative gathering and implementing of requirements and drives to, once acquiring that information, improve business processes itself during the development of the actual solution.
Business driven development keeps the business users in the cycle at all times which keeps them close to the project and the requirements. Doing this means there are no surprises upon delivery of the solution and throughout the life cycle of the project the building blocks of the solution are shown to the user group and signed off.
IT will still be involved as they are there to support the technology that may be required to run the new solution the difference is that they no longer own the project. The project is owned by the business.