Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Eshtiyak Shishir
VU, Bangladesh
Software Development Life
Cycle(SDLC )
Software Development Life Cycle(SDLC )
What is SDLC
 SDLC stands for Software Development Life Cycle. A Software Development
Life Cycle is essentially a series of steps, or phases, that provide a model for
the development and lifecycle management of an application or piece of
software.
 The Software Development Life Cycle is a process that ensures good software
is built. Each phase in the life cycle has its own process and deliverables that
feed into the next phase.
Software Development Life Cycle(SDLC )
 Requirements Gathering and Analysis
 Design
 Testing
 Implementation
 Operation and Maintenance
Fig: Software Development Life Cycle(SDLC )
Requirements Gathering and Analysis
This step onwards the software development team works to carry on the
project.The team holds discussions with various stakeholders from problem
domain and tries to bring out as much information as possible on their
requirements. The requirements are contemplated and segregated into user
requirements, system requirements and functional requirements.
The requirements are collected using a number of practices as given –
• Studying the existing or obsolete system and software,
• Conducting interviews of users and developers,
• Referring to the database or collecting answers from the questionnaires.
• Build multiple use cases to describe each action that a user will take in
the new system.
• Prototypes can be built to show the client what the end product will look
like. Tools like Omnigraffle, HotGloo and Balsalmiq are great for this
part of the process.
Design
Next step is to bring down whole knowledge of requirements and analysis
on the desk and design the software product. The inputs from users and
information gathered in requirement gathering phase are the inputs of this
step.
The output of this step comes in the form of two designs; logical design,
and physical design.Engineers produce meta-data and data dictionaries,
logical diagrams, data-flow diagrams, and in some cases pseudo codes.
Let’s look in more detail at some of the activities involved in this stage:
• Risk analysis
• Functional Specifications
• Non-Functional Specifications
Coding
This step is also known as programming phase. The implementation of
software design starts in terms of writing program code in the suitable
programming language and developing error-free executable programs
efficiently.
Testing
Once the application is migrated to a test environment, different types
of testing will be performed including integration and system
testing. User acceptance testing is the last part of testing and is
performed by the end users to ensure the system meets their
expectations. At this point, defects may be found and more work may
be required in the analysis, design or coding. Once sign-off is obtained
by all relevant parties, implementation and deployment can begin.
Implementation
This means installing the software on user machines. At times,
software needs post-installation configurations at user end.
Software is tested for portability and adaptability and integration
related issues are solved during implementation.
Operation and Maintenance
 This phase confirms the software operation in terms of more
efficiency and less errors. If required, the users are trained on,
or aided with the documentation on how to operate the
software and how to keep the software operational.
 The software is maintained timely by updating the code
