Sunteți pe pagina 1din 10

What Is a System Development Life Cycle?

In order to understand the concept of system development life cycle, we must first
define a system. A system is any information technology component - hardware,
software, or a combination of the two. Each system goes through a development life
cycle from initial planning through to disposition. Some methodologies provide the
necessary framework to guide the challenging and complex process with an aim to
avoid costly mistakes and expedite development, all of which have the same goal of
moving physical or software-based systems through phases.

A system development life cycle is similar to a project life cycle. In fact, in many cases,
SDLC is considered a phased project model that defines the organizational, personnel,
policy, and budgeting constraints of a large scale systems project. The term “project”
implies that there is a beginning and an end to the cycle and the methods inherent in a
systems development life cycle strategy provide clear, distinct, and defined phases of
work in the elements of planning, designing, testing, deploying, and maintaining
information systems.

Those involved in the SDLC include the c-suite executives, but it is the project/program
managers, software and systems engineers, users, and the development team who
handle the multi-layered process. Each project has its own level of complexity in
planning and execution, and often within an organization, project managers employ
numerous SDLC methods. Even when an enterprise utilizes the same methods,
different project tools and techniques can differ dramatically.

History and Origin of the System Development Lifecycle

Completely defined in 1971, the term originated in the 1960s when mainframe
computers filled entire rooms and a pressing need developed to define processes and
equipment centered on building large business systems. In those days, teams were
small, centralized, and users were ‘less’ demanding. This type of scenario meant that
there was not a true need for refined methodologies to drive the life cycle of system
development. However, technology has evolved, systems have become increasingly
complex, and users have become accustomed to well-functioning technology. Models
and frameworks have been developed to guide companies through an organized
system development life cycle. Today, the traditional approaches to technology system
development have been adjusted to meet the ever-changing, complex needs of each
unique organization and their users. Below you will find sequential steps to SDLC, but
each company will vary in their process.

The Phases of SDLC

The SDLC framework provides a step-by-step guide through the phases of


implementing both a physical and software based system. A variety of models are
available, but whether utilizing the oldest method of SDLC, the waterfall method,
adopting an Agile method, or employing a hybrid of several methods, all methods
embrace a phased iterative structure that you can adapt to your organization’s needs.
You may find phases with varying naming conventions, but these are the most common
stages of SDLC. Organizations may adopt any, all, or a variation of these phases:

 Analysis/Feasibility: For an SDLC strategy to work there should be a strong idea of


what deficiencies exist in the current structure and the goals for the new approach.
A feasibility study determines if you can or should accomplish the goals of the plan.
Information is gathered and analyzed to identify what technical assets, personnel,
and training is already in place and utilized. The study also inventories what is
needed to augment or replace, and at what cost. During this phase you determine
the overall project scope, including economic, operational and human factors,
identify key personnel, and develop timelines.
 Planning/Requirements: A plan can include adapting a current system to meet
new needs or developing a completely new system. This phase defines user
requirements, identifies needed features, functions, and customizations, and
investigates overall capabilities
 Design: Once you make the plan and identify costs, systems, and user
requirements, a detailed system design can begin that includes features and other
documentation. The architects can then build a sample framework.
 System Development: An approved design is the catalyst for authorizing
development for the new or augmented system. Some say that this is the most
robust part of the life cycle. During this phase, developers write code and you
construct and fine-tune technical and physical configurations.
 Testing: Users are brought in to test before deployment to identify areas of concern
or improvement.
 Deployment: The system is put into a production environment and used to conduct
business.
 Maintenance: The cyclical nature of SDLC recognizes that the process of change
and upgrading are constant. Carry out the replacement of outdated
hardware/software, security upgrades, and continuous improvement on a regular
basis.
 Evaluation: An often overlooked element of any large scale system roll-out is the
evaluation process, which supports the continuous improvement of the system. The
team continuously reviews what is working and what is in need of improvement.
This can mean recommending additional training, procedures, or upgrades.
 Disposition/Disposal/End-of-Life: A well-rounded life cycle identifies and
