SlideShare a Scribd company logo
THE SOFTWARE
THE SOFTWARE
DEVELOPMENT
DEVELOPMENT
LIFECYCLE
LIFECYCLE
LIST OF
CONTENTS
Software
Development
Lifecycle
Agile Methodologies
(Scrum, Kanban)
Waterfall Model
Iterative
Development
Choosing the right
Methodologies
Bringing a computer programming project to market is time consuming and
effort. The key to completing in on time, within budget, and ensuring that it meets
user requirements, requires planning. The Software Development Lifecycle describes
the steps in this process, and programmers must be conversant with this process.
In this section, you will look into the steps involved in
planning, analyzing and designing a software application.
SDLC
Software Development Lifecycle
Software development is a time-consuming effort.
It can take months, and even years, to develop an
application. AAA games typically take 1 to 2 years
to bring a game to the market, while mobile apps
take 3 to 5 months to develop. The steps in getting
an app to the market are described by the SDLC
(Software Development Lifecycle). The SDLC
breaks down the process to bring an application
to market into 7 phases. The purpose of phase in
the SDLC can encapsulated in a phrase which
indicates the basic rationale of that phase. The
software development process starts when a
customer requests an application, or a perceived
need is detected in the marketplace and ends
when the app has been deployed. The first,
second and third phases in the SDLC are the
Planning, Analysis and Design Phases.
Figure 2.
The purpose of each phase
in the SDLC
The Planning phase decides
whether the app should be
developed or not. Various
stakeholders in the project are
assembled and the reasons for
developing the app are discussed.
This phase examines the business
aspects of the proposed app and
determines scope of the project,
along with preliminary cost
estimates. Feasibility studies are
also conducted, and a tentative
timeline is proposed.
PLANNING PHASE
The Analysis phase is commenced after
the decision to develop the app has been
made. In this phase, the requirements of
the proposed app are finalized. This
phase is performed by members of the
development team, business analysts,
Subject Matter Experts (SMEs),
customers and end-users who will
ultimately use the app. The SMEs provide
subject matter expertise about the app
requirements, and the marketplace for
the app. The next phase, the Design
phase, depends upon the accuracy of the
requirements gathered in this phase,
which ends with the creation of a high-
level design document.
ANALYSIS PHASE
Design Phase Phase 3 of the SDLC is
the Design phase. In this phase, the
team decides upon the building blocks
that will be used to build the app. The
architecture of the application is
decided. This includes decisions about
the application frameworks, database
software, and development of function
specifications. For a web app, this
includes web site design, and for a
mobile app, it includes screen layouts.
Server configurations are also finalized.
Decisions about programming language
may be made in the Design phase or
deferred until the Coding phase.
DESIGN PHASE
FIGURE 3.
THE FIRST 3 PHASES OF THE SDLC.
CASE STUDY
To understand the SDLC better, a case study approach is used to
demonstrate the use of the SDLC. Consider a local pizzeria that
needs to build a web app that allows its customers to place orders
for various types of pizzas that the pizzeria makes via a website. The
customer must be allowed to make payments via the web app and
specify the time that they will pick up the pizza.
FIGURE 4. Case study example.
Planning Phase
In this phase, there are 3 sets of people
involved. The first are the members of
the design team. They bring in technical
and software expertise. The customer is
the pizzeria, while the pizzeria’s
customers are those who place orders
for their product. These are the end-
users of the app. It is the responsibility
of both the design team and the pizzeria
team to correctly understand and
anticipate the requirements of the end-
users, the pizzeria’s customers. Using
focus groups of potential end-users will
help refine requirements. Many
questions must be answered in the
Analysis phase. These questions will
need be viewed by both the client and
the end-user. Answers to these
questions impact the design of the
application.
The requirements from the
customer are stated in
business terms. The Pizzeria’s
offerings (pizzas) and their
current mode of doing
business must be understood,
along with other information.
If feasibility studies and
costing estimates have
indicated that building the
app is a sound business
decision, the project moves
ahead.
The Design phase commences after the
Analysis phase has concluded. The Design
document contains various information
items along with clarifying details. The
Database Management Software is
selected, along with a design of the
database to hold information. Application
architecture is finalized. This includes
determining if cloud architecture will be
used or whether the Pizzeria will maintain
hardware. Decisions to create the frontend
from scratch or use a Content Management
system is made, and frameworks are
selected for the back end. In addition to
this high-level view, detailed documents are
created showing screen-shots of proposed
front-end views and functional
specifications for front-end logic and back-
end programs. These functional
specifications are implemented in the
Coding phase.
Analysis Phase Design Phase
FIGURE 5
. Customer requirement — Details. Many questions must be
answered in the Analysis phase. These questions will need be
viewed by both the client and the end-user. Answers to these
questions impact the design of the application.
FIGURE 6. High level Design
Document. Items to be finalized in
the Design phase.
FIGURE 7. Completed High-
level Design Document.
UNCOVERING
ADDITIONAL FACTS:
What Does SDLC Stand for?
This lesson discusses the Software Development
Lifecycle, abbreviated to SDLC. However, there is another
process that is also abbreviated to SDLC, and it is the
System Development Lifecycle. The System
Development Lifecycle is used as a tool to plan IT
projects, and it includes hardware and software. It is
considered a superset of the Software Development
Lifecycle.
FIGURE 8. Categories of SDLC Implementations.
In this section you will learn about the
various SDLC implementations and
understand how each implementation
allocates software development tasks
amongst team members.
SDLC Implementations The SDLC is a high-level model that depicts all the phases in a software development
effort. There are many implementations of the SDLC model. Though the steps in the SDLC model are universal,
they are implemented differently in each of the SDLC variants. SDLC Models can be classified by categories.
These categories are Predictive Models, Adaptive Models and Agile Models.
The oldest of these models is
the Predictive model. In this
model, the SDLC phases are
completed one after the
other, with no backward
movement. For example, the
Design Phase is completed
before the Coding Phase is
stared. If there needs to be a
change in the app’s design, it
cannot be incorporated once
the Coding phase has
commenced. This can lead to
the development of apps that
do not meet customer or end-
user needs.
Predictive Models
The Waterfall Model: The most popular
Predictive model, and one the earliest SDLC
implementations, is the Waterfall model. It is a
sequential model where a phase is started
only after the previous phase has been
completed. In this model, it is critical that
requirements be correctly and accurately
identified in the Analysis phase. Once the
Design phase starts, modifications cannot be
incorporated since the Waterfall model does
not permit backward phase movements. If a
project’s requirements are well defined, and
the scope of the project is small, the Waterfall
model can be used to successfully. System
design and Development is relatively easy, and
the scope and cost of the project can be
predicted early in the process. However, if the
project requirements are unclear and evolving,
the Waterfall model’s shortcomings become
very evident. It does not allow for an iterative
approach where changes are incorporated
continuously throughout the lifetime of the
development effort.
Waterfall Model
The second SDLC category is the
Adaptive Model. This is also
referred to as the Iterative Model.
Here, the app is built
incrementally. The first build
creates a small section of the
software that is functional and
useful. If it does not meet
customer requirements, it is
modified, and the process is
repeated till it is finalized, making
this an iterative process. Once a
section has been completed, the
next increment is developed. This
model allows for changes to be
made during the Coding phase,
and this leads to applications
that meet customer need more
closely than those built using
predictive models.
Adaptive Model
The third implementation of the SDLC is
the Agile model. In 2001, seventeen
software developers met in Snowbird,
Utah, and developed the Manifesto for
Agile Software Development, which is
commonly referred to as the Agile
Manifesto. This document did not contain
detailed implementation plans but placed
emphasis on an iterative approach to
software development. The premise was
that while tools and processes are
important, people and interactions are
more important. It incorporates elements
of the Adaptive model with emphasis on
speed of delivery of software. Agile
projects are implemented in small
increments by compact self-managed
teams. The Agile model does not believe
in designing the entire app before starting
the Coding phase. Instead, an incremental
and iterative approach is used.
The project is broken into smaller
pieces and each of these is
competed in small sections of
time. The customer is part of the
development process and provides
feedback each step of the way,
allowing for changes to be
incorporated as the app is being
built. In Agile, multiple iterations
are performed. An iteration can be
a re-working of existing code that
needs to be changed due to
changes in user requirements, or it
can mean the development of new
software modules. Each iteration
runs for a few weeks. However, the
Agile approach has its drawbacks.
Users must commit time towards
the development process, and it
can be difficult to predict costs for
the project.
Agile Model
The Scrum Model. One of the most
popular variations of the Agile
methodology is the Scrum Model. Scrum
emphasizes simplicity and frequent
interactions between developers and
customers. There are 3 main roles in a
Scrum project. The Product Owner is the
interface between the customer and the
development team. This person
assembles customer requirements,
referred to as stories, and places them in
the product backlog. The Scrum Master is
the person who ensures that the
development team can work without any
obstacles. Scrum teams are self-
organizing, and do not need a formal team
leader or project manager. Team members
self-select roles during the Coding phase
based upon their competencies. The
success of the Scrum methodology rests
upon the fact that team members feel
empowered to perform tasks that fits
Scrum Model
their skill set best. Scrum projects
are broken into smaller timeboxed
events called sprints. A sprint is a
development effort that lasts 3-4
weeks. A sprint starts with a sprint
planning meeting. At this meeting,
sprints are removed from the
product backlog and placed in the
sprint backlog. The Development
team begins coding and testing the
assigned sprint. Daily scrum
meetings are held at the start of
business day. The meeting is a
standing-only meeting which lasts
10-15 minutes, where the team
discusses their progress during the
previous day. Once a sprint is
completed, it is reviewed and
presented to the Product Owner. If
the Product owner accepts the
sprint, the sprint is ended, and it is
moved into production. A sprint
retrospective is also performed to
review the sprint completion
process to see if any lessons can be
learned from the process.
FIGURE 11.
Roles in a Scrum project.
FIGURE 12. Steps in a Sprint.
The software development lifecycle for IT