according to the changes taking place in user end environment
or technology. This phase may face challenges from hidden
bugs and real-world unidentified problems.
# What is software process & software process model ?Write the
activities of software processes .
• A software process is a set of activities that leads to the production of a
software Product. These activities may involve the development of software
from scratch in a standard programming language like Java or C.
• A software process model is an abstract representation of a process. It presents
a description of a process from some particular perspective.
Although there are many software processes, some fundamental activities are
common to all software processes:
1. Software specification: The functionality of the software and constraints on
its operation must be defined.
2. Software design and implementation: The software to meet the specification
must be produced.
3. Software validation: The software must be validated to ensure that it does
what the customer wants.
4. Software evolution: The software must evolve to meet changing customer
needs.
SDLC Models
• Water Fall Model
• The Prototyping model / Evolutionary development
• Spiral Model
• The Incremental model
• Agile Model
Why following a model…
• Without using of a particular life cycle model the development of a
software product would not be in a systematic and disciplined manner.
• When a software product is being developed by a team there must be a
clear understanding among team members about
• what to do and
• when to do
• Not following = chaos and project failure.
Waterfall model
Fig: Waterfall model
Waterfall model phases
• Requirements analysis and definition:
– Develop understanding of problem domain, user needs, function, performance, interfaces.
– Software Design
– Multi-step process to determine architecture, interfaces, data structures, functional detail.
Produces (high-level) form that can be checked for quality, conformance before coding.
• System and software design:
-The systems design process partitions the requirements to either hardware or software systems.
-It establishes overall system architecture.
- Software design involves identifying and describing the fundamental software system
abstractions and their relationships.
• Coding :
– Produce machine readable and executable form, match HW, OS and design needs.
• Integration and system testing:
– Confirm that components, subsystems and complete products meet requirements,
specifications and quality, find and fix defects.
• Operation and maintenance: Normally (although not necessarily) this is the longest life-
cycle phase. The system is installed and put into practical use.
Maintenance: Incrementally, evolve software to fix defects, add features, adapt to new
condition. Often 80% of effort spent here!
Advantage & Disadvantage of Waterfall
model
Advantage:
• the waterfall model are that documentation is produced at each phase and that it fits with other
engineering process models.
• Disciplined approach
• Careful checking by the Software Quality Assurance Group at the end of each phase.(or Testing
in each phase.)
• Documentation available at the end of each phase
• Linear model..
• Easy to understand and implement.
• Identifies deliverables and milestones
Disadvantage:
• the waterfall model is the difficulty of accommodating change after the process is
underway. One phase has to be complete before moving onto the next phase.
• Unidirectional
• Unclear requirements lead to confusion.
• Client’s approval is in the final stage.
• Difficult to integrate risk management
• Idealised, doesn’t match reality well.
• Doesn’t reflect iterative nature of exploratory development.
The Prototyping model / Evolutionary
development
Often, a customer defines a set of general objectives for software but does not identify
detailed input, processing, or output requirements. In other cases, the developer may be
unsure of The efficiency of an algorithm, The adaptability of an operating system, or
The form that human/machine interaction should take.
• In this case prototyping paradigm may offer the best approach.
• Requirements gathering.
• Developer and customer meet and define the overall objectives for the software,
identify whatever requirements are known, and outline areas where further definition
is mandatory.
• A "quick design" then occurs. The quick design focuses on a representation of those
aspects of the software that will be visible to the customer/user (e.g.,input
approaches and output formats).
• Prototype building
• Prototype evaluation by customers
• Prototype may be refined
(Figure: The prototyping model.)
# The quick design leads to the construction of a prototype.
There are two fundamental types of evolutionary / Prototyping development
model. Such as,
1. Exploratory development:
The objective of the process is to work with the customer to explore their
requirements and deliver a final system. The development starts with the parts of
the system that are understood. The system evolves by adding new features
proposed by the customer.
(Figure: Exploratory development.)
Buildprototype
system
Develop abstract
specification
Use prototype
system
Deliver
system
System
adequate?
YES
N
2. Throw-away prototyping:
The objective of the evolutionary development process is to understand
the customer's requirements and hence develop a better requirements definition
for the system. The prototype concentrates on experimenting with the customer
requirements that are poorly understood.
(Figure: Throw-away prototyping.)
Advantage & Disadvantage of prototyping model
Merits:
 Reduces development costs.
 requires user involvement.
 Developers receive quantifiable user feedback.
 Facilitates system implementation since users know what to except.
 Results in higher user satisfaction.
 Exposes developers to potential future system enhancements.
Demerits:
 Can lead to insufficient analysis.
 Users expect the performance of the ultimate system to be the same as
the prototype.
 Can cause systems to be left unfinished and/or implemented before they are
ready.
 Sometimes leads to incomplete documentation.
 If sophisticated software prototypes (4th GL or CASE Tools) are
employed, the time saving benefit of prototyping can be lost.
Spiral Model
Spiral Model sectors…
• Customer communication
– Tasks required to establish effective communication between developer and
customer
• Planning
– The tasks required to define recourses, timelines, and project is reviewed and the
next phase of the spiral is planned
• Risk analysis
– Risks are assessed and activities put in place to reduce the key
• Risks engineering
– Tasks required to build one or more representations of the application
• Construction & release
– Tasks required to construct, test, install and provide user support (e.g
documentation and training)
• Customer evaluation
– Customer feedback collected every stage
Basic Principles of Spiral Model
 Focus is on risk assessment and on minimizing project risk by breaking a project
into smaller segments and providing more ease-of-change during the
development process, as well as providing the opportunity to evaluate risks and
weigh consideration of project continuation throughout the life cycle.
 "Each cycle involves a progression through the same sequence of steps, for each
part of the product and for each of its levels of elaboration, from an overall
concept-of-operation document down to the coding of each individual program."
 Each trip around the spiral traverses four basic quadrants/step:
– determine objectives, alternatives, and constraints of the iteration;
– evaluate alternatives; Identify and resolve risks;
– develop and verify deliverables from the iteration; and
– plan the next iteration
 Begin each cycle with an identification of stakeholders and their "win
conditions", and end each cycle with review and commitment
Advantage & Disadvantage of Spiral Mode
Merits:
 High amount of risk analysis
 Good for large and mission-critical projects.
 Software is produced early in the software life cycle.
 Users can be closely tied to all lifecycle steps
 Early and frequent feedback from users
 Cumulative costs assessed frequently
 Focuses attention on early error elimination.
Demerits:
 Can be a costly model to use.
 Project’s success is highly dependent on the risk analysis phase.
 Doesn’t work well for smaller projects.
 Time spent for evaluating risks too large for small or low-risk projects
 The model is complex
 The design does not have to be perfect
 Risk assessment expertise is required
 Spiral may continue indefinitely
 Developers must be reassigned during non-development phase activities
