SlideShare a Scribd company logo
1 of 29
Business Analysis
Training
SDLC
Page 2Classification: Restricted
Agenda
• SDLC (Software Development Life Cycle)
• Types of SDLC Methodologies
• Waterfall Approach
• Incremental Approach
• Iterative Approach
• Difference between Incremental and Iterative
• Prototype Approach
• Spiral Approach
Page 3Classification: Restricted
Software
It should be noted that although software is thought of as a program, it can be
anything that runs on a computer.
Software is a general term for the various kinds of programs used to
operate computers and related devices
Page 4Classification: Restricted
Software Development Life Cycle
• The software development life cycle (SDLC) is a framework defining tasks
performed at each step in the software development process.
•SDLC is a structure followed by a
development team within the
software organization.
•It consists of a detailed plan
describing how to develop,
maintain and replace specific
software.
•SDLC consists of the following
activities:
Page 5Classification: Restricted
Types of SDLC Methodologies
• Waterfall Model - linear framework type
• Incremental Model - combination of linear and iterative framework type
• Iterative Model- Repetitious framework type
• Agile – “Agile Development” is an umbrella term for several iterative and
incremental software development methodologies
Page 6Classification: Restricted
Waterfall Approach
• Waterfall Model:
Page 7Classification: Restricted
Waterfall Approach
• The waterfall model is documentation-intensive, with earlier phases
documenting what must be done and subsequent phases adding greater
detail and defining how it should be done.
• The output from one phase serves as the input to the next phase, with the
project flowing from one step to the next in a waterfall fashion.
• An important consideration for the Waterfall model is that fixes or
modifications are often put off until the maintenance phase.
• This can be very costly, as the cost to correct a problem gets higher with
each successive phase.
Page 8Classification: Restricted
Waterfall Approach - Advantages
• System is well documented.
• Phases correspond with project management phases.
• Cost and schedule estimates may be lower and more accurate.
• Details can be addressed with more engineering effort if software is large or
complex.
Page 9Classification: Restricted
Waterfall Approach - Disadvantages
• All risks must be dealt with in a single software development effort.
• Because the model is sequential, there is only local feedback at the
transition between phases.
• A working product is not available until late in the project.
• Progress and success are not observable until the later stages. If a mistake
or deficiency exists in the documentation of earlier phases, it may not be
discovered until the product is delivered.
• Corrections must often wait for the maintenance phase.
• High amounts of risk and uncertainty.
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at a moderate to
high risk of changing.
Page 10Classification: Restricted
When to use Waterfall Model?
• Requirements are very well known, clear and fixed.
• Product definition is stable.
• Technology is understood.
• There are no ambiguous requirements
• Ample resources with required expertise are available freely
• The project is short.
Page 11Classification: Restricted
Incremental Approach
Page 12Classification: Restricted
Incremental Approach
• The incremental model is essentially a series of waterfall cycles.
• The requirements are known at the beginning of the project and are
divided into groups for incremental development.
• A core set of functions is identified in the first cycle and is built and
deployed as the first release.
• The software development cycle is repeated, with each release adding
more functionality until all requirements are met.
• Each development cycle acts as the maintenance phase for the previous
software release.
• While new requirements that are discovered during the development of a
given cycle can be implemented in subsequent cycles, this model assumes
that most requirements are known up front.
• A modification to the incremental model allows development cycles to
overlap. That is, a subsequent cycle may begin before the previous cycle is
complete.
Page 13Classification: Restricted
Incremental Approach - Advantages
• Generates basic working model quickly.
• More flexible – less costly to change scope.
• Customer can respond in each build thus more responsive to user needs
than the waterfall model.
• A usable product is available with the first release, and each cycle results
in greater functionality.
• The project can be stopped any time after the first cycle and leave a
working product.
• Project management may be easier for smaller, incremental projects.
• Testing may be easier on smaller portions of the system.
• Lowers initial delivery costs.
Page 14Classification: Restricted
Incremental Approach - Disadvantages
• The majority of requirements must be known in the beginning.
• Formal reviews may be more difficult to implement on incremental releases
than on a complete system.
• Because development is spread out over multiple iterations, interfaces
between modules must be well-defined in the beginning.
• Cost and schedule overruns may result in an unfinished system.
• Operations are impacted as each new release is deployed.
• Users are required to learn how to use a new system with each
deployment.
Page 15Classification: Restricted
When to use Incremental Approach
• This model can be used when the requirements of the complete system
are clearly defined and understood.
• Major requirements must be defined; however, some details can evolve
with time.
• There is a need to get a product to the market early.
• A new technology is being used
• Resources with needed skill set are not available.
• There are some high risk features and goals.
Page 16Classification: Restricted
Iterative Approach
• Iterative development is best defined in terms of its processes that allow
for dynamic development rather than any single defined method or
approach.
Page 17Classification: Restricted
Iterative Approach
Definition
A process for arriving at a decision or a desired result by repeating rounds of
analysis or a cycle of operations. The objective is to bring the desired decision
or result closer to discovery with each repetition
For example, a project can be divided into 12 one- to four-week iterations.
• The system is tested at the end of each iteration, and the test feedback is
immediately incorporated at the end of each test cycle.
• The time required for successive iterations can be reduced based on the
experience gained from past iterations.
• The system grows by adding new functions during the development
portion of each iteration.
Page 18Classification: Restricted
Iterative Approach
• Iteration comes from word Iterative means repetitious.
• Iteration means the act of repeating a process usually with the aim of
approaching a desired goal or target or result. Each repetition of the
process is also called an "iteration," and the results of one iteration are
used as the starting point for the next iteration.
Page 19Classification: Restricted
Iterative Approach - Principles
Principles of Iterative Development
• Time has priority over functionality
• Get the most bang for the buck
• Power to the customer
• Empowered teams – Decision speed & competency
• Adaptability
• Short life cycles
• Fast feedback
You can’t stop the
clock!
The customer is always
right
Page 20Classification: Restricted
Iterative Approach - Advantages
• More adaptable to changes.
• Allows for early detection of risks associated with a given project
• QA can be performed at the end of each iteration.
• Project managers are in a better position to assess the impact of changes
on the delivery dates.
• Early visible progress.
• A continuous improvement methodology.
• Corrective actions can be taken at the end of each iteration.
Page 21Classification: Restricted
Iterative Approach - Disadvantages
• It is difficult to freeze requirements, and they may continue to change in
later iterations because of increasing customer demands. As a result,
more iterations may be added to the project, leading to project delays
and cost overruns.
• The project requires a very efficient change control mechanism to
manage changes made to the system during each iteration.
• More time spent in review and analysis
• A lot of steps that need to be followed in this model
• Delay in one phase can have detrimental effect on the software as a
whole
Page 22Classification: Restricted
Difference between Incremental and Iterative
Incremental development is a staging and scheduling strategy in which
various parts of the system are developed at different rates, and integrated
as they are completed.
Iterative development is a rework scheduling strategy in which time is set
aside to revise and improve parts of the system.
Page 23Classification: Restricted
Prototype Approach
What is Prototyping?
• Software prototyping, can be defined as incomplete versions of the
software program being developed.
• A prototype typically simulates only a few aspects of the features of the
eventual program, and may be completely different from the eventual
implementation.
Purpose of Prototyping?
• This prototype is developed based on the currently known requirements.
By using this prototype, the client can get an “actual feel” of the system,
since the interactions with prototype can enable the client to better
understand the requirements of the desired system.
Page 24Classification: Restricted
Prototyping
Throwaway prototyping:
• Creation of a model that will eventually be discarded rather than becoming
part of the final delivered software.
• After preliminary requirements gathering is accomplished, a simple
working model of the system is constructed to visually show the users
what their requirements may look like when they are implemented into a
finished system.
• The user interface is what the user sees as the system, and by seeing it in
front of them, it is much easier to grasp how the system will work
Page 25Classification: Restricted
Type of Prototyping
One method of creating a Throwaway Prototype is Paper Prototyping. The
prototype is implemented using paper and pencil, and thus mimics the
function of the actual product, but does not look at all like it
Another method to easily build high fidelity Throwaway Prototypes is to use a
GUI Builder and create a click dummy, a prototype that looks like the goal
system, but does not provide any functionality
Page 26Classification: Restricted
Spiral Approach
Page 27Classification: Restricted
Spiral Model Application
• When there is a budget constraint and risk evaluation is important.
• For medium to high-risk projects.
• Long-term project commitment because of potential changes to economic
priorities as the requirements change with time.
• Customer is not sure of their requirements which is usually the case.
• Requirements are complex and need evaluation to get clarity.
• New product line which should be released in phases to get enough
customer feedback.
Page 28Classification: Restricted
Spiral Approach Steps
A first prototype of the new system is constructed from the preliminary
design. This is usually a scaled-down system, and represents an approximation
of the characteristics of the final product
A second prototype is evolved by a fourfold procedure:
• evaluating the first prototype in terms of its strengths, weaknesses,
and risks;
• defining the requirements of the second prototype;
• planning and designing the second prototype;
• constructing and testing the second prototype
• The existing prototype is evaluated in the same manner as was the
previous prototype, and, if necessary, another prototype is developed
from it according to the fourfold procedure outlined above
• The final system is constructed, based on the refined prototype
• The final system is thoroughly evaluated and tested.
Page 29Classification: Restricted
Thank you

