Software Failover: The jump-sheet for everyone


A step in the project lifecycle is requirements gathering. During this stage in the project lifecycle the operation conditions are defined for the code that will be developed. However, whichever project management model is adapted, requirements are meant to change. Craig Brown in his articles on Better Projects has suggested that on average requirements change by 2% per month during the project lifecycle. It is also known that change in requirements is also proportional to the completeness of requirements.

With changes in requirements it is well expected that some integrations or automation process will not be fully developed to handle any imaginable situation but rather the scope of project technical design is trade-off against the pre-budgeted cost and time of project’s life-time.

Minimising the impact of the trade-off is in the benefit of both the client requesting the system and the service company. Increasing the costs and time of the project is not an option in most cases of projects. Therefore, a different approach needs to be taken. This paper presents the concept of failover as a compensatory method for the trade-off of project scope to cost and time restrictions. The concept of software failover suggests the introduction of redundant code or processes that are used to handle situations when the main code flow is broken due to some unforeseen data input.