The Incremental model
Various methods are acceptable for combining linear and iterative systems
development methodologies, with the primary objective of each being to reduce
inherent project risk by breaking a project into smaller segments and providing
more ease-of-change during the development process.
The basic principles are:
 A series of mini-Waterfalls are performed, where all phases of the Waterfall are
completed for a small part of a system, before proceeding to the next
increment, or
 Overall requirements are defined before proceeding to evolutionary, mini-
Waterfall development of individual increments of a system, or
 The initial software concept, requirements analysis, and design of architecture
and system core are defined via Waterfall, followed by iterative Prototyping,
which culminates in installing the final prototype, a working system.
Incremental Model…
Problems
– Management problems
• Progress can be hard to judge and problems hard to find because there
is little documentation.
– Contractual problems
• The normal contract may include a specification; without a
specification, different forms of contract have to be used.
– Validation problems
• Without a specification, what is the system being tested against?
– Maintenance problems
• Continual change tends to corrupt software structure making it more
expensive to change and evolve to meet new requirements.
Advantage & Disadvantage of Incremental
Model
Merits:
 Develop high-risk or major functions first
 Each release delivers an operational product
 Customer can respond to each build
 Lowers initial delivery cost
 Initial product delivery is faster
 Customers get important functionality early
 Risk of changing requirements is reduced
 Easier to test and debug during a smaller iteration.
 Each iteration is an easily managed milestone.
Demerits:
 Requires good planning and design
 Requires early definition of a complete and fully functional system to allow for the
definition of increments
 Well-defined module interfaces are required (some will be developed long before others)
 Total cost of the complete system is not lower
 Each phase of an iteration is rigid and do not overlap each other
Why not waterfall?
highly risky
often more costly
generally less efficient
Agile
• An alternative way of managing software development
• Different values & principles to traditional development
• Incremental, iterative & collaborative, rather than distinct
stages
• It is adaptive, people centric and it always welcome changes
Graphical illustration of the Agile Model
Agile (XP) Manifesto
XP = Extreme Programming
• Individuals and interactions
– Over processes and tools
• Working software
– Over documentation
• Customer collaboration
– Over contract negotiation
• Responding to change
– Over following a plan
Agile Principles (Summary)
 Continuous delivery of software
 Continuous collaboration with customer
 Continuous update according to changes
 Value participants and their interaction
 Simplicity in code, satisfy the space
XP Practices (Summary)
• Programming in pairs
• Test driven development
• Continuous planning, change , delivery
• Shared project metaphors, coding standards and ownership of
code
• No overtime! (Yeah right!)
10 Key Principles of Agile
1. Active user involvement is imperative
2. Agile teams must be empowered
3. Time waits for no man
4. Agile requirements are barely sufficient
5. How do you eat an elephant?
6. Fast but not so furious
7. Done means DONE!
8. Enough’s enough
9. Agile testing is not for dummies
10. No place for snipers
Agile working flow STORY BOARD
Advantage & Disadvantage of Agile
Advantages
 Customer Satisfaction.
 Saves Time.
 Suitable for fixed or changing requirements.
 Lightweight methods suit small-medium size projects
 Produces good team cohesion
 Emphasises final product
 Iterative
 Test based approach to requirements and quality assurance
Disadvantages
 Difficult to scale up to large projects where documentation is essential
 Needs experience and skill if not to degenerate into code-and-fix
 Programming pairs is costly
 Test case construction is a difficult and specialised skill.
 Not suitable for handling complex dependencies.
 More risk of sustainability, maintainability and extensibility.
Difference between agile and waterfall
Metric Waterfall Agile
Planning scale Long-team Short-team
Distance between customer
and developer
Long Short
Time between specification
and implementation
Long Short
Time to discover problems Long Short
Project schedule risk High Low
Ability to respond quickly to
change
low High
Difference between agile and waterfall and
Iterative model
http://www.slideshare.net/MarrajuBollapRagada/agile-vs-iterativevswaterfall
Assignment
• Rapid Application Model (RAD)
• Difference between agile and Incremental
model

More Related Content

What's hot

software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)
sanoop s
 
Sdlc models
Sdlc modelsSdlc models
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and Methods
Riant Soft
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
Al-Mamun Sarkar
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
Sandeep Kumar
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
Amira Elsayed Ismail
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
Saravanan Manoharan
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
Gurban Daniel
 
Software Devlopment Life Cycle
Software Devlopment Life CycleSoftware Devlopment Life Cycle
Software Devlopment Life Cycle
Vivek Gupta
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
ans ali raza
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
shruths2890
 
Software development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdfSoftware development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdf
Prayas Gokhale
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
Mohamed Sami El-Tahawy
 