More Related Content

What's hot

Introduction to Business Analysis
Introduction to Business Analysis Introduction to Business Analysis
Introduction to Business Analysis Sunil-QA
 
Software Development Life Cycle – SDLC
Software Development Life Cycle – SDLCSoftware Development Life Cycle – SDLC
Software Development Life Cycle – SDLCSwatiS-BA
 
Software Development Life Cycle - SDLC
Software Development Life Cycle - SDLCSoftware Development Life Cycle - SDLC
Software Development Life Cycle - SDLCShwetha-BA
 
Fundamentals of SDLC for Business Analysts
Fundamentals of SDLC for Business AnalystsFundamentals of SDLC for Business Analysts
Fundamentals of SDLC for Business AnalystsVeneet-BA
 
Business Analysis Question and Answers
Business Analysis Question and AnswersBusiness Analysis Question and Answers
Business Analysis Question and AnswersSunil-QA
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in TestingShwetha-BA
 
Resume/Interview Preparation
Resume/Interview Preparation   Resume/Interview Preparation
Resume/Interview Preparation Lakshmi-BA
 
Requirements Management
Requirements Management Requirements Management
Requirements Management Shwetha-BA
 
Solution Evaluation (BA Role)
Solution Evaluation (BA Role)   Solution Evaluation (BA Role)
Solution Evaluation (BA Role) Shwetha-BA
 
