SlideShare a Scribd company logo
1 of 58
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 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 4Classification: Restricted
Types of SDLC Methodologies
• Waterfall Model - linear framework type
• Incremental Model - combination of linear and iterative framework type
• Iterative Model- Repetitious framework type
Page 5Classification: Restricted
Waterfall Approach
• Waterfall Model:
Page 6Classification: 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 7Classification: 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 8Classification: 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.
Application
• The Waterfall model can be successfully used when requirements are well
understood in the beginning and are not expected to change or evolve over
the life of the project. Project risks should be relatively low.
Page 9Classification: Restricted
Incremental Approach
Page 10Classification: 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 11Classification: Restricted
Incremental Approach - Advantages
• Provides some feedback, allowing later development cycles to learn from
previous cycles.
• Allows some requirements modification and may allow the addition of new
requirements.
• It is 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.
• Risk is spread out over multiple cycles.
• This method can usually be performed with fewer people than the waterfall
model.
• Project management may be easier for smaller, incremental projects.
• Testing may be easier on smaller portions of the system.
Page 12Classification: 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 13Classification: Restricted
Incremental Approach
• The incremental model is good for projects where requirements are
known at the beginning, but which need functionality early in the project
or which can benefit from the feedback of earlier cycles.
• Because each cycle produces a working system, it may also be
advantageous for projects whose continued funding is not assured and
may be cut at any time.
• It is best used on low to medium-risk programs.
• If the risks are too high to build a successful system using a single waterfall
cycle, spreading the development out over multiple cycles may lower the
risks to a more manageable level.
Page 14Classification: 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 15Classification: Restricted
Iterative Approach
Definition
Iterative approach or development is a process that grows a system feature
by feature during self-contained cycles of analysis, design, development and
testing that end in the production of a stable, fully integrated and tested,
partially complete system that incorporates all of the features of all previous
iterations.
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 16Classification: 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.
• In software development, An iteration is made up of a series of activities
that include conducting needs analysis, developing parts of the system,
then deploying and testing them. In the end, one or more functionalities
are ready for integration into the final product.
Page 17Classification: 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 18Classification: 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 19Classification: Restricted
Iterative Approach - Advantages
• 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 20Classification: 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 21Classification: 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?
• To allow users of the software to evaluate developers' proposals for the
design of the eventual product by actually trying them out, rather than
having to interpret and evaluate the design based on descriptions.
• The software designer and implementer can obtain feedback from the
users early in the project. They may be able to refine them early in the
development of the software.
Page 22Classification: 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.
• Making changes early in the development lifecycle is extremely cost
effective since there is nothing at that point to redo.
• If a project is changed after a considerable work has been done then small
changes could require large efforts to implement since software systems
have many dependencies
• Another strength of Throwaway Prototyping is its ability to construct
interfaces that the users can test. 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 23Classification: 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 24Classification: Restricted
Spiral Approach
Page 25Classification: Restricted
Spiral Approach
This model of development combines the features of the prototyping model
and the waterfall model
The spiral methodology reflects the relationship of tasks with rapid
prototyping, increased parallelism, and concurrency in design and build
activities. The spiral method should still be planned methodically, with tasks
and deliverables identified for each step in the spiral
Page 26Classification: Restricted
Spiral Approach
A preliminary design is created for the new system. This phase is the most
important part of "Spiral Model". In this phase all possible (and available)
alternatives, which can help in developing a cost effective project are analyzed
and strategies, are decided to use them. This phase has been added specially
in order to identify and resolve all the possible risks in the project
development. If risks indicate any kind of uncertainty in requirements,
prototyping may be used to proceed with the available data and find out
possible solution in order to deal with the potential changes in the
requirements
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
Page 27Classification: Restricted
Spiral Approach Steps
At the project sponsor's option, the entire project can be aborted if the risk is
deemed too great. Risk factors might involve development cost overruns,
operating-cost miscalculation, or any other factor that could result in a less-
than-satisfactory final product
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 preceding steps are iterated until the customer is satisfied that the
refined prototype represents the final product desired
The final system is constructed, based on the refined prototype
The final system is thoroughly evaluated and tested. Routine maintenance is
carried out on a continuing basis to prevent large-scale failures and to
minimize downtime
Page 28Classification: Restricted
Definition and Overview of RUP
What is RUP?
• Process Used for UML
• Used for designation
• Assigns responsibility
Overview of RUP
• Two-Dimensional:
• Dynamic
• Cycles
• Phases
• Iterations
• Milestones
• Static
• Activities
• Artifacts
• Workers
• Workflows
Page 29Classification: Restricted
Inception Phase
What Happens at this Phase?
• Creation of:
• Business Case
• Preliminary Use Cases
• Vision Document
• Possible Prototypes of the
Product/Software
Outcomes of Inception Phase
• Agreement between
stakeholders on scope and
cost estimates
• Understanding of requirements
• Initial exposure to estimates,
priorities, risks and the
overall development process
Page 30Classification: Restricted
Elaboration Phase
What Happens at this Phase?
Analysis of:
• Domain
• Requirements
• Project Plan
• Project Stability & Flexibility
Outcomes of the Elaboration
Phase
•More complete Use-Case
Model with detailed
descriptions
• Description of the Software
Architecture
• Development plan for overall
project and any projected
iterations/evaluations
Page 31Classification: Restricted
Construction Phase
What Happens at this Phase?
• Development of:
• The Final Product
• Test Cases to test the final
product
• Management Tools
• Resource Management
• Quality Management
• Schedule Management
Outcomes of the Construction Phase
• A fully functional product or
software
• User Manuals
• Description of a release or
current product
Page 32Classification: Restricted
Transition Phase and Iterations
What Happens in the Transition
Phase?
Release of the Final Product
• Provide:
• Product
• Post-Release
debugging/troubleshooting
• End-User Support & Training
Outcome of the Transition
Phase
• Rollout of final product
• User feedback may be
available
• Comparison of cost & time
forecasts to actual costs &
time
Outcome of Iterations
• Risk Mitigation
• Better Change Management
• Continuous Learning
• Better Overall Quality
Page 33Classification: Restricted
Static Structure of the Process
A process describes who is doing what, how, and when.
• Workers, The ‘who’
• Activities, The ‘how’
• Artifacts, The ‘what’
• Workflows, The ‘when’
Page 34Classification: Restricted
Worker
A worker defines:
• The behavior
• The responsibility of an individual or a group of individual working
as a team
Page 35Classification: Restricted
Activity
Activity of a worker is a unit of work that an individual will perform or given to
perform in a given time frame.
An activity should be usable as an element of planning and progress; if it is too
small, it will be neglected, and if it is too large, progress would have to be
expressed in terms of an activity’s parts.
Example of activities:
Plan an iteration, for the Worker: Project Manager
Find use cases and actors, for the Worker: System Analyst
Review the design, for the Worker: Design Reviewer
Execute performance test, for the Worker: Performance Tester
Page 36Classification: Restricted
Artifacts
An artifact is a piece of information that is
Produced
Modified
or used by a process
Artifacts are used as input by workers to perform an activity
Parameters of activities
Artifacts may take various shapes or forms:
• A model, such as the Use-Case Model or the Design Model
• A model element, i.e. an element within a model, such as a class, a use
case or a subsystem
• A document, such as Business Case or Software Architecture Document
• Source code
• Executables
Page 37Classification: Restricted
Workflow
A workflow is a sequence of activities that produces a result of observable
value. A workflow can be expressed as a sequence diagram, a collaboration
diagram, or an activity diagram.
Page 38Classification: Restricted
Core Workflow
There are nine core process workflows in the Rational Unified Process.
Page 39Classification: Restricted
Core Workflow
Business Modeling:
Software engineering and business engineering
community do not communicate properly with
each other as a result: The output from the
business engineers which is the input for the
software development effort will not being used
properly.
RUP addressed this issue and by providing a
common language and process for both
communities, as well as showing how to create and
maintain direct traceability between business and
software models.
In Business Modeling documentation of business
processes is done by using business use cases.
Which assures a common understanding among all
stakeholders of what business process needs to be
supported in the organization.
Requirements:
The Goal of requirements
workflow:
What the system should do?
Allows the developers and
customer to agree on the
description
Identify the Actors
How to achieve the goal:
Elicit
Organize
Document required
functionality
Document the constraints
Track and document
tradeoffs and decision
Page 40Classification: Restricted
Agile Methodology
Page 41Classification: Restricted
Agile Approach
Page 42Classification: Restricted
XP
Concept :
Coding
Testing
Listening
Designing
• Light-weight: discipline without bureaucracy
• Under stress, people do what is easiest
• All XP practices have short-term benefits as well as long-term benefits
• Development as a Conversation
• The code is the documentation
Page 43Classification: Restricted
What is Agile
 Processes and techniques for incremental and iterative software