More Related Content

DOCX
Sdlc process document
PPTX
SDLC.pptx
PPTX
SE-Lecture-2.pptx
PPTX
PPTX
PPTX
Software testing
PPTX
SE-Lecture-4.pptx
PPTX
Software testing
Sdlc process document
SDLC.pptx
SE-Lecture-2.pptx
Software testing
SE-Lecture-4.pptx
Software testing

Similar to The software development lifecycle for IT (20)

PPTX
software development life cycle(SDLC)
PPTX
Lesson 2 introduction in computing
PPT
Software Engineering Into-- -week 4.ppt
PDF
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
PDF
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
PDF
Software development lifecycle
PDF
Designing A Waterfall Approach For Software Development Essay
PDF
Ijetcas14 545
PDF
Agile V. Waterfall
DOCX
Ch 02 s.e software process models 1
PPTX
Software development life cycle copy
DOC
Session3
PPTX
Software development process basic
PPTX
Scrum in IT Industry Part1
PDF
Sdlc models
PPTX
Software development model in computer application
PPT
187202477-Models-of-SDLC-ppt-Original.ppt
PPTX
Software life cycle models
PDF
Project Management System Evaluation Paper
PDF
SWE-401 - 2. Software Development life cycle (SDLC)
software development life cycle(SDLC)
Lesson 2 introduction in computing
Software Engineering Into-- -week 4.ppt
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
Software development lifecycle
Designing A Waterfall Approach For Software Development Essay
Ijetcas14 545
Agile V. Waterfall
Ch 02 s.e software process models 1
Software development life cycle copy
Session3
Software development process basic
Scrum in IT Industry Part1
Sdlc models
Software development model in computer application
187202477-Models-of-SDLC-ppt-Original.ppt
Software life cycle models
Project Management System Evaluation Paper
SWE-401 - 2. Software Development life cycle (SDLC)
Ad