Software Engineering - Spiral Model
Software Engineering - Spiral ModelSoftware Engineering - Spiral Model
Software Engineering - Spiral Model
BenedictArpon
 
Sdlc model
Sdlc modelSdlc model
Sdlc model
Dhilsath Fathima
 
V model presentation
V model presentationV model presentation
V model presentation
Niat Murad
 
The Software Development Process
The Software Development ProcessThe Software Development Process
The Software Development Process
Cesar Augusto Nogueira
 
Spiral model
Spiral modelSpiral model
Spiral model
DivyaStephen3
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentation
SayedFarhan110
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
Nishu Rastogi
 

What's hot (20)

software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and Methods
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Software Devlopment Life Cycle
Software Devlopment Life CycleSoftware Devlopment Life Cycle
Software Devlopment Life Cycle
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
Software development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdfSoftware development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdf
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Software Engineering - Spiral Model
Software Engineering - Spiral ModelSoftware Engineering - Spiral Model
Software Engineering - Spiral Model
 
Sdlc model
Sdlc modelSdlc model
Sdlc model
 
V model presentation
V model presentationV model presentation
V model presentation
 
The Software Development Process
The Software Development ProcessThe Software Development Process
The Software Development Process
 
Spiral model
Spiral modelSpiral model
Spiral model
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentation
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 

Viewers also liked

Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
Compare Infobase Limited
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
Raheel Aslam
 
Quality Assurance in SDLC
Quality Assurance in SDLCQuality Assurance in SDLC
Quality Assurance in SDLC
Adil Mughal
 
Sw Life Cycles
Sw Life CyclesSw Life Cycles
Sw Life Cycles
bakercoalition
 
How to build the PERFECT ecommerce website
How to build the PERFECT ecommerce websiteHow to build the PERFECT ecommerce website
How to build the PERFECT ecommerce website
Fadi Shuman
 
Network topology
Network topologyNetwork topology
Network topology
preeti.sharma
 
Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsIntro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle Models
Radu_Negulescu
 
Introduction To Software Quality Assurance
Introduction To Software Quality AssuranceIntroduction To Software Quality Assurance
Introduction To Software Quality Assurance
ruth_reategui
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari
 
Network topologies
Network topologiesNetwork topologies
Network topologies
Shripal Oswal
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
fentrekin
 
Network topology.ppt
Network topology.pptNetwork topology.ppt
Network topology.ppt
Siddique Ibrahim
 

Viewers also liked (12)

Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 
Quality Assurance in SDLC
Quality Assurance in SDLCQuality Assurance in SDLC
Quality Assurance in SDLC
 
Sw Life Cycles
Sw Life CyclesSw Life Cycles
Sw Life Cycles
 
How to build the PERFECT ecommerce website
How to build the PERFECT ecommerce websiteHow to build the PERFECT ecommerce website
How to build the PERFECT ecommerce website
 
Network topology
Network topologyNetwork topology
Network topology
 
Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsIntro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle Models
 
Introduction To Software Quality Assurance
Introduction To Software Quality AssuranceIntroduction To Software Quality Assurance
Introduction To Software Quality Assurance
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Network topologies
Network topologiesNetwork topologies
Network topologies
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
Network topology.ppt
Network topology.pptNetwork topology.ppt
Network topology.ppt
 

Similar to Software Development Life Cycle (SDLC )

SE-Lecture-2.pptx
SE-Lecture-2.pptxSE-Lecture-2.pptx
SE-Lecture-2.pptx
vishal choudhary
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Syed Zaid Irshad
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
HumzaWaris1
 
16346915.ppt
16346915.ppt16346915.ppt
16346915.ppt
PunitGupta71
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
Delowar hossain
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
SanskarBhushankar
 
System models of sdlc- v model
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v model
Minal Kashyap
 
Software development life cycle.
Software development life cycle.Software development life cycle.
Software development life cycle.
RishavChandel1
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
Arun Nair
 
Software_Testing.pptx
Software_Testing.pptxSoftware_Testing.pptx
Software_Testing.pptx
VinodhSivaraman2
 
Manual testing testing master.pdf
Manual testing testing master.pdfManual testing testing master.pdf
Manual testing testing master.pdf
synamedia
 
ManualTestingMaterial.pdf
ManualTestingMaterial.pdfManualTestingMaterial.pdf
ManualTestingMaterial.pdf
SCMCpvt
 
System Development
System  DevelopmentSystem  Development
System Development
Sharad Patel
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1
Badar Waseer
 
SDLC presentation-1.pptx
SDLC presentation-1.pptxSDLC presentation-1.pptx
SDLC presentation-1.pptx
EvelynChinnu
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
HaiderAli252366
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
Dr. Anthony Vincent. B
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
Rupesh Vaishnav
 