decommissions surplus or obsolete assets at the end of their life cycle. Included in
this phase is the secure retrieval of data and information for preservation, as well as,
the physical disposition of an asset.

Following each phase of a system development life cycle the team and project manager
may establish a baseline or milestones in the process. The baseline may include start
date, end date, phase/stage duration, and budget data. These baseline assists the
project manager in monitoring performance.
There is an increased interest in system security at all levels of the life cycle, that
include the elements of confidentiality, information availability, the integrity of the
information, overall system protection, and risk mitigation. Aligning the development
team and the security team is a best practice that ensures security measures are built
into the various phases of the system development life cycle. For example, SAMM, the
Software Assurance Maturity Model is a framework that aids organizations in evaluating
their software security practices, building security programs, demonstrating security
improvements, and measuring security-related activities. In addition, governance and
regulations have found their way into technology, and stringent requirements for data
integrity impact the team developing technology systems. Regulations impact
organizations differently, but the most common are Sarbanes-Oxley, COBIT, and
HIPAA.

Each company will have their own defined best practices for the various stages of
development. For example, testing may involve a defined number of end users and use
case scenarios in order to be deemed successful, and maintenance may include
quarterly, mandatory system upgrades.

Benefits of a Well-Defined System Development Life Cycle

There are numerous benefits for deploying a system development life cycle that include
the ability to pre-plan and analyze structured phases and goals. The goal-oriented
processes of SDLC are not limited to a one-size-fits-all methodology and can be
adapted to meet changing needs. However, if well-defined for your business, you can:

 Have a clear view of the entire project, the personnel involved, staffing
requirements, a defined timeline, and precise objectives to close each phase.
 Base costs and staffing decisions on concrete information and need.
 Provide verification, goals, and deliverables that meet design and development
standards for each step of the project, developing extensive documentation
throughout.
 Provide developers a measure of control through the iterative, phased approach,
which usually begins with an analysis of costs and timelines.
 Improve the quality of the final system with verification at each phase.

Disadvantages of a Structured System Development Life Cycle

In these same areas, there are some who find disadvantages when following a
structured SDLC. Some of the downfalls include:

 Many of the methods are considered inflexible, and some suffer from outdated
processes.
 Since you base the plan on requirements and assumptions made well ahead of the
project’s deployment, many practitioners identify difficulty in responding to
changing circumstances in the life cycle.
 Some consider the structured nature of SDLC to be time and cost prohibitive.
 Some teams find it too complex to estimate costs, are unable to define details early
on in the project, and do not like rigidly defined requirements.
 Testing at the end of the life cycle is not favorable to all development teams. Many
prefer to test throughout their process.
 The documentation involved in a structured SDLC approach can be overwhelming.
 Teams who prefer to move between stages quickly and even move back to a
previous phase find the structured phase approach challenging.

Another Form of SDLC: The Software Development Life Cycle

When the word “systems” is replaced with the word “software,” it creates another
version of SDLC. The Software Development Life Cycle follows an international
standard known as ISO 12207 2008. In this standard, phasing similar to the traditional
systems development life cycle is outlined to include the acquisition of software,
development of new software, operations, maintenance, and disposal of software
products. An identified area of growing concern and increased adoption continues to
revolve around the need for enhanced security functionality and data protection.
Like systems development life cycle, discussed previously, there are numerous
methods and frameworks that you can adopt for software development including:

 The Waterfall Method is a steady sequence of activity that flows in a downward


direction much like its name. This traditional engineering process that closes each
phase upon completion is often criticized for being too rigid.
 The V-Shaped Model is an adaptation of Waterfall that has testing as an integral
part to close each phase.
 The Prototype Method advocates a plan to build numerous software methods that
allow different elements to be “tried-out” before fully developing them. The
Prototype method can increase “buy-in” by users/customers.
 Rapid Application Development (RAD) is a hybrid of the prototype method, but
works to de-emphasize initial planning to rapidly prototype and test potential
solutions.
 The Spiral Method provides more process steps, which are graphically viewed in a
spiral formation and is generally credited to provide greater flexibility and process
adaptation.
 Agile Methods are software-based systems that provide feedback through an