Recently uploaded (20)

PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Approach and Philosophy of On baking technology
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
project resource management chapter-09.pdf
PDF
August Patch Tuesday
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
NewMind AI Weekly Chronicles - August'25-Week II
Univ-Connecticut-ChatGPT-Presentaion.pdf
Encapsulation_ Review paper, used for researhc scholars
Zenith AI: Advanced Artificial Intelligence
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
DP Operators-handbook-extract for the Mautical Institute
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Chapter 5: Probability Theory and Statistics
Approach and Philosophy of On baking technology
WOOl fibre morphology and structure.pdf for textiles
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
project resource management chapter-09.pdf
August Patch Tuesday
Web App vs Mobile App What Should You Build First.pdf
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Ad

The software development lifecycle for IT

  • 2. LIST OF CONTENTS Software Development Lifecycle Agile Methodologies (Scrum, Kanban) Waterfall Model Iterative Development Choosing the right Methodologies
  • 3. Bringing a computer programming project to market is time consuming and effort. The key to completing in on time, within budget, and ensuring that it meets user requirements, requires planning. The Software Development Lifecycle describes the steps in this process, and programmers must be conversant with this process. In this section, you will look into the steps involved in planning, analyzing and designing a software application.
  • 4. SDLC Software Development Lifecycle Software development is a time-consuming effort. It can take months, and even years, to develop an application. AAA games typically take 1 to 2 years to bring a game to the market, while mobile apps take 3 to 5 months to develop. The steps in getting an app to the market are described by the SDLC (Software Development Lifecycle). The SDLC breaks down the process to bring an application to market into 7 phases. The purpose of phase in the SDLC can encapsulated in a phrase which indicates the basic rationale of that phase. The software development process starts when a customer requests an application, or a perceived need is detected in the marketplace and ends when the app has been deployed. The first, second and third phases in the SDLC are the Planning, Analysis and Design Phases.
  • 5. Figure 2. The purpose of each phase in the SDLC The Planning phase decides whether the app should be developed or not. Various stakeholders in the project are assembled and the reasons for developing the app are discussed. This phase examines the business aspects of the proposed app and determines scope of the project, along with preliminary cost estimates. Feasibility studies are also conducted, and a tentative timeline is proposed. PLANNING PHASE The Analysis phase is commenced after the decision to develop the app has been made. In this phase, the requirements of the proposed app are finalized. This phase is performed by members of the development team, business analysts, Subject Matter Experts (SMEs), customers and end-users who will ultimately use the app. The SMEs provide subject matter expertise about the app requirements, and the marketplace for the app. The next phase, the Design phase, depends upon the accuracy of the requirements gathered in this phase, which ends with the creation of a high- level design document. ANALYSIS PHASE
  • 6. Design Phase Phase 3 of the SDLC is the Design phase. In this phase, the team decides upon the building blocks that will be used to build the app. The architecture of the application is decided. This includes decisions about the application frameworks, database software, and development of function specifications. For a web app, this includes web site design, and for a mobile app, it includes screen layouts. Server configurations are also finalized. Decisions about programming language may be made in the Design phase or deferred until the Coding phase. DESIGN PHASE
  • 7. FIGURE 3. THE FIRST 3 PHASES OF THE SDLC. CASE STUDY To understand the SDLC better, a case study approach is used to demonstrate the use of the SDLC. Consider a local pizzeria that needs to build a web app that allows its customers to place orders for various types of pizzas that the pizzeria makes via a website. The customer must be allowed to make payments via the web app and specify the time that they will pick up the pizza. FIGURE 4. Case study example.
  • 8. Planning Phase In this phase, there are 3 sets of people involved. The first are the members of the design team. They bring in technical and software expertise. The customer is the pizzeria, while the pizzeria’s customers are those who place orders for their product. These are the end- users of the app. It is the responsibility of both the design team and the pizzeria team to correctly understand and anticipate the requirements of the end- users, the pizzeria’s customers. Using focus groups of potential end-users will help refine requirements. Many questions must be answered in the Analysis phase. These questions will need be viewed by both the client and the end-user. Answers to these questions impact the design of the application. The requirements from the customer are stated in business terms. The Pizzeria’s offerings (pizzas) and their current mode of doing business must be understood, along with other information. If feasibility studies and costing estimates have indicated that building the app is a sound business decision, the project moves ahead. The Design phase commences after the Analysis phase has concluded. The Design document contains various information items along with clarifying details. The Database Management Software is selected, along with a design of the database to hold information. Application architecture is finalized. This includes determining if cloud architecture will be used or whether the Pizzeria will maintain hardware. Decisions to create the frontend from scratch or use a Content Management system is made, and frameworks are selected for the back end. In addition to this high-level view, detailed documents are created showing screen-shots of proposed front-end views and functional specifications for front-end logic and back- end programs. These functional specifications are implemented in the Coding phase. Analysis Phase Design Phase
  • 9. FIGURE 5 . Customer requirement — Details. Many questions must be answered in the Analysis phase. These questions will need be viewed by both the client and the end-user. Answers to these questions impact the design of the application.
  • 10. FIGURE 6. High level Design Document. Items to be finalized in the Design phase. FIGURE 7. Completed High- level Design Document.
  • 11. UNCOVERING ADDITIONAL FACTS: What Does SDLC Stand for? This lesson discusses the Software Development Lifecycle, abbreviated to SDLC. However, there is another process that is also abbreviated to SDLC, and it is the System Development Lifecycle. The System Development Lifecycle is used as a tool to plan IT projects, and it includes hardware and software. It is considered a superset of the Software Development Lifecycle. FIGURE 8. Categories of SDLC Implementations. In this section you will learn about the various SDLC implementations and understand how each implementation allocates software development tasks amongst team members. SDLC Implementations The SDLC is a high-level model that depicts all the phases in a software development effort. There are many implementations of the SDLC model. Though the steps in the SDLC model are universal, they are implemented differently in each of the SDLC variants. SDLC Models can be classified by categories. These categories are Predictive Models, Adaptive Models and Agile Models.
  • 12. The oldest of these models is the Predictive model. In this model, the SDLC phases are completed one after the other, with no backward movement. For example, the Design Phase is completed before the Coding Phase is stared. If there needs to be a change in the app’s design, it cannot be incorporated once the Coding phase has commenced. This can lead to the development of apps that do not meet customer or end- user needs. Predictive Models The Waterfall Model: The most popular Predictive model, and one the earliest SDLC implementations, is the Waterfall model. It is a sequential model where a phase is started only after the previous phase has been completed. In this model, it is critical that requirements be correctly and accurately identified in the Analysis phase. Once the Design phase starts, modifications cannot be incorporated since the Waterfall model does not permit backward phase movements. If a project’s requirements are well defined, and the scope of the project is small, the Waterfall model can be used to successfully. System design and Development is relatively easy, and the scope and cost of the project can be predicted early in the process. However, if the project requirements are unclear and evolving, the Waterfall model’s shortcomings become very evident. It does not allow for an iterative approach where changes are incorporated continuously throughout the lifetime of the development effort. Waterfall Model The second SDLC category is the Adaptive Model. This is also referred to as the Iterative Model. Here, the app is built incrementally. The first build creates a small section of the software that is functional and useful. If it does not meet customer requirements, it is modified, and the process is repeated till it is finalized, making this an iterative process. Once a section has been completed, the next increment is developed. This model allows for changes to be made during the Coding phase, and this leads to applications that meet customer need more closely than those built using predictive models. Adaptive Model
  • 13. The third implementation of the SDLC is the Agile model. In 2001, seventeen software developers met in Snowbird, Utah, and developed the Manifesto for Agile Software Development, which is commonly referred to as the Agile Manifesto. This document did not contain detailed implementation plans but placed emphasis on an iterative approach to software development. The premise was that while tools and processes are important, people and interactions are more important. It incorporates elements of the Adaptive model with emphasis on speed of delivery of software. Agile projects are implemented in small increments by compact self-managed teams. The Agile model does not believe in designing the entire app before starting the Coding phase. Instead, an incremental and iterative approach is used. The project is broken into smaller pieces and each of these is competed in small sections of time. The customer is part of the development process and provides feedback each step of the way, allowing for changes to be incorporated as the app is being built. In Agile, multiple iterations are performed. An iteration can be a re-working of existing code that needs to be changed due to changes in user requirements, or it can mean the development of new software modules. Each iteration runs for a few weeks. However, the Agile approach has its drawbacks. Users must commit time towards the development process, and it can be difficult to predict costs for the project. Agile Model The Scrum Model. One of the most popular variations of the Agile methodology is the Scrum Model. Scrum emphasizes simplicity and frequent interactions between developers and customers. There are 3 main roles in a Scrum project. The Product Owner is the interface between the customer and the development team. This person assembles customer requirements, referred to as stories, and places them in the product backlog. The Scrum Master is the person who ensures that the development team can work without any obstacles. Scrum teams are self- organizing, and do not need a formal team leader or project manager. Team members self-select roles during the Coding phase based upon their competencies. The success of the Scrum methodology rests upon the fact that team members feel empowered to perform tasks that fits Scrum Model
  • 14. their skill set best. Scrum projects are broken into smaller timeboxed events called sprints. A sprint is a development effort that lasts 3-4 weeks. A sprint starts with a sprint planning meeting. At this meeting, sprints are removed from the product backlog and placed in the sprint backlog. The Development team begins coding and testing the assigned sprint. Daily scrum meetings are held at the start of business day. The meeting is a standing-only meeting which lasts 10-15 minutes, where the team discusses their progress during the previous day. Once a sprint is completed, it is reviewed and presented to the Product Owner. If the Product owner accepts the sprint, the sprint is ended, and it is moved into production. A sprint retrospective is also performed to review the sprint completion process to see if any lessons can be learned from the process. FIGURE 11. Roles in a Scrum project. FIGURE 12. Steps in a Sprint.