SOFTWARE DEVELOPMENT
LIFETIME CYCLE
Shift Education of
Technology
May 2017
SDLC PRESENTATION CONTENTS
SDLC definition and concept
SDLC Stages or Phases
Types of SDLC
Verification, Validation and Testing
The Agile Model
The Agile Manifesto
The Agile Scrum
The Scrum in action
Glossary
SOFTWARE DEVELOPMENT
LIFETIME CYCLE
SDLC stands for Systems or Software Development Lifetime Cycle using the initials of the words, also referred to as the
application development life-cycle, is a term used in systems engineering, information systems and software engineering to
describe a process for planning, creating, testing, and deploying an information system.
SDLC can also be considered a framework or a logical conceptual model, composed of a methodical structured process.
The system-development life cycle enables users to transform a newly-developed project into an operational one, this is a
multi step, iterative process, structured in a methodical way. This process is used to model or provide a framework for
technical and non-technical activities to deliver a quality system which meets or exceeds a business"s expectations or
manage decision-making progression.
Traditionally, the systems-development life cycle consisted of five stages. That has now increased to seven phases.
Increasing the number of steps helped systems analysts to define clearer actions to achieve specific goals.
Similar to a project life cycle (PLC), the SDLC uses a systems approach to describe a process. It is often used and followed
when there is an IT or IS project under development.
The SDLC highlights different stages (phases or steps) of the development process. The life cycle approach is used so users
can see and understand what activities are involved within a given step. It is also used to let them know that at any time,
steps can be repeated or a previous step can be reworked when needing to modify or improve the system.
Learn more about the SDLC Seven Phases – read more...
SDLC STAGES * PHASES
The following are the seven phases of the SDLC:
1. Planning The first phase of the process, identifies the strategic objective. This is a preliminary plan, the initiative to
acquire the resources to build on an infrastructure to modify or improve a service. Maybe a need to meet or exceed
expectations for their employees, customers and stakeholders too. The purpose of this step is to find out the scope/purpose
of the problem and determine solutions. Resources, costs, time, benefits and other items should be considered at this
stage.
2. Systems Analysis and Requirements the second phase is where businesses will work on the source of their problem
or the need for a change. In the event of a problem, possible solutions are submitted and analyzed to identify the best fit for
the ultimate goals of the project. This is where teams consider the functional requirements of the project or solution. It is
also where system analysis takes place—or analyzing the needs of the end users to ensure the new system can meet their
expectations. Systems analysis is vital in determining what a business"s needs are, as well as how they can be met, who will
be responsible for individual pieces of the project, and what sort of timeline should be expected. (Estimation/Timeline)
There are several tools businesses can use that are specific to the second phase. They include:
CASE (Computer Aided Systems/Software Engineering)
Requirements gathering
Structured analysis
3. Systems Design
The third phase describes, in detail, the necessary specifications, features and operations that will satisfy the functional
requirements of the proposed system which will be in place. This is the step for end users to discuss and determine their
specific business information needs for the proposed system. It"s during this phase that they will consider the essential
components (hardware and/or software) structure (networking capabilities), processing and procedures for the system to
accomplish its objectives.
SDLC STAGES * PHASES
4. Development the fourth phase is when the real work begins—in particular, when a programmer, network engineer
and/or database developer are brought on to do the major work on the project. This work includes using a flow chart to
ensure that the process of the system is properly organized. The development phase marks the end of the initial section of
the process. Additionally, this phase signifies the start of production. The development stage is also characterized by
instillation and change. Focusing on training can be a huge benefit during this phase.
5. Integration and Testing the fifth phase involves systems integration and system testing (of programs and
procedures)—normally carried out by a Quality Assurance (QA) professional—to determine if the proposed design meets
the initial set of business goals. Testing may be repeated, specifically to check for errors, bugs and interoperability. This
testing will be performed until the end user finds it acceptable. Another part of this phase is verification and validation,
both of which will help ensure the program"s successful completion.
6. Implementation the sixth phase is when the majority of the code for the program is written. Additionally, this phase
involves the actual installation of the newly-developed system. This step puts the project into production by moving the
data and components from the old system and placing them in the new system via a direct cutover. While this can be a
risky (and complicated) move, the cutover typically happens during off-peak hours, thus minimizing the risk. Both system
analysts and end-users should now see the realization of the project that has implemented changes.
7. Operations and Maintenance the seventh and final phase involves maintenance and regular required updates. This
step is when end users can fine-tune the system, if they wish, to boost performance, add new capabilities or meet
additional user requirements.
TYPES OF SDLC MODELS
There are 6 Types of SDLC: Waterfall, V-Shape, Spiral, Iterative, Big Bang and Agile.
1.Waterfall the oldest and straightforward of the 6 Models, as the name suggest represents the flow of the process where
each phase only starts when the preceding phase is completed, this linear model is easy to understand and manage but not
very flexible, or if the project is long-term and recurrent.
2.V-shaped Model is a successor of waterfall in which each stage has its own testing phase, also known as verification
and validation model.
Useful when there is no unknown Requirements. Also linear and very high disciplined.
Verification Phase: (requirement analysis, systems design, architecture design, module design)
Validation Phase: (unit testing, integration testing, systems testing, release testing, user acceptance testing)
5.Iterative Model iterative/repetitive and incremental Model is a combination of iterative design, iterative method and
incremental build model. Where the software is enhanced during the various cycles, this process continues till complete
system is ready as per requirement. Iterative software development lifecycle is rigorous on validation, verification and
testing this has to occur as the product evolves during successive cycles for each version of the software.
5.Spiral one complex SDLC Methodology.
6.Big Bang The Model – nothing happens with some excitement sometimes we explode, this in my opinion the peculiar
or the most stunning model because is simple, no big planning thus minimal plan, easy to manage, flexible to developers,
good learning aid for Newbies, new learners and students however not right for large or complex projects, due
to uncertainty.
Time + Efforts + Resources/Materials/Contents = Software
Agile the next SDLC Model – read more...
TYPES OF SDLC * AGILE
7.Agile Model - software development refers to a group of software development methodologies based on
iterative development, where requirements and solutions evolve through collaboration between self-
organizing cross-functional teams.
Agile methods or Agile processes generally promote a disciplined project management process that
encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-
organization and accountability, a set of engineering best practices intended to allow for rapid delivery of
high-quality software, and a business approach that aligns development with customer needs and company
goals.
Agile development refers to any development process that is aligned with the concepts of the Agile
Manifesto.
The Manifesto was developed by a group fourteen leading figures in the software industry, and reflects
their experience of what approaches do and do not work for software development.
Keywords: Cyclical and Incremental, Quick Delivery, On-going releases, Interaction and Customer
Collaboration
The Agile Manifesto – Read more...
THE AGILE MANIFESTO
The Manifesto was developed by a group fourteen leading figures in the software industry, and reflects
their experience of what approaches do and do not work for software development.
The Authors: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham,
Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian
Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas.
AGILE SCRUM MODEL
Scrum is a subset of Agile. It is a lightweight process framework and the most widely-used one.
The Scrum process framework requires the use of development cycles called Sprints, the XP framework requires pair
programming, and so forth.
“Lightweight” means that the overhead of the process is kept as small as possible, to maximize the amount of productive
time available for getting useful work done.
A Scrum process is distinguished from other agile processes by specific concepts and practices, divided into the three
categories of Roles, Artifacts, and Time Boxes. These and other terms used in Scrum are defined in the next page.
Scrum is most often used to manage complex software and product development, using iterative and incremental
practices.
Scrum significantly increases productivity and reduces time to benefits relative to classic “waterfall” processes.
Scrum processes enable organizations to adjust smoothly to rapidly-changing requirements, and produce a product that
meets evolving business goals, these processes benefits the organization by helping it to:
1.Increase the quality of the deliverables
2.Cope better with change (and expect the changes)
3.Provide better estimates while spending less time creating them
4.Be more in control of the project schedule and state
Organizations
adopting Scrum
ESCRUMINACTIO
ESCRUMINACTIO
GLOSSARY
In SDLC documentation is one of the best forms to interact and communicate between teams, and for that a vast amount of
terms and acronyms exists here are a few.
DOD - Definition of Done
JAD - Joint application development
UAT - User Acceptance testing
FRS – First requirements specification
BRS -
HLD - High Level Design
DLD -
UTC -
GUI - graphical user interface
UTR -
STR – steps to reproduce
UATR -
ITR -
STS -
RDD -
SAD -
LLD - Low Level DEsiogn
DSDM - dynamic systems development method
Black Box testing - software testing method
Prototyping - create prototypes from software applications
RAD - Rapid application development
UP - unified process
XP – Extreme Programming
TSP - Team software process
PSP - personal software process
Cleanroom - cleanroom software engineering
CONCLUSOIN
Importance of the SDLC
If a business determines a change is needed during any phase of the SDLC, the company might have to proceed through all
the above life cycle phases again. The life cycle approach of any project is a time-consuming process. Even though some
steps are more difficult than others, none are to be overlooked. An oversight could prevent the entire system from
functioning as planned.
Systems development specialists at Innovative Architects [3] possess extensive experience in managing these type of
projects. If you have a situation at your organization and you think a customized software solution may be what you need,
contact us today. Consultants at Innovative Architects will be able to quickly guide you through each of these steps,
ensuring you can have your new system online as soon as possible.