SDLC Training for Business Analysts
SDLC Training for Business AnalystsSDLC Training for Business Analysts
SDLC Training for Business AnalystsSwatiS-BA
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in TestingSwatiS-BA
 
Enterprise Analysis
Enterprise AnalysisEnterprise Analysis
Enterprise AnalysisShwetha-BA
 
Requirement Elicitation Techniques
Requirement Elicitation Techniques   Requirement Elicitation Techniques
Requirement Elicitation Techniques Lakshmi-BA
 

What's hot (13)

Introduction to Business Analysis
Introduction to Business Analysis Introduction to Business Analysis
Introduction to Business Analysis
 
Software Development Life Cycle – SDLC
Software Development Life Cycle – SDLCSoftware Development Life Cycle – SDLC
Software Development Life Cycle – SDLC
 
Software Development Life Cycle - SDLC
Software Development Life Cycle - SDLCSoftware Development Life Cycle - SDLC
Software Development Life Cycle - SDLC
 
Fundamentals of SDLC for Business Analysts
Fundamentals of SDLC for Business AnalystsFundamentals of SDLC for Business Analysts
Fundamentals of SDLC for Business Analysts
 
Business Analysis Question and Answers
Business Analysis Question and AnswersBusiness Analysis Question and Answers
Business Analysis Question and Answers
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Resume/Interview Preparation
Resume/Interview Preparation   Resume/Interview Preparation
Resume/Interview Preparation
 
Requirements Management
Requirements Management Requirements Management
Requirements Management
 
Solution Evaluation (BA Role)
Solution Evaluation (BA Role)   Solution Evaluation (BA Role)
Solution Evaluation (BA Role)
 