The process
The processThe process
The process
prakashvs7
 
21UCAE65 Software Testing.pdf(MTNC)(BCA)
21UCAE65 Software Testing.pdf(MTNC)(BCA)21UCAE65 Software Testing.pdf(MTNC)(BCA)
21UCAE65 Software Testing.pdf(MTNC)(BCA)
ssuser7f90ae
 

Similar to Software Development Life Cycle (SDLC ) (20)

SE-Lecture-2.pptx
SE-Lecture-2.pptxSE-Lecture-2.pptx
SE-Lecture-2.pptx
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
 
16346915.ppt
16346915.ppt16346915.ppt
16346915.ppt
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
System models of sdlc- v model
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v model
 
Software development life cycle.
Software development life cycle.Software development life cycle.
Software development life cycle.
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
Software_Testing.pptx
Software_Testing.pptxSoftware_Testing.pptx
Software_Testing.pptx
 
Manual testing testing master.pdf
Manual testing testing master.pdfManual testing testing master.pdf
Manual testing testing master.pdf
 
ManualTestingMaterial.pdf
ManualTestingMaterial.pdfManualTestingMaterial.pdf
ManualTestingMaterial.pdf
 
System Development
System  DevelopmentSystem  Development
System Development
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1
 
SDLC presentation-1.pptx
SDLC presentation-1.pptxSDLC presentation-1.pptx
SDLC presentation-1.pptx
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
The process
The processThe process
The process
 
21UCAE65 Software Testing.pdf(MTNC)(BCA)
21UCAE65 Software Testing.pdf(MTNC)(BCA)21UCAE65 Software Testing.pdf(MTNC)(BCA)
21UCAE65 Software Testing.pdf(MTNC)(BCA)
 

Recently uploaded

Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
IJAEMSJORNAL
 
Net Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK EmpireNet Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK Empire
Global Network for Zero
 
system structure in operating systems.pdf
system structure in operating systems.pdfsystem structure in operating systems.pdf
system structure in operating systems.pdf
zyroxsunny
 
South Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
South Mumbai @Call @Girls Whatsapp 9930687706 With High Profile ServiceSouth Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
South Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
kolkata dolls
 
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model SafeRohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
binna singh$A17
 
Biology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtuBiology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtu
santoshpatilrao33
 
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-IDUNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
GOWSIKRAJA PALANISAMY
 
Lecture 6 - The effect of Corona effect in Power systems.pdf
Lecture 6 - The effect of Corona effect in Power systems.pdfLecture 6 - The effect of Corona effect in Power systems.pdf
Lecture 6 - The effect of Corona effect in Power systems.pdf
peacekipu
 
kiln burning and kiln burner system for clinker
kiln burning and kiln burner system for clinkerkiln burning and kiln burner system for clinker
kiln burning and kiln burner system for clinker
hamedmustafa094
 
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
VICTOR MAESTRE RAMIREZ
 
Introduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer NetworkingIntroduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer Networking
Md.Shohel Rana ( M.Sc in CSE Khulna University of Engineering & Technology (KUET))
 
Press Tool and It's Primary Components.pdf
Press Tool and It's Primary Components.pdfPress Tool and It's Primary Components.pdf
Press Tool and It's Primary Components.pdf
Tool and Die Tech
 
( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil
( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil
( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil
kinni singh$A17
 
PMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOCPMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOC
itssurajthakur06
 
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model SafeBangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
bookhotbebes1
 
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
sanabts249
 
Unblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen FramesUnblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen Frames
Sinan KOZAK
 
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and PreventionUnderstanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Bert Blevins
 
@Call @Girls Siliguri 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...
@Call @Girls Siliguri 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...@Call @Girls Siliguri 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...
@Call @Girls Siliguri 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...
Escorts service
 
Germany Offshore Wind 010724 RE (1) 2 test.pptx
Germany Offshore Wind 010724 RE (1) 2 test.pptxGermany Offshore Wind 010724 RE (1) 2 test.pptx
Germany Offshore Wind 010724 RE (1) 2 test.pptx
rebecca841358
 

Recently uploaded (20)

Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
 
Net Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK EmpireNet Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK Empire
 
system structure in operating systems.pdf
system structure in operating systems.pdfsystem structure in operating systems.pdf
system structure in operating systems.pdf
 
South Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
South Mumbai @Call @Girls Whatsapp 9930687706 With High Profile ServiceSouth Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
South Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
 
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model SafeRohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
 
Biology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtuBiology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtu
 
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-IDUNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
 
Lecture 6 - The effect of Corona effect in Power systems.pdf
Lecture 6 - The effect of Corona effect in Power systems.pdfLecture 6 - The effect of Corona effect in Power systems.pdf
Lecture 6 - The effect of Corona effect in Power systems.pdf
 
kiln burning and kiln burner system for clinker
kiln burning and kiln burner system for clinkerkiln burning and kiln burner system for clinker
kiln burning and kiln burner system for clinker
 
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
 
Introduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer NetworkingIntroduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer Networking
 
Press Tool and It's Primary Components.pdf
Press Tool and It's Primary Components.pdfPress Tool and It's Primary Components.pdf
Press Tool and It's Primary Components.pdf
 
( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil
( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil
( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil
 
PMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOCPMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOC
 
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model SafeBangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
 
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
 
Unblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen FramesUnblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen Frames
 
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and PreventionUnderstanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
 
@Call @Girls Siliguri 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...
@Call @Girls Siliguri 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...@Call @Girls Siliguri 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...
@Call @Girls Siliguri 🚒 XXXXXXXXXX 🚒 Priya Sharma Beautiful And Cute Girl any...
 
Germany Offshore Wind 010724 RE (1) 2 test.pptx
Germany Offshore Wind 010724 RE (1) 2 test.pptxGermany Offshore Wind 010724 RE (1) 2 test.pptx
Germany Offshore Wind 010724 RE (1) 2 test.pptx
 

Software Development Life Cycle (SDLC )

  • 1. Eshtiyak Shishir VU, Bangladesh Software Development Life Cycle(SDLC )
  • 2. Software Development Life Cycle(SDLC ) What is SDLC  SDLC stands for Software Development Life Cycle. A Software Development Life Cycle is essentially a series of steps, or phases, that provide a model for the development and lifecycle management of an application or piece of software.  The Software Development Life Cycle is a process that ensures good software is built. Each phase in the life cycle has its own process and deliverables that feed into the next phase.
  • 3. Software Development Life Cycle(SDLC )  Requirements Gathering and Analysis  Design  Testing  Implementation  Operation and Maintenance Fig: Software Development Life Cycle(SDLC )
  • 4. Requirements Gathering and Analysis This step onwards the software development team works to carry on the project.The team holds discussions with various stakeholders from problem domain and tries to bring out as much information as possible on their requirements. The requirements are contemplated and segregated into user requirements, system requirements and functional requirements. The requirements are collected using a number of practices as given – • Studying the existing or obsolete system and software, • Conducting interviews of users and developers, • Referring to the database or collecting answers from the questionnaires. • Build multiple use cases to describe each action that a user will take in the new system. • Prototypes can be built to show the client what the end product will look like. Tools like Omnigraffle, HotGloo and Balsalmiq are great for this part of the process.
  • 5. Design Next step is to bring down whole knowledge of requirements and analysis on the desk and design the software product. The inputs from users and information gathered in requirement gathering phase are the inputs of this step. The output of this step comes in the form of two designs; logical design, and physical design.Engineers produce meta-data and data dictionaries, logical diagrams, data-flow diagrams, and in some cases pseudo codes. Let’s look in more detail at some of the activities involved in this stage: • Risk analysis • Functional Specifications • Non-Functional Specifications
  • 6. Coding This step is also known as programming phase. The implementation of software design starts in terms of writing program code in the suitable programming language and developing error-free executable programs efficiently.
  • 7. Testing Once the application is migrated to a test environment, different types of testing will be performed including integration and system testing. User acceptance testing is the last part of testing and is performed by the end users to ensure the system meets their expectations. At this point, defects may be found and more work may be required in the analysis, design or coding. Once sign-off is obtained by all relevant parties, implementation and deployment can begin.
  • 8. Implementation This means installing the software on user machines. At times, software needs post-installation configurations at user end. Software is tested for portability and adaptability and integration related issues are solved during implementation.
  • 9. Operation and Maintenance  This phase confirms the software operation in terms of more efficiency and less errors. If required, the users are trained on, or aided with the documentation on how to operate the software and how to keep the software operational.  The software is maintained timely by updating the code according to the changes taking place in user end environment or technology. This phase may face challenges from hidden bugs and real-world unidentified problems.
  • 10. # What is software process & software process model ?Write the activities of software processes . • A software process is a set of activities that leads to the production of a software Product. These activities may involve the development of software from scratch in a standard programming language like Java or C. • A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective. Although there are many software processes, some fundamental activities are common to all software processes: 1. Software specification: The functionality of the software and constraints on its operation must be defined. 2. Software design and implementation: The software to meet the specification must be produced. 3. Software validation: The software must be validated to ensure that it does what the customer wants. 4. Software evolution: The software must evolve to meet changing customer needs.
  • 11. SDLC Models • Water Fall Model • The Prototyping model / Evolutionary development • Spiral Model • The Incremental model • Agile Model
  • 12. Why following a model… • Without using of a particular life cycle model the development of a software product would not be in a systematic and disciplined manner. • When a software product is being developed by a team there must be a clear understanding among team members about • what to do and • when to do • Not following = chaos and project failure.
  • 14. Waterfall model phases • Requirements analysis and definition: – Develop understanding of problem domain, user needs, function, performance, interfaces. – Software Design – Multi-step process to determine architecture, interfaces, data structures, functional detail. Produces (high-level) form that can be checked for quality, conformance before coding. • System and software design: -The systems design process partitions the requirements to either hardware or software systems. -It establishes overall system architecture. - Software design involves identifying and describing the fundamental software system abstractions and their relationships. • Coding : – Produce machine readable and executable form, match HW, OS and design needs. • Integration and system testing: – Confirm that components, subsystems and complete products meet requirements, specifications and quality, find and fix defects. • Operation and maintenance: Normally (although not necessarily) this is the longest life- cycle phase. The system is installed and put into practical use. Maintenance: Incrementally, evolve software to fix defects, add features, adapt to new condition. Often 80% of effort spent here!
  • 15. Advantage & Disadvantage of Waterfall model Advantage: • the waterfall model are that documentation is produced at each phase and that it fits with other engineering process models. • Disciplined approach • Careful checking by the Software Quality Assurance Group at the end of each phase.(or Testing in each phase.) • Documentation available at the end of each phase • Linear model.. • Easy to understand and implement. • Identifies deliverables and milestones Disadvantage: • the waterfall model is the difficulty of accommodating change after the process is underway. One phase has to be complete before moving onto the next phase. • Unidirectional • Unclear requirements lead to confusion. • Client’s approval is in the final stage. • Difficult to integrate risk management • Idealised, doesn’t match reality well. • Doesn’t reflect iterative nature of exploratory development.
  • 16. The Prototyping model / Evolutionary development Often, a customer defines a set of general objectives for software but does not identify detailed input, processing, or output requirements. In other cases, the developer may be unsure of The efficiency of an algorithm, The adaptability of an operating system, or The form that human/machine interaction should take. • In this case prototyping paradigm may offer the best approach. • Requirements gathering. • Developer and customer meet and define the overall objectives for the software, identify whatever requirements are known, and outline areas where further definition is mandatory. • A "quick design" then occurs. The quick design focuses on a representation of those aspects of the software that will be visible to the customer/user (e.g.,input approaches and output formats). • Prototype building • Prototype evaluation by customers • Prototype may be refined
  • 18. # The quick design leads to the construction of a prototype. There are two fundamental types of evolutionary / Prototyping development model. Such as, 1. Exploratory development: The objective of the process is to work with the customer to explore their requirements and deliver a final system. The development starts with the parts of the system that are understood. The system evolves by adding new features proposed by the customer. (Figure: Exploratory development.) Buildprototype system Develop abstract specification Use prototype system Deliver system System adequate? YES N
  • 19. 2. Throw-away prototyping: The objective of the evolutionary development process is to understand the customer's requirements and hence develop a better requirements definition for the system. The prototype concentrates on experimenting with the customer requirements that are poorly understood. (Figure: Throw-away prototyping.)
  • 20. Advantage & Disadvantage of prototyping model Merits:  Reduces development costs.  requires user involvement.  Developers receive quantifiable user feedback.  Facilitates system implementation since users know what to except.  Results in higher user satisfaction.  Exposes developers to potential future system enhancements. Demerits:  Can lead to insufficient analysis.  Users expect the performance of the ultimate system to be the same as the prototype.  Can cause systems to be left unfinished and/or implemented before they are ready.  Sometimes leads to incomplete documentation.  If sophisticated software prototypes (4th GL or CASE Tools) are employed, the time saving benefit of prototyping can be lost.
  • 22. Spiral Model sectors… • Customer communication – Tasks required to establish effective communication between developer and customer • Planning – The tasks required to define recourses, timelines, and project is reviewed and the next phase of the spiral is planned • Risk analysis – Risks are assessed and activities put in place to reduce the key • Risks engineering – Tasks required to build one or more representations of the application • Construction & release – Tasks required to construct, test, install and provide user support (e.g documentation and training) • Customer evaluation – Customer feedback collected every stage
  • 23. Basic Principles of Spiral Model  Focus is on risk assessment and on minimizing project risk by breaking a project into smaller segments and providing more ease-of-change during the development process, as well as providing the opportunity to evaluate risks and weigh consideration of project continuation throughout the life cycle.  "Each cycle involves a progression through the same sequence of steps, for each part of the product and for each of its levels of elaboration, from an overall concept-of-operation document down to the coding of each individual program."  Each trip around the spiral traverses four basic quadrants/step: – determine objectives, alternatives, and constraints of the iteration; – evaluate alternatives; Identify and resolve risks; – develop and verify deliverables from the iteration; and – plan the next iteration  Begin each cycle with an identification of stakeholders and their "win conditions", and end each cycle with review and commitment
  • 24. Advantage & Disadvantage of Spiral Mode Merits:  High amount of risk analysis  Good for large and mission-critical projects.  Software is produced early in the software life cycle.  Users can be closely tied to all lifecycle steps  Early and frequent feedback from users  Cumulative costs assessed frequently  Focuses attention on early error elimination. Demerits:  Can be a costly model to use.  Project’s success is highly dependent on the risk analysis phase.  Doesn’t work well for smaller projects.  Time spent for evaluating risks too large for small or low-risk projects  The model is complex  The design does not have to be perfect  Risk assessment expertise is required  Spiral may continue indefinitely  Developers must be reassigned during non-development phase activities
  • 26. Various methods are acceptable for combining linear and iterative systems development methodologies, with the primary objective of each being to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process. The basic principles are:  A series of mini-Waterfalls are performed, where all phases of the Waterfall are completed for a small part of a system, before proceeding to the next increment, or  Overall requirements are defined before proceeding to evolutionary, mini- Waterfall development of individual increments of a system, or  The initial software concept, requirements analysis, and design of architecture and system core are defined via Waterfall, followed by iterative Prototyping, which culminates in installing the final prototype, a working system.
  • 27. Incremental Model… Problems – Management problems • Progress can be hard to judge and problems hard to find because there is little documentation. – Contractual problems • The normal contract may include a specification; without a specification, different forms of contract have to be used. – Validation problems • Without a specification, what is the system being tested against? – Maintenance problems • Continual change tends to corrupt software structure making it more expensive to change and evolve to meet new requirements.
  • 28. Advantage & Disadvantage of Incremental Model Merits:  Develop high-risk or major functions first  Each release delivers an operational product  Customer can respond to each build  Lowers initial delivery cost  Initial product delivery is faster  Customers get important functionality early  Risk of changing requirements is reduced  Easier to test and debug during a smaller iteration.  Each iteration is an easily managed milestone. Demerits:  Requires good planning and design  Requires early definition of a complete and fully functional system to allow for the definition of increments  Well-defined module interfaces are required (some will be developed long before others)  Total cost of the complete system is not lower  Each phase of an iteration is rigid and do not overlap each other
  • 29. Why not waterfall? highly risky often more costly generally less efficient
  • 30. Agile • An alternative way of managing software development • Different values & principles to traditional development • Incremental, iterative & collaborative, rather than distinct stages • It is adaptive, people centric and it always welcome changes
  • 31. Graphical illustration of the Agile Model
  • 32. Agile (XP) Manifesto XP = Extreme Programming • Individuals and interactions – Over processes and tools • Working software – Over documentation • Customer collaboration – Over contract negotiation • Responding to change – Over following a plan
  • 33. Agile Principles (Summary)  Continuous delivery of software  Continuous collaboration with customer  Continuous update according to changes  Value participants and their interaction  Simplicity in code, satisfy the space
  • 34. XP Practices (Summary) • Programming in pairs • Test driven development • Continuous planning, change , delivery • Shared project metaphors, coding standards and ownership of code • No overtime! (Yeah right!)
  • 35. 10 Key Principles of Agile 1. Active user involvement is imperative 2. Agile teams must be empowered 3. Time waits for no man 4. Agile requirements are barely sufficient 5. How do you eat an elephant? 6. Fast but not so furious 7. Done means DONE! 8. Enough’s enough 9. Agile testing is not for dummies 10. No place for snipers
  • 36. Agile working flow STORY BOARD
  • 37. Advantage & Disadvantage of Agile Advantages  Customer Satisfaction.  Saves Time.  Suitable for fixed or changing requirements.  Lightweight methods suit small-medium size projects  Produces good team cohesion  Emphasises final product  Iterative  Test based approach to requirements and quality assurance Disadvantages  Difficult to scale up to large projects where documentation is essential  Needs experience and skill if not to degenerate into code-and-fix  Programming pairs is costly  Test case construction is a difficult and specialised skill.  Not suitable for handling complex dependencies.  More risk of sustainability, maintainability and extensibility.
  • 38. Difference between agile and waterfall Metric Waterfall Agile Planning scale Long-team Short-team Distance between customer and developer Long Short Time between specification and implementation Long Short Time to discover problems Long Short Project schedule risk High Low Ability to respond quickly to change low High
  • 39. Difference between agile and waterfall and Iterative model http://www.slideshare.net/MarrajuBollapRagada/agile-vs-iterativevswaterfall
  • 40. Assignment • Rapid Application Model (RAD) • Difference between agile and Incremental model