When you go online to pay a bill or to make a mobile deposit into your savings account, you are benefitting from a system development life cycle. It seems like these transactions are instantaneous, but there are complex systems behind them. Say you are transferring money from one account to another; that process is made up of both automatic and manual components, and it has to interact with other processes as well. It works – that is, your money shows up where you want it to – because the process is made up of a set of tasks that are done in a specific order, at a specific time. SDLC is, in short, the system that makes systems work.
The System Development Life Cycle puts some methodology into the madness. Instead of having random meetings and taking a “let’s do a lot of stuff and hope it works” approach, SDLC provides a structure for change. Not only does a process have to work, it has to work in conjunction with others that are also operating within a specific context. Let’s say that you are building a house. If you invent your own process, you may very well end up with a roof over your head – but will wiring, heating, electricity, plumbing, cable, phone processes work when they are supposed to, and as they are supposed to? By following an SDLC, you are providing a strong infrastructure to your change.
SDLC refers specifically to the adoption of new software systems within organizations. In June, the General Services Administration “lost another IT system” because of an SDLC failure. The Acquisition Career Management Information System (ACMIS) was audited and found to have very poor functionality and difficulties in implementation. The GSA indicated that it is going to replace ACMIS, but auditors fear that the same problems will recur.
The GSA, they said, should “ensure that the development, implementation, and maintenance of the system that will replace ACMIS adhere to system development life cycle guidelines.” And, “Attention to system development life cycle principles, improved contract management, and accountability for development, implementation, and maintenance of the new system are essential to ensure future success.” When there is not a structure in place, systems can fail, and it can be very, very costly.
There are different models of system development life cycles, including waterfall and agile approaches, but in general, there are five important steps:
- Defining the project or problem
- Designing a solution
- Building the solution
- Deploying the new system
- Operating the system
Because of the growing complexity of software systems and organizational needs, it is more important than ever that businesses follow a secure SDLC to ensure that all stages are carefully considered and executed.