SDLC Training for Business Analysts
SDLC Training for Business AnalystsSDLC Training for Business Analysts
SDLC Training for Business Analysts
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Enterprise Analysis
Enterprise AnalysisEnterprise Analysis
Enterprise Analysis
 
Requirement Elicitation Techniques
Requirement Elicitation Techniques   Requirement Elicitation Techniques
Requirement Elicitation Techniques
 

Similar to SDLC Methodologies

Session 02 - Software Development Life Cycle (SDLC)
Session 02 - Software Development Life Cycle (SDLC)Session 02 - Software Development Life Cycle (SDLC)
Session 02 - Software Development Life Cycle (SDLC)OmkarBA
 
Software Development Life Cycle – SDLC
Software Development Life Cycle – SDLCSoftware Development Life Cycle – SDLC
Software Development Life Cycle – SDLCShwetha-BA
 
SDLC Methodologies
SDLC MethodologiesSDLC Methodologies
SDLC MethodologiesSunil-QA
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.pptSasiR18
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsAOmaAli
 
ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycleHoangThiHien1
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimationssuserb7c8b8
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMMubashir Ali
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 
Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 

Similar to SDLC Methodologies (20)

Session 02 - Software Development Life Cycle (SDLC)
Session 02 - Software Development Life Cycle (SDLC)Session 02 - Software Development Life Cycle (SDLC)
Session 02 - Software Development Life Cycle (SDLC)
 
Software Development Life Cycle – SDLC
Software Development Life Cycle – SDLCSoftware Development Life Cycle – SDLC
Software Development Life Cycle – SDLC
 
SDLC Methodologies
SDLC MethodologiesSDLC Methodologies
SDLC Methodologies
 
SDLC - Part 2
SDLC - Part 2SDLC - Part 2
SDLC - Part 2
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.ppt
 
Module-02.pptx
Module-02.pptxModule-02.pptx
Module-02.pptx
 
Process models
Process modelsProcess models
Process models
 
SDLC - Part 1
SDLC - Part 1SDLC - Part 1
SDLC - Part 1
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) Models
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycle
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
System Development Life Cycle Models
System Development Life Cycle ModelsSystem Development Life Cycle Models
System Development Life Cycle Models
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimation
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
null-1.pptx
null-1.pptxnull-1.pptx
null-1.pptx
 
Ppt nardeep
Ppt nardeepPpt nardeep
Ppt nardeep
 
Software process models
Software process modelsSoftware process models
Software process models
 

More from Mihika-QA

SDLC Method Training Course
SDLC Method Training CourseSDLC Method Training Course
SDLC Method Training CourseMihika-QA
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business AnalysisMihika-QA
 
UML and Case study
UML and Case study UML and Case study
UML and Case study Mihika-QA
 
Requirement Management
Requirement ManagementRequirement Management
Requirement ManagementMihika-QA
 
Requirement Engineering
Requirement Engineering Requirement Engineering
Requirement Engineering Mihika-QA
 
Basic Formats
Basic FormatsBasic Formats
Basic FormatsMihika-QA
 

More from Mihika-QA (8)

SDLC Method Training Course
SDLC Method Training CourseSDLC Method Training Course
SDLC Method Training Course
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business Analysis
 
UML and Case study
UML and Case study UML and Case study
UML and Case study
 
Requirement Management
Requirement ManagementRequirement Management
Requirement Management
 
Requirement Engineering
Requirement Engineering Requirement Engineering
Requirement Engineering
 
ER Diagrams
ER DiagramsER Diagrams
ER Diagrams
 
Basic Formats
Basic FormatsBasic Formats
Basic Formats
 
Agile
Agile Agile
Agile
 