iterative process and include Kanban, Scrum, Extreme Programming (XP), and
Dynamic systems development method (DSDM).

Other models and methods include Synchronize and Stabilize, Dynamic Systems
Development (DSDM), Big Bang Model, Fountain, and Evolutionary Prototyping Model,
among others. Each has elements of a defined stepped process with variations to adapt
for flexibility.
Choosing the right SDLC method is critical for the success of your development project
as well as for your business. There is not a hard and fast rule that you must choose only
a single methodology for each project, but if you are to invest in a methodology and
supporting tools, it is wise to utilize them as much as possible. To choose the right
methodology you must first:

 Understand the various methodologies, their advantages, and disadvantages.


 Become familiar with the team dynamics, stakeholders involved, and the projects
you will be managing.
 Compare the methodologies to the criteria your team has defined and business facts
– size of your team, type of technology projects, complexity of projects, etc. The
methodology should be easy for the team to understand and learn.
 Share the decision and reasoning with your team and stakeholders.

Project Managing the System Development Life Cycle

The iterative and phased stages of an SDLC benefit from the leadership of a dedicated
project manager. The major goal of an SDLC is to provide cost effective and appropriate
enhancements or changes to the information system that meet overall corporate goals.
The project manager is responsible for executing and closing all the linear steps of
planning, building, and maintaining the new or improved system throughout the
process.

Other elements for the project manager involve administration of human elements
including communication, change management strategies, and training, initiating and
driving the planning for the project, setting and monitoring goals, providing avenues for
communication and training, and keeping track of budgets and timelines. The project
manager is the overall control agent for a strong SDLC process.

Software Solutions That Support the System Development Life Cycle

SDLC products from software vendors promise organizational clarity, modern process
development procedures, legacy application strategies, and improved security features.
Many options provide customized or integrated solutions. Vendors such as Oracle,
Airbrake, and Veracode provide software development solutions in their complete
enterprise software offerings. Many of these vendors also have a strong focus on
identifying and de-bugging systems that may support the process of testing in software
development life cycles. In many cases, SDLC teams utilize a variety of software
solutions to support the varying stages. For example, requirements may be gathered,
tracked and managed in one solution while testing use cases may take place in a
completely different solution.

Regardless of the process implemented and the tools used, all require the crucial
element of documentation to support findings, close iterative phases, and to analyze
success. Today’s increasing demand for data and information security also factor into
the overall planning, training, testing, and deployment of a system. However, one of the
most important elements of success of any SDLC method continues to be in the initial
planning, followed by choosing the appropriate framework and method, and finally
sticking to, deploying, and maintaining a robust project plan.

Start Managing Your System Development Life Cycle with a Helpful


Template

Project managers in charge of SDLC need the right tools to help manage the entire
process, provide visibility to key stakeholders, and create a central repository for
documentation created during each phase. One such tool is Smartsheet, a work
management and automation platform that enables enterprises and teams to work
better.

With its customizable spreadsheet interface and powerful collaboration features,


Smartsheet allows for streamlined project and process management. Use
Smartsheet’s SDLC with Gantt template to get started quickly, and help manage the
planning, development, testing, and deployment stages of system development. Create
a timeline with milestones and dependencies to track progress, and set up automated
alerts to notify you as anything changes. Share your plan with your team and key
stakeholders to provide visibility, and assign tasks to individuals to ensure nothing slips
through the cracks.
Try the Smartsheet SDLC template for free, today.

Create Your SDLC Plan in Smartsheet

A Better Way to Manage System and Software Development Life Cycles

To make system updates in record time, leading development teams rely on


Smartsheet’s work management solutions. Whether for new software development,
product launch plans, or product roadmaps, collaborative work management ensures
that software and system development doesn’t happen in a silo.
Streamline prioritization efforts, improve development consistency, and manage all
activities in one platform. Accelerate time to market, improve internal and external
coordination, and monitor launch readiness in real-time.
Discover why today’s most innovative system and software development teams use
Smartsheet to sprint, test, and deliver.

S-ar putea să vă placă și