|
What are the right questions to ask when outsourcing your web development? Outsourcing application development enables SMEs to gain access to higher levels of expertise than might be available in-house. However, these benefits may be outweighed by the disadvantages of outsourcing to a company using traditional methods of application development.
Damien Tanner, co-founder & Director of New Bamboo, specialists in bespoke software development, makes the case for an Agile approach.
Defining technical requirements
Companies of any size that do not have technical expertise may experience problems with traditional development methods, but for SMEs this is especially true – and issues may arise before development even begins.
Traditional approaches require comprehensive technical requirements to be defined up front. This can cause SMEs two major problems. Firstly, the lack of in-house technical knowledge needed to create this type of document will mean, at best, the company has to buy in support to create the document.
Secondly, there are intrinsic problems with defining comprehensive requirements at the start of the project.
Rigid requirements leave no room for flexibility throughout the development process, and in the ever changing business environment SMEs may find this too restrictive as ideas evolve.
Rigid requirements also make it difficult to react to the changes that inevitably occur as knowledge and environments evolve, and requirements that have been omitted are generally picked up late in the process - by which time they are awkward and costly to implement.
The resulting solution, though technically perfect and true to the specifications document, may not deliver the benefits that were anticipated.
In contrast, the Agile philosophy is a flexible, iterative approach to software development that requires the SME to be an expert in one thing: their own business. The Agile team are the translators; they turn business requirements into working software.
For example, with Agile, project teams ask questions such as ‘What is the end goal of this project?’ and ‘What results are we looking for?’, as opposed to ‘What are the functional requirements of this project?’ The end goal is to deliver business value, not deliver against a set of requirements. Team Work is the Key
With traditional methods, the specifications document is handed to a contractor who then builds what they believe the company wants. At the end of the process, the contractor presents the finished product, for better or worse. This disconnects between the developers and the business can only lead to applications being developed out of context.
Agile is not just a different development process but a completely different way of working. It brings everyone together in one team. Developers and designers work in close collaboration with the SME. The whole project is broken up into smaller periods of time, for example, two weeks.
Thus, regular review or ‘iteration’ meetings are held every two weeks. Analysis, scope and budget is worked out every two weeks for the coming two weeks. Live software is delivered every two weeks by the Agile team and tested by ‘real’ business end users.
This approach enables the team to act on information and ideas during development and to recognise and resolve issues continually. It is more efficient and quicker than traditional approaches and therefore represents much better value.
To make the process even more streamlined, an Agile team can actually set up space in the SME’s office. That way, they are on hand to ask questions, discuss issues and brainstorm ideas.
Review the completed project
Technology moves fast – and so does the business environment for an SME. To ensure that an SME has the right technology to support their business, it makes sense to schedule a review of the software with the Agile team. With Agile, an application is never static; it can be updated and optimised as business demands change.
By enabling applications to be constantly updated to deliver business value, SMEs can ensure they get real ROI and also remove the need for a costly ‘rip and replace’.
Concluding thoughts
The good news is that SMEs do not have to become technical experts, but recognising that there are different methods of application development available is key.
The Agile approach delivers applications more flexibly, more quickly, more cheaply, with greater ROI, and guarantees business satisfaction into the bargain. As Agile makes sound business sense, its benefits can be enjoyed by business of all sizes, a trend you can see as more large, blue chip companies abandon traditional application development process in favour of Agile.
|