SDLC Apresentação - Shift Education of Technology

  • 1.
    SOFTWARE DEVELOPMENT LIFETIME CYCLE ShiftEducation of Technology May 2017
  • 2.
    SDLC PRESENTATION CONTENTS SDLCdefinition and concept SDLC Stages or Phases Types of SDLC Verification, Validation and Testing The Agile Model The Agile Manifesto The Agile Scrum The Scrum in action Glossary
  • 3.
    SOFTWARE DEVELOPMENT LIFETIME CYCLE SDLCstands for Systems or Software Development Lifetime Cycle using the initials of the words, also referred to as the application development life-cycle, is a term used in systems engineering, information systems and software engineering to describe a process for planning, creating, testing, and deploying an information system. SDLC can also be considered a framework or a logical conceptual model, composed of a methodical structured process. The system-development life cycle enables users to transform a newly-developed project into an operational one, this is a multi step, iterative process, structured in a methodical way. This process is used to model or provide a framework for technical and non-technical activities to deliver a quality system which meets or exceeds a business"s expectations or manage decision-making progression. Traditionally, the systems-development life cycle consisted of five stages. That has now increased to seven phases. Increasing the number of steps helped systems analysts to define clearer actions to achieve specific goals. Similar to a project life cycle (PLC), the SDLC uses a systems approach to describe a process. It is often used and followed when there is an IT or IS project under development. The SDLC highlights different stages (phases or steps) of the development process. The life cycle approach is used so users can see and understand what activities are involved within a given step. It is also used to let them know that at any time, steps can be repeated or a previous step can be reworked when needing to modify or improve the system. Learn more about the SDLC Seven Phases – read more...
  • 4.
    SDLC STAGES *PHASES The following are the seven phases of the SDLC: 1. Planning The first phase of the process, identifies the strategic objective. This is a preliminary plan, the initiative to acquire the resources to build on an infrastructure to modify or improve a service. Maybe a need to meet or exceed expectations for their employees, customers and stakeholders too. The purpose of this step is to find out the scope/purpose of the problem and determine solutions. Resources, costs, time, benefits and other items should be considered at this stage. 2. Systems Analysis and Requirements the second phase is where businesses will work on the source of their problem or the need for a change. In the event of a problem, possible solutions are submitted and analyzed to identify the best fit for the ultimate goals of the project. This is where teams consider the functional requirements of the project or solution. It is also where system analysis takes place—or analyzing the needs of the end users to ensure the new system can meet their expectations. Systems analysis is vital in determining what a business"s needs are, as well as how they can be met, who will be responsible for individual pieces of the project, and what sort of timeline should be expected. (Estimation/Timeline) There are several tools businesses can use that are specific to the second phase. They include: CASE (Computer Aided Systems/Software Engineering) Requirements gathering Structured analysis 3. Systems Design The third phase describes, in detail, the necessary specifications, features and operations that will satisfy the functional requirements of the proposed system which will be in place. This is the step for end users to discuss and determine their specific business information needs for the proposed system. It"s during this phase that they will consider the essential components (hardware and/or software) structure (networking capabilities), processing and procedures for the system to accomplish its objectives.
  • 5.
    SDLC STAGES *PHASES 4. Development the fourth phase is when the real work begins—in particular, when a programmer, network engineer and/or database developer are brought on to do the major work on the project. This work includes using a flow chart to ensure that the process of the system is properly organized. The development phase marks the end of the initial section of the process. Additionally, this phase signifies the start of production. The development stage is also characterized by instillation and change. Focusing on training can be a huge benefit during this phase. 5. Integration and Testing the fifth phase involves systems integration and system testing (of programs and procedures)—normally carried out by a Quality Assurance (QA) professional—to determine if the proposed design meets the initial set of business goals. Testing may be repeated, specifically to check for errors, bugs and interoperability. This testing will be performed until the end user finds it acceptable. Another part of this phase is verification and validation, both of which will help ensure the program"s successful completion. 6. Implementation the sixth phase is when the majority of the code for the program is written. Additionally, this phase involves the actual installation of the newly-developed system. This step puts the project into production by moving the data and components from the old system and placing them in the new system via a direct cutover. While this can be a risky (and complicated) move, the cutover typically happens during off-peak hours, thus minimizing the risk. Both system analysts and end-users should now see the realization of the project that has implemented changes. 7. Operations and Maintenance the seventh and final phase involves maintenance and regular required updates. This step is when end users can fine-tune the system, if they wish, to boost performance, add new capabilities or meet additional user requirements.
  • 6.
    TYPES OF SDLCMODELS There are 6 Types of SDLC: Waterfall, V-Shape, Spiral, Iterative, Big Bang and Agile. 1.Waterfall the oldest and straightforward of the 6 Models, as the name suggest represents the flow of the process where each phase only starts when the preceding phase is completed, this linear model is easy to understand and manage but not very flexible, or if the project is long-term and recurrent. 2.V-shaped Model is a successor of waterfall in which each stage has its own testing phase, also known as verification and validation model. Useful when there is no unknown Requirements. Also linear and very high disciplined. Verification Phase: (requirement analysis, systems design, architecture design, module design) Validation Phase: (unit testing, integration testing, systems testing, release testing, user acceptance testing) 5.Iterative Model iterative/repetitive and incremental Model is a combination of iterative design, iterative method and incremental build model. Where the software is enhanced during the various cycles, this process continues till complete system is ready as per requirement. Iterative software development lifecycle is rigorous on validation, verification and testing this has to occur as the product evolves during successive cycles for each version of the software. 5.Spiral one complex SDLC Methodology. 6.Big Bang The Model – nothing happens with some excitement sometimes we explode, this in my opinion the peculiar or the most stunning model because is simple, no big planning thus minimal plan, easy to manage, flexible to developers, good learning aid for Newbies, new learners and students however not right for large or complex projects, due to uncertainty. Time + Efforts + Resources/Materials/Contents = Software Agile the next SDLC Model – read more...
  • 7.
    TYPES OF SDLC* AGILE 7.Agile Model - software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self- organizing cross-functional teams. Agile methods or Agile processes generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self- organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals. Agile development refers to any development process that is aligned with the concepts of the Agile Manifesto. The Manifesto was developed by a group fourteen leading figures in the software industry, and reflects their experience of what approaches do and do not work for software development. Keywords: Cyclical and Incremental, Quick Delivery, On-going releases, Interaction and Customer Collaboration The Agile Manifesto – Read more...
  • 8.
    THE AGILE MANIFESTO TheManifesto was developed by a group fourteen leading figures in the software industry, and reflects their experience of what approaches do and do not work for software development. The Authors: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas.
  • 9.
    AGILE SCRUM MODEL Scrumis a subset of Agile. It is a lightweight process framework and the most widely-used one. The Scrum process framework requires the use of development cycles called Sprints, the XP framework requires pair programming, and so forth. “Lightweight” means that the overhead of the process is kept as small as possible, to maximize the amount of productive time available for getting useful work done. A Scrum process is distinguished from other agile processes by specific concepts and practices, divided into the three categories of Roles, Artifacts, and Time Boxes. These and other terms used in Scrum are defined in the next page. Scrum is most often used to manage complex software and product development, using iterative and incremental practices. Scrum significantly increases productivity and reduces time to benefits relative to classic “waterfall” processes. Scrum processes enable organizations to adjust smoothly to rapidly-changing requirements, and produce a product that meets evolving business goals, these processes benefits the organization by helping it to: 1.Increase the quality of the deliverables 2.Cope better with change (and expect the changes) 3.Provide better estimates while spending less time creating them 4.Be more in control of the project schedule and state Organizations adopting Scrum
  • 10.
  • 11.
  • 12.
    GLOSSARY In SDLC documentationis one of the best forms to interact and communicate between teams, and for that a vast amount of terms and acronyms exists here are a few. DOD - Definition of Done JAD - Joint application development UAT - User Acceptance testing FRS – First requirements specification BRS - HLD - High Level Design DLD - UTC - GUI - graphical user interface UTR - STR – steps to reproduce UATR - ITR - STS - RDD - SAD - LLD - Low Level DEsiogn DSDM - dynamic systems development method Black Box testing - software testing method Prototyping - create prototypes from software applications RAD - Rapid application development UP - unified process XP – Extreme Programming TSP - Team software process PSP - personal software process Cleanroom - cleanroom software engineering
  • 13.
    CONCLUSOIN Importance of theSDLC If a business determines a change is needed during any phase of the SDLC, the company might have to proceed through all the above life cycle phases again. The life cycle approach of any project is a time-consuming process. Even though some steps are more difficult than others, none are to be overlooked. An oversight could prevent the entire system from functioning as planned. Systems development specialists at Innovative Architects [3] possess extensive experience in managing these type of projects. If you have a situation at your organization and you think a customized software solution may be what you need, contact us today. Consultants at Innovative Architects will be able to quickly guide you through each of these steps, ensuring you can have your new system online as soon as possible.