We all know that when looking at the lifetime of any software project, that the longest phase is support and maintenance. It’s the unglamorous, but highly important task of keeping the system running and often changing it to fit in with changing business or technical requirements. Larger organisations with well-developed project processes normally plan this well and have adequate resources for doing the job. But what about all those projects that slip through the net when they were developed? What happens when the software needs to be fixed or changed? Or when the head of Risk Management wants to assess the software support procedures? Here are some typical ‘problem’ IT system scenarios :
- The ‘quick prototype’ that has now ended up as an operational system
- A system developed in-house, but the current staff no longer retain knowledge of the design or technology used
- A system developed externally or off-shore but the original developers are unable to provide a cost-effective or reliable support service
Many developers are reluctant to start diving in to other people’s code, which will probably use older software versions and lack documentation. They also fear being stuck with looking after these systems once they’ve started, rather than getting the chance to work on “exciting new stuff”. An alternative and popular approach is to outsource this support work to software experts such as Sinara and use our System Stabilise & Support service. By applying strong systems design and software engineering skills to bring such systems into a stable and known state, it is then easier to fix problems, add new functionality and support the system as part of a well-established software support service. The ongoing maintenance and support of these ‘problem’ IT systems can often present an organisation with serious operational issues. But even if the development wasn’t done with support in mind, there is no reason why good software engineering techniques can’t be used to get them in a state so they can be reliable and easier to enhance to meet changing business needs.