Recently uploaded

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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 FramesSinan KOZAK
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Recently uploaded (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

SDLC Methodologies

  • 2. Page 2Classification: Restricted Agenda • SDLC (Software Development Life Cycle) • Types of SDLC Methodologies • Waterfall Approach • Incremental Approach • Iterative Approach • Difference between Incremental and Iterative • Prototype Approach • Spiral Approach
  • 3. Page 3Classification: Restricted Software It should be noted that although software is thought of as a program, it can be anything that runs on a computer. Software is a general term for the various kinds of programs used to operate computers and related devices
  • 4. Page 4Classification: Restricted Software Development Life Cycle • The software development life cycle (SDLC) is a framework defining tasks performed at each step in the software development process. •SDLC is a structure followed by a development team within the software organization. •It consists of a detailed plan describing how to develop, maintain and replace specific software. •SDLC consists of the following activities:
  • 5. Page 5Classification: Restricted Types of SDLC Methodologies • Waterfall Model - linear framework type • Incremental Model - combination of linear and iterative framework type • Iterative Model- Repetitious framework type • Agile – “Agile Development” is an umbrella term for several iterative and incremental software development methodologies
  • 6. Page 6Classification: Restricted Waterfall Approach • Waterfall Model:
  • 7. Page 7Classification: Restricted Waterfall Approach • The waterfall model is documentation-intensive, with earlier phases documenting what must be done and subsequent phases adding greater detail and defining how it should be done. • The output from one phase serves as the input to the next phase, with the project flowing from one step to the next in a waterfall fashion. • An important consideration for the Waterfall model is that fixes or modifications are often put off until the maintenance phase. • This can be very costly, as the cost to correct a problem gets higher with each successive phase.
  • 8. Page 8Classification: Restricted Waterfall Approach - Advantages • System is well documented. • Phases correspond with project management phases. • Cost and schedule estimates may be lower and more accurate. • Details can be addressed with more engineering effort if software is large or complex.
  • 9. Page 9Classification: Restricted Waterfall Approach - Disadvantages • All risks must be dealt with in a single software development effort. • Because the model is sequential, there is only local feedback at the transition between phases. • A working product is not available until late in the project. • Progress and success are not observable until the later stages. If a mistake or deficiency exists in the documentation of earlier phases, it may not be discovered until the product is delivered. • Corrections must often wait for the maintenance phase. • High amounts of risk and uncertainty. • Not a good model for complex and object-oriented projects. • Poor model for long and ongoing projects. • Not suitable for the projects where requirements are at a moderate to high risk of changing.
  • 10. Page 10Classification: Restricted When to use Waterfall Model? • Requirements are very well known, clear and fixed. • Product definition is stable. • Technology is understood. • There are no ambiguous requirements • Ample resources with required expertise are available freely • The project is short.
  • 12. Page 12Classification: Restricted Incremental Approach • The incremental model is essentially a series of waterfall cycles. • The requirements are known at the beginning of the project and are divided into groups for incremental development. • A core set of functions is identified in the first cycle and is built and deployed as the first release. • The software development cycle is repeated, with each release adding more functionality until all requirements are met. • Each development cycle acts as the maintenance phase for the previous software release. • While new requirements that are discovered during the development of a given cycle can be implemented in subsequent cycles, this model assumes that most requirements are known up front. • A modification to the incremental model allows development cycles to overlap. That is, a subsequent cycle may begin before the previous cycle is complete.
  • 13. Page 13Classification: Restricted Incremental Approach - Advantages • Generates basic working model quickly. • More flexible – less costly to change scope. • Customer can respond in each build thus more responsive to user needs than the waterfall model. • A usable product is available with the first release, and each cycle results in greater functionality. • The project can be stopped any time after the first cycle and leave a working product. • Project management may be easier for smaller, incremental projects. • Testing may be easier on smaller portions of the system. • Lowers initial delivery costs.
  • 14. Page 14Classification: Restricted Incremental Approach - Disadvantages • The majority of requirements must be known in the beginning. • Formal reviews may be more difficult to implement on incremental releases than on a complete system. • Because development is spread out over multiple iterations, interfaces between modules must be well-defined in the beginning. • Cost and schedule overruns may result in an unfinished system. • Operations are impacted as each new release is deployed. • Users are required to learn how to use a new system with each deployment.
  • 15. Page 15Classification: Restricted When to use Incremental Approach • This model can be used when the requirements of the complete system are clearly defined and understood. • Major requirements must be defined; however, some details can evolve with time. • There is a need to get a product to the market early. • A new technology is being used • Resources with needed skill set are not available. • There are some high risk features and goals.
  • 16. Page 16Classification: Restricted Iterative Approach • Iterative development is best defined in terms of its processes that allow for dynamic development rather than any single defined method or approach.
  • 17. Page 17Classification: Restricted Iterative Approach Definition A process for arriving at a decision or a desired result by repeating rounds of analysis or a cycle of operations. The objective is to bring the desired decision or result closer to discovery with each repetition For example, a project can be divided into 12 one- to four-week iterations. • The system is tested at the end of each iteration, and the test feedback is immediately incorporated at the end of each test cycle. • The time required for successive iterations can be reduced based on the experience gained from past iterations. • The system grows by adding new functions during the development portion of each iteration.
  • 18. Page 18Classification: Restricted Iterative Approach • Iteration comes from word Iterative means repetitious. • Iteration means the act of repeating a process usually with the aim of approaching a desired goal or target or result. Each repetition of the process is also called an "iteration," and the results of one iteration are used as the starting point for the next iteration.
  • 19. Page 19Classification: Restricted Iterative Approach - Principles Principles of Iterative Development • Time has priority over functionality • Get the most bang for the buck • Power to the customer • Empowered teams – Decision speed & competency • Adaptability • Short life cycles • Fast feedback You can’t stop the clock! The customer is always right
  • 20. Page 20Classification: Restricted Iterative Approach - Advantages • More adaptable to changes. • Allows for early detection of risks associated with a given project • QA can be performed at the end of each iteration. • Project managers are in a better position to assess the impact of changes on the delivery dates. • Early visible progress. • A continuous improvement methodology. • Corrective actions can be taken at the end of each iteration.
  • 21. Page 21Classification: Restricted Iterative Approach - Disadvantages • It is difficult to freeze requirements, and they may continue to change in later iterations because of increasing customer demands. As a result, more iterations may be added to the project, leading to project delays and cost overruns. • The project requires a very efficient change control mechanism to manage changes made to the system during each iteration. • More time spent in review and analysis • A lot of steps that need to be followed in this model • Delay in one phase can have detrimental effect on the software as a whole
  • 22. Page 22Classification: Restricted Difference between Incremental and Iterative Incremental development is a staging and scheduling strategy in which various parts of the system are developed at different rates, and integrated as they are completed. Iterative development is a rework scheduling strategy in which time is set aside to revise and improve parts of the system.
  • 23. Page 23Classification: Restricted Prototype Approach What is Prototyping? • Software prototyping, can be defined as incomplete versions of the software program being developed. • A prototype typically simulates only a few aspects of the features of the eventual program, and may be completely different from the eventual implementation. Purpose of Prototyping? • This prototype is developed based on the currently known requirements. By using this prototype, the client can get an “actual feel” of the system, since the interactions with prototype can enable the client to better understand the requirements of the desired system.
  • 24. Page 24Classification: Restricted Prototyping Throwaway prototyping: • Creation of a model that will eventually be discarded rather than becoming part of the final delivered software. • After preliminary requirements gathering is accomplished, a simple working model of the system is constructed to visually show the users what their requirements may look like when they are implemented into a finished system. • The user interface is what the user sees as the system, and by seeing it in front of them, it is much easier to grasp how the system will work
  • 25. Page 25Classification: Restricted Type of Prototyping One method of creating a Throwaway Prototype is Paper Prototyping. The prototype is implemented using paper and pencil, and thus mimics the function of the actual product, but does not look at all like it Another method to easily build high fidelity Throwaway Prototypes is to use a GUI Builder and create a click dummy, a prototype that looks like the goal system, but does not provide any functionality
  • 27. Page 27Classification: Restricted Spiral Model Application • When there is a budget constraint and risk evaluation is important. • For medium to high-risk projects. • Long-term project commitment because of potential changes to economic priorities as the requirements change with time. • Customer is not sure of their requirements which is usually the case. • Requirements are complex and need evaluation to get clarity. • New product line which should be released in phases to get enough customer feedback.
  • 28. Page 28Classification: Restricted Spiral Approach Steps A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product A second prototype is evolved by a fourfold procedure: • evaluating the first prototype in terms of its strengths, weaknesses, and risks; • defining the requirements of the second prototype; • planning and designing the second prototype; • constructing and testing the second prototype • The existing prototype is evaluated in the same manner as was the previous prototype, and, if necessary, another prototype is developed from it according to the fourfold procedure outlined above • The final system is constructed, based on the refined prototype • The final system is thoroughly evaluated and tested.