Systems development life cycle (SDLC)
The Systems Development Life Cycle (SDLC) is a structured approach used to develop new information technology systems. It encompasses a series of defined steps that guide teams through the entire process, starting from the initial concept to the deployment of the system. Traditionally, the SDLC includes phases such as system planning, analysis, design, implementation, testing, and maintenance. These phases help ensure that the final system aligns with user needs and organizational goals, ultimately leading to a more effective and efficient product.
Historically, formalized SDLC procedures emerged in the 1960s, reflecting the growing complexity of systems as computer technology advanced. Initially focused on solving specific problems, the SDLC has evolved to include rigorous analysis and comprehensive planning, ensuring compliance with various industry standards and regulations. The process allows for collaboration among team members while identifying roles and responsibilities throughout the development cycle.
Overall, the SDLC is designed to minimize risks associated with system development and enhance the likelihood of project success by systematically addressing potential challenges. Organizations can choose to conduct this process in-house or engage external specialists to ensure that their systems meet both technical and user-oriented requirements effectively.
On this Page
Subject Terms
Systems development life cycle (SDLC)
A systems development life cycle, or SDLC, is a set of steps that can be used by a team creating a new information technology system. It is a specific plan that guides the team members as they come up with the idea for the system, review it, design it, build it, and put it into use. Most companies and organizations that design systems use these steps to make sure the final system is efficient, meets all the intended objectives, and has the greatest possible chance of success.
![SDLC Phases Related to Management Controls. By U.S. House of Representatives (Systems Development Life-Cycle Policy p.13) [Public domain], via Wikimedia Commons rssalemscience-20160829-224-144095.jpg](https://imageserver.ebscohost.com/img/embimages/ers/sp/embedded/rssalemscience-20160829-224-144095.jpg?ephost1=dGJyMNHX8kSepq84xNvgOLCmsE2epq5Srqa4SK6WxWXS)
![Systems Development Life Cycle. By US Department of Justice (redrawn by Eugene Vincent Tantog) (INFORMATION RESOURCES MANAGEMENT) [Public domain], via Wikimedia Commons rssalemscience-20160829-224-144096.jpg](https://imageserver.ebscohost.com/img/embimages/ers/sp/embedded/rssalemscience-20160829-224-144096.jpg?ephost1=dGJyMNHX8kSepq84xNvgOLCmsE2epq5Srqa4SK6WxWXS)
Background
SDLC procedures began to be formalized around the 1960s, though some precursors existed about a decade earlier. When computers first came into use in businesses and governments, the departments that worked with them were small. Specialized companies often wrote computer programs, and the computer staffs at individual companies and government offices made adjustments.
As computers became more widespread and their usage increased, company managers became interested in customizing programs for their own use. These programs or systems could be anything a company needed to function or work more efficiently, such as a billing system, an enrollment system, or an inventory control system. In these early days, when the equipment, the technology, and the training for such systems were all in their infancy, programmers often designed systems as they would other products to meet a customer's needs. The programmers would find out what the program needed to do, design a product to meet those needs, create the product, and then release it to the customer.
As the available technology grew, so did the complexity of the programs companies wanted. Concern about the integrity of programs also increased, and a number of laws were passed regarding best practices for how information was stored, accessed, transmitted, and shared. This further complicated systems development and changed how programmers approached the task.
Overview
SDLC involves a series of specific steps to ensure that a computer system meets the intended needs and that it is the best possible program for the task. The life cycle originally had five steps. The steps later increased to six, with some sources adding a seventh step. These steps include system planning, system analysis, system design, implementation and deployment, system testing and integration, and system maintenance. Sometimes these steps are described as planning, analysis and requirements, design, development, integration and testing, implementation, and operations and management.
During the planning stage, a company first decides whether there is a need for a new system. This can involve feasibility studies that investigate the benefit of the potential system and estimate the total output in time and resources to complete the project. The project team will identify the problem to be solved, look at potential alternatives, and determine whether going forward with the system design is the best course of action.
Once it is decided to go ahead, the team will begin the analysis step, gathering information about what people who will be using the system will need from it. The expectations of the end users will be determined and recorded so that they can be used in the final analysis of the system. The team will also begin to determine who will be responsible for various phases of the project.
When they have determined what needs to be done and what standards must be met by the new system, the team members will begin system design. During this step, they will identify what will be needed in terms of hardware and software and what features and characteristics the new system will need to be able to meet the end users' expectations. The full system will be planned, including what information will have to be processed and what equipment is needed. The layout of the system components, the security that will be built in, and the space that will be needed in the facility to house the system will also be determined. This part of the process can start with handwritten notes, but often ends up in computerized documents. The team will also create a flow chart showing each step of the process and who is responsible for it so that progress can be monitored as the project moves forward.
During the development stage, the specific work on building the system begins. Programmers design languages and software, database experts build the system that will house them, and network engineers begin putting together the hardware system that will support it all. While all the steps of the process are important, the development step is where the system is physically built.
Integration of the new system and testing come next. It is at this point that the actual users begin to work with the system in a test environment while an expert in quality management monitors how well the system meets the objectives set out during planning. This step will continue until all problems or shortcomings are identified and corrected. The background policies and procedures that ensure the integrity of the data will also be tested and reviewed to confirm that the new system complies with all company and government requirements.
Once the system is complete, it will be implemented. The hardware will be installed, and the coding will be put in place. If old equipment needs to be removed to make way for the new system, it will be done at this time. Any existing data that is being retained from a previous system will be migrated to the new system. Once this is completed, the new system is in place.
The final step is operations and maintenance, when the system is monitored for any developing issues and observations are made about any improvements that could be needed. Updates and repairs will be done as necessary, and users will usually be surveyed to see if the new system meets their needs and expectations.
This process might seem time-consuming and tedious, but it is proven to help improve the overall outcome of the new system design. System development protocols take into account all of the factors that can cause a project to fail and provide a mechanism for minimizing or eliminating them. In addition to having in-house staff conduct the process, organizations needing a new system can seek out professionals who specialize in systems development to help with some or all of these steps.
Bibliography
Gillis, Alexander S. "Systems Development Life Cycle (SDLC)." TechTarget, June 2019, www.techtarget.com/searchsoftwarequality/definition/systems-development-life-cycle. Accessed 5 Sept. 2024.
Kay, Russell. "System Development Life Cycle." Computer World, 14 May 2002, www.computerworld.com/article/1328464/system-development-life-cycle.html. Accessed 5 Sept. 2024.
Masters, Terry. "Steps in the System Development Life Cycle." Chron, smallbusiness.chron.com/steps-system-development-life-cycle-43241.html. Accessed 5 Sep. 2024.
"System Development Lifecycle (SDLC)." Michigan Tech, 20 Sept. 2016, www.mtu.edu/it/security/policies-procedures-guidelines/information-security-program/system-development-lifecycle/. Accessed 5 Sep. 2024.
"System Development Life Cycle (SDLC)." National Institute of Standards and Technology, csrc.nist.gov/glossary/term/system‗development‗life‗cycle. Accessed 5 Sept. 2024.