development
 Agile Manifesto
 – “We are uncovering better ways of developing software by doing it
and helping others do it. Through this work we have come to value”:
 Individuals and interactions over processes and tools
 Working software over comprehensive documentation
 Customer collaboration over contract negotiation
 Responding to change over following a plan
Page 44Classification: Restricted
What does the Agile Manifesto Mean?
Page 45Classification: Restricted
Principles of Agile
Page 46Classification: Restricted
Principles of Agile (2)
Page 47Classification: Restricted
Central: Incremental and Iterative
Development
Page 48Classification: Restricted
Agile Methods
Page 49Classification: Restricted
Scrum Lifecycle
 Planning
–Vision, expectations, funding
 Staging
– Identify requirements, prioritize iteration
 Development
– Implement system ready for release in each sprint
 Release
–Operational deployment
Page 50Classification: Restricted
Development team
product owner
scrum master
SCRUM team
Page 51Classification: Restricted
Agile Methods – Scrum (1)
Page 52Classification: Restricted
Scrum Ceremonies
1.SPRINT PLANNING
(Discuss top PBI scope>estimate)
2. Daily stand up meeting
(<15 minutes, what I did till this meeting, what ill do till next meeting ,
what's blocking me)
3. Sprint review (last day)
(To demonstrate what is ready to ship to po, no ppt, demo on prodn
env
4. Sprint retrospective –
what went right, what went wrong
Page 53Classification: Restricted
Agile Methods – Scrum (2)
Page 54Classification: Restricted
Product Backlog
PBIs are Uniquely ranked items, progressive
user stories are short plain language of description of functionality in
terms of customer benefit/need
Stories (=requirement) priority estima
te
As a user I want to be able to easily install
the application so that I can access my
bank account on my mobile
1 5
As a user I want to be able to view my bank
transaction history so that I can track my
transactions
2 3
Page 55Classification: Restricted
Agile Methods – Scrum (3)
Page 56Classification: Restricted
Agile Methods – Scrum (3)
Commitment
– Team takes responsibility to complete the Sprint. To avoid things that
will stand in its way
Focus
– Team’s focus is maintained. Distractions, interruptions are fielded
Openness
– Overall and individual status and commitments kept open.
Respect
– Team responsibility rather than scapegoat.
Courage
– Management and team have the courage to take responsibility to do
what is necessary
Page 57Classification: Restricted
Topics to be covered in next session
• Enterprise analysis
• SWOT Analysis
• Feasibility Evaluation
• Problem Statement & Goal Statement
• Business Case
• Project Scope Statement & Vision Document
• AS IS (current state) and TO BE (future state)
• Root Cause Analysis – Fish Bone Diagram
Page 58Classification: Restricted
Thank you

More Related Content

What's hot (20)

IT Software Development Life Cycle
IT Software Development Life CycleIT Software Development Life Cycle
IT Software Development Life Cycle
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Unified Process
Unified ProcessUnified Process
Unified Process
 
Sdlc
SdlcSdlc
Sdlc
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)
 
RUP - Rational Unified Process
RUP - Rational Unified ProcessRUP - Rational Unified Process
RUP - Rational Unified Process
 
Introduction and life cycle models
Introduction and life cycle modelsIntroduction and life cycle models
Introduction and life cycle models
 
RUP
RUPRUP
RUP
 
SDLC or Software Development Life Cycle
SDLC or Software Development Life CycleSDLC or Software Development Life Cycle
SDLC or Software Development Life Cycle
 
Rup
RupRup
Rup
 
Chapter 2 software process models
Chapter 2   software process modelsChapter 2   software process models
Chapter 2 software process models
 
Session2
Session2Session2
Session2
 
Sdlc
SdlcSdlc
Sdlc
 
Software development life cycle
Software development life cycle Software development life cycle
Software development life cycle
 
Software Engineering Methodology
Software Engineering MethodologySoftware Engineering Methodology
Software Engineering Methodology
 
Process models
Process modelsProcess models
Process models
 
software development life cycle
software development life cyclesoftware development life cycle
software development life cycle
 
Offshore Software Development company India
Offshore Software Development company IndiaOffshore Software Development company India
Offshore Software Development company India
 

Similar to SDLC Methodologies

Step by Step Guide to Learn SDLC
Step by Step Guide to Learn SDLCStep by Step Guide to Learn SDLC
Step by Step Guide to Learn SDLCSunil-QA
 
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
 
SDLC Method Training Course
SDLC Method Training CourseSDLC Method Training Course
SDLC Method Training CourseMihika-QA
 
SDLC Methodologies
SDLC MethodologiesSDLC Methodologies
SDLC MethodologiesMihika-QA
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.pptSasiR18
 
Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsAOmaAli
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
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
 
Development methodologies
Development methodologiesDevelopment methodologies
Development methodologiesmissstevenson01
 
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.pptloloka1
 
Effort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and AgileEffort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and AgileAnanda Pramanik
 
Process Model in Software Engineering.ppt
Process Model in Software Engineering.pptProcess Model in Software Engineering.ppt
Process Model in Software Engineering.pptAtharvaBavge
 
04. Project Management
04. Project Management04. Project Management
04. Project ManagementBhuWan Khadka
 

Similar to SDLC Methodologies (20)

SDLC
SDLCSDLC
SDLC
 
Step by Step Guide to Learn SDLC
Step by Step Guide to Learn SDLCStep by Step Guide to Learn SDLC
Step by Step Guide to Learn SDLC
 
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)
 
SDLC Method Training Course
SDLC Method Training CourseSDLC Method Training Course
SDLC Method Training Course
 
SDLC Methodologies
SDLC MethodologiesSDLC Methodologies
SDLC Methodologies
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.ppt
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Module-02.pptx
Module-02.pptxModule-02.pptx
Module-02.pptx
 
Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) 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
 
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
 
null-1.pptx
null-1.pptxnull-1.pptx
null-1.pptx
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Development methodologies
Development methodologiesDevelopment methodologies
Development methodologies
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
 
Effort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and AgileEffort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and Agile
 
Process Model in Software Engineering.ppt
Process Model in Software Engineering.pptProcess Model in Software Engineering.ppt
Process Model in Software Engineering.ppt
 
04. Project Management
04. Project Management04. Project Management
04. Project Management
 

More from Sunil-QA

Workflow Diagram
Workflow DiagramWorkflow Diagram
Workflow DiagramSunil-QA
 
Business Functional Requirements
Business Functional RequirementsBusiness Functional Requirements
Business Functional RequirementsSunil-QA
 
Agile User Stories
Agile  User StoriesAgile  User Stories
Agile User StoriesSunil-QA
 
Enterprise Analysis
Enterprise AnalysisEnterprise Analysis
Enterprise AnalysisSunil-QA
 
Introduction to Business Analysis
Introduction to Business Analysis Introduction to Business Analysis
Introduction to Business Analysis Sunil-QA
 
Types of Databases
Types of DatabasesTypes of Databases
Types of DatabasesSunil-QA
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UMLSunil-QA
 
Stakeholder Analysis
Stakeholder AnalysisStakeholder Analysis
Stakeholder AnalysisSunil-QA
 
Developing A Business Case
Developing A Business CaseDeveloping A Business Case
Developing A Business CaseSunil-QA
 
Business Analysis Techniques
Business Analysis TechniquesBusiness Analysis Techniques
Business Analysis TechniquesSunil-QA
 
Requirement Elicitation Techniques
Requirement Elicitation TechniquesRequirement Elicitation Techniques
Requirement Elicitation TechniquesSunil-QA
 
Case Study British Airways Stakeholder Analysis
Case Study British Airways Stakeholder AnalysisCase Study British Airways Stakeholder Analysis
Case Study British Airways Stakeholder AnalysisSunil-QA
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to AgileSunil-QA
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User StoriesSunil-QA
 
Agile - User Stories
Agile - User StoriesAgile - User Stories
Agile - User StoriesSunil-QA
 
Case Study British Airways Stakeholder Analysis
Case Study British Airways Stakeholder AnalysisCase Study British Airways Stakeholder Analysis
Case Study British Airways Stakeholder AnalysisSunil-QA
 
Business Analysis Question and Answers
Business Analysis Question and AnswersBusiness Analysis Question and Answers
Business Analysis Question and AnswersSunil-QA
 
Types of Databases
Types of DatabasesTypes of Databases
Types of DatabasesSunil-QA
 
Database Normalization
Database NormalizationDatabase Normalization
Database NormalizationSunil-QA
 
Database Keys
Database KeysDatabase Keys
Database KeysSunil-QA
 

More from Sunil-QA (20)

Workflow Diagram
Workflow DiagramWorkflow Diagram
Workflow Diagram
 
Business Functional Requirements
Business Functional RequirementsBusiness Functional Requirements
Business Functional Requirements
 
Agile User Stories
Agile  User StoriesAgile  User Stories
Agile User Stories
 
Enterprise Analysis
Enterprise AnalysisEnterprise Analysis
Enterprise Analysis
 
Introduction to Business Analysis
Introduction to Business Analysis Introduction to Business Analysis
Introduction to Business Analysis
 
Types of Databases
Types of DatabasesTypes of Databases
Types of Databases
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Stakeholder Analysis
Stakeholder AnalysisStakeholder Analysis
Stakeholder Analysis
 
Developing A Business Case
Developing A Business CaseDeveloping A Business Case
Developing A Business Case
 
Business Analysis Techniques
Business Analysis TechniquesBusiness Analysis Techniques
Business Analysis Techniques
 
Requirement Elicitation Techniques
Requirement Elicitation TechniquesRequirement Elicitation Techniques
Requirement Elicitation Techniques
 
Case Study British Airways Stakeholder Analysis
Case Study British Airways Stakeholder AnalysisCase Study British Airways Stakeholder Analysis
Case Study British Airways Stakeholder Analysis
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
Agile - User Stories
Agile - User StoriesAgile - User Stories
Agile - User Stories
 
Case Study British Airways Stakeholder Analysis
Case Study British Airways Stakeholder AnalysisCase Study British Airways Stakeholder Analysis
Case Study British Airways Stakeholder Analysis
 
Business Analysis Question and Answers
Business Analysis Question and AnswersBusiness Analysis Question and Answers
Business Analysis Question and Answers
 
Types of Databases
Types of DatabasesTypes of Databases
Types of Databases
 
Database Normalization
Database NormalizationDatabase Normalization
Database Normalization
 
Database Keys
Database KeysDatabase Keys
Database Keys
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 

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 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:
  • 4. Page 4Classification: Restricted Types of SDLC Methodologies • Waterfall Model - linear framework type • Incremental Model - combination of linear and iterative framework type • Iterative Model- Repetitious framework type
  • 5. Page 5Classification: Restricted Waterfall Approach • Waterfall Model:
  • 6. Page 6Classification: 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.
  • 7. Page 7Classification: 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.
  • 8. Page 8Classification: 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. Application • The Waterfall model can be successfully used when requirements are well understood in the beginning and are not expected to change or evolve over the life of the project. Project risks should be relatively low.
  • 10. Page 10Classification: 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.
  • 11. Page 11Classification: Restricted Incremental Approach - Advantages • Provides some feedback, allowing later development cycles to learn from previous cycles. • Allows some requirements modification and may allow the addition of new requirements. • It is 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. • Risk is spread out over multiple cycles. • This method can usually be performed with fewer people than the waterfall model. • Project management may be easier for smaller, incremental projects. • Testing may be easier on smaller portions of the system.
  • 12. Page 12Classification: 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.
  • 13. Page 13Classification: Restricted Incremental Approach • The incremental model is good for projects where requirements are known at the beginning, but which need functionality early in the project or which can benefit from the feedback of earlier cycles. • Because each cycle produces a working system, it may also be advantageous for projects whose continued funding is not assured and may be cut at any time. • It is best used on low to medium-risk programs. • If the risks are too high to build a successful system using a single waterfall cycle, spreading the development out over multiple cycles may lower the risks to a more manageable level.
  • 14. Page 14Classification: 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.
  • 15. Page 15Classification: Restricted Iterative Approach Definition Iterative approach or development is a process that grows a system feature by feature during self-contained cycles of analysis, design, development and testing that end in the production of a stable, fully integrated and tested, partially complete system that incorporates all of the features of all previous iterations. 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.
  • 16. Page 16Classification: 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. • In software development, An iteration is made up of a series of activities that include conducting needs analysis, developing parts of the system, then deploying and testing them. In the end, one or more functionalities are ready for integration into the final product.
  • 17. Page 17Classification: 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
  • 18. Page 18Classification: 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.
  • 19. Page 19Classification: Restricted Iterative Approach - Advantages • 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
  • 20. Page 20Classification: 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.
  • 21. Page 21Classification: 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? • To allow users of the software to evaluate developers' proposals for the design of the eventual product by actually trying them out, rather than having to interpret and evaluate the design based on descriptions. • The software designer and implementer can obtain feedback from the users early in the project. They may be able to refine them early in the development of the software.
  • 22. Page 22Classification: 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. • Making changes early in the development lifecycle is extremely cost effective since there is nothing at that point to redo. • If a project is changed after a considerable work has been done then small changes could require large efforts to implement since software systems have many dependencies • Another strength of Throwaway Prototyping is its ability to construct interfaces that the users can test. 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
  • 23. Page 23Classification: 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
  • 25. Page 25Classification: Restricted Spiral Approach This model of development combines the features of the prototyping model and the waterfall model The spiral methodology reflects the relationship of tasks with rapid prototyping, increased parallelism, and concurrency in design and build activities. The spiral method should still be planned methodically, with tasks and deliverables identified for each step in the spiral
  • 26. Page 26Classification: Restricted Spiral Approach A preliminary design is created for the new system. This phase is the most important part of "Spiral Model". In this phase all possible (and available) alternatives, which can help in developing a cost effective project are analyzed and strategies, are decided to use them. This phase has been added specially in order to identify and resolve all the possible risks in the project development. If risks indicate any kind of uncertainty in requirements, prototyping may be used to proceed with the available data and find out possible solution in order to deal with the potential changes in the requirements 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
  • 27. Page 27Classification: Restricted Spiral Approach Steps At the project sponsor's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could result in a less- than-satisfactory final product 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 preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired The final system is constructed, based on the refined prototype The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a continuing basis to prevent large-scale failures and to minimize downtime
  • 28. Page 28Classification: Restricted Definition and Overview of RUP What is RUP? • Process Used for UML • Used for designation • Assigns responsibility Overview of RUP • Two-Dimensional: • Dynamic • Cycles • Phases • Iterations • Milestones • Static • Activities • Artifacts • Workers • Workflows
  • 29. Page 29Classification: Restricted Inception Phase What Happens at this Phase? • Creation of: • Business Case • Preliminary Use Cases • Vision Document • Possible Prototypes of the Product/Software Outcomes of Inception Phase • Agreement between stakeholders on scope and cost estimates • Understanding of requirements • Initial exposure to estimates, priorities, risks and the overall development process
  • 30. Page 30Classification: Restricted Elaboration Phase What Happens at this Phase? Analysis of: • Domain • Requirements • Project Plan • Project Stability & Flexibility Outcomes of the Elaboration Phase •More complete Use-Case Model with detailed descriptions • Description of the Software Architecture • Development plan for overall project and any projected iterations/evaluations
  • 31. Page 31Classification: Restricted Construction Phase What Happens at this Phase? • Development of: • The Final Product • Test Cases to test the final product • Management Tools • Resource Management • Quality Management • Schedule Management Outcomes of the Construction Phase • A fully functional product or software • User Manuals • Description of a release or current product
  • 32. Page 32Classification: Restricted Transition Phase and Iterations What Happens in the Transition Phase? Release of the Final Product • Provide: • Product • Post-Release debugging/troubleshooting • End-User Support & Training Outcome of the Transition Phase • Rollout of final product • User feedback may be available • Comparison of cost & time forecasts to actual costs & time Outcome of Iterations • Risk Mitigation • Better Change Management • Continuous Learning • Better Overall Quality
  • 33. Page 33Classification: Restricted Static Structure of the Process A process describes who is doing what, how, and when. • Workers, The ‘who’ • Activities, The ‘how’ • Artifacts, The ‘what’ • Workflows, The ‘when’
  • 34. Page 34Classification: Restricted Worker A worker defines: • The behavior • The responsibility of an individual or a group of individual working as a team
  • 35. Page 35Classification: Restricted Activity Activity of a worker is a unit of work that an individual will perform or given to perform in a given time frame. An activity should be usable as an element of planning and progress; if it is too small, it will be neglected, and if it is too large, progress would have to be expressed in terms of an activity’s parts. Example of activities: Plan an iteration, for the Worker: Project Manager Find use cases and actors, for the Worker: System Analyst Review the design, for the Worker: Design Reviewer Execute performance test, for the Worker: Performance Tester
  • 36. Page 36Classification: Restricted Artifacts An artifact is a piece of information that is Produced Modified or used by a process Artifacts are used as input by workers to perform an activity Parameters of activities Artifacts may take various shapes or forms: • A model, such as the Use-Case Model or the Design Model • A model element, i.e. an element within a model, such as a class, a use case or a subsystem • A document, such as Business Case or Software Architecture Document • Source code • Executables
  • 37. Page 37Classification: Restricted Workflow A workflow is a sequence of activities that produces a result of observable value. A workflow can be expressed as a sequence diagram, a collaboration diagram, or an activity diagram.
  • 38. Page 38Classification: Restricted Core Workflow There are nine core process workflows in the Rational Unified Process.
  • 39. Page 39Classification: Restricted Core Workflow Business Modeling: Software engineering and business engineering community do not communicate properly with each other as a result: The output from the business engineers which is the input for the software development effort will not being used properly. RUP addressed this issue and by providing a common language and process for both communities, as well as showing how to create and maintain direct traceability between business and software models. In Business Modeling documentation of business processes is done by using business use cases. Which assures a common understanding among all stakeholders of what business process needs to be supported in the organization. Requirements: The Goal of requirements workflow: What the system should do? Allows the developers and customer to agree on the description Identify the Actors How to achieve the goal: Elicit Organize Document required functionality Document the constraints Track and document tradeoffs and decision
  • 42. Page 42Classification: Restricted XP Concept : Coding Testing Listening Designing • Light-weight: discipline without bureaucracy • Under stress, people do what is easiest • All XP practices have short-term benefits as well as long-term benefits • Development as a Conversation • The code is the documentation
  • 43. Page 43Classification: Restricted What is Agile  Processes and techniques for incremental and iterative software development  Agile Manifesto  – “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value”:  Individuals and interactions over processes and tools  Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a plan
  • 44. Page 44Classification: Restricted What does the Agile Manifesto Mean?
  • 47. Page 47Classification: Restricted Central: Incremental and Iterative Development
  • 49. Page 49Classification: Restricted Scrum Lifecycle  Planning –Vision, expectations, funding  Staging – Identify requirements, prioritize iteration  Development – Implement system ready for release in each sprint  Release –Operational deployment
  • 50. Page 50Classification: Restricted Development team product owner scrum master SCRUM team
  • 52. Page 52Classification: Restricted Scrum Ceremonies 1.SPRINT PLANNING (Discuss top PBI scope>estimate) 2. Daily stand up meeting (<15 minutes, what I did till this meeting, what ill do till next meeting , what's blocking me) 3. Sprint review (last day) (To demonstrate what is ready to ship to po, no ppt, demo on prodn env 4. Sprint retrospective – what went right, what went wrong
  • 54. Page 54Classification: Restricted Product Backlog PBIs are Uniquely ranked items, progressive user stories are short plain language of description of functionality in terms of customer benefit/need Stories (=requirement) priority estima te As a user I want to be able to easily install the application so that I can access my bank account on my mobile 1 5 As a user I want to be able to view my bank transaction history so that I can track my transactions 2 3
  • 56. Page 56Classification: Restricted Agile Methods – Scrum (3) Commitment – Team takes responsibility to complete the Sprint. To avoid things that will stand in its way Focus – Team’s focus is maintained. Distractions, interruptions are fielded Openness – Overall and individual status and commitments kept open. Respect – Team responsibility rather than scapegoat. Courage – Management and team have the courage to take responsibility to do what is necessary
  • 57. Page 57Classification: Restricted Topics to be covered in next session • Enterprise analysis • SWOT Analysis • Feasibility Evaluation • Problem Statement & Goal Statement • Business Case • Project Scope Statement & Vision Document • AS IS (current state) and TO BE (future state) • Root Cause Analysis – Fish Bone Diagram