SDLC Models

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

SDLC MODELS

Incremental Model
Defination
• In incremental model the whole requirement is divided into
various builds.
• Each module (independent units) passes through the
requirements, design, implementation and testing phases.
• The incremental build model is a method of software
development where the product is designed, implemented and
tested incrementally until the product is finished.
Advantages
• Generates working software quickly and early
during the software life cycle.
• This model is more flexible, less costly to change
scope and requirements.
• It is easier to test and debug during a smaller
iteration.
• In this model customer can respond to each built.
• Lowers initial delivery cost.
• Easier to manage risk because risky pieces are
identified and handled during it’s iteration.
Disadvantages
• Needs good planning and design.
• Needs a clear and complete definition of the
whole system before it can be broken down
and built incrementally.
• Total cost is higher than waterfall.
When to use the Incremental model
• Mostly such model is used in web applications and
product based companies.
• 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.
Agile Model
• Agile Methods break the product into small incremental builds.
These builds are provided in iterations. Each iteration typically lasts
from about one to three weeks. Every iteration involves cross
functional teams working simultaneously on various areas like −

• Planning
• Requirements Analysis
• Design
• Coding
• Unit Testing and
• Acceptance Testing.
• At the end of the iteration, a working product is displayed to the
customer and important stakeholders.
Characteristics
• Self-organizing teams
• Product progresses in a series of month-long
“sprints”
• Requirements are captured as items in a list
of “product backlog”
• No specific engineering practices prescribed
• Uses generative rules to create an agile
environment for delivering projects
Agile Methodologies
• Scrum
• Extreme Programming (XP)
• Dynamic Systems Development Method
(DSDM)
• Feature-Driven Development (FDD)
• Lean and Kanban Software Development
• Crystal
Scrum Methodologies
Sprints
• Scrum projects make progress in a series of
“sprints”
• Typical duration is 2–4 weeks or a calendar
month at most
• A constant duration leads to a better rhythm
• Product is designed, coded, and tested during
the sprint
• No changes during a sprint
Scrum Framework
Roles
• Product owner
Define the features of the product. Makes scope vs.
schedule decisions. Responsible for achieving financial
goals of the project. Prioritize the product backlog.
Adjust features and priority every sprint, as needed.
Accept or reject work results.
• The Scrum Master
Responsible for enacting Scrum values and practices.
Removes impediments . Coaches the team to their best
possible performance . Helps improve team
productivity in any way possible . Enable close
cooperation across all roles and functions . Shield the
team from external interference
Cont…
• The team
• Typically 5-9 people
• Cross-functional: Programmers, testers, user
experience designers, etc.
• Members should be full-time: May be exceptions
(e.g., database administrator)
• Teams are self-organizing: Ideally, no titles but
rarely a possibility
• Membership should change only between sprints
Ceremonies
1.
Sprint
Team selects items from
Planning
the product backlog they
can commit to
completing
2. Sprint backlog is created
• Tasks are identified
and each is estimated (1-
16 hours)
•Collaboratively, not
done alone by the Scrum
Master
The daily scrum
1. Parameters
• Daily
• 15-minutes
• Stand-up
2. Not for problem solving
• Whole world is invited
• Only team members,
Scrum Master, product
owner, can talk
3. Helps avoid other
unnecessary meetings
Sprint review Sprint retrospective
• Team presents what it • Periodically take a look at what
accomplished during the is and is not working
sprint • Typically around 30 minutes
• Typically takes the form of a • Done after every sprint
demo of new features or • Whole team participates
underlying architecture
• Scrum Master
Informal
• Product owner
• 2-hour prep time rule
• Team
• No slides
• Possibly customers and others
• Whole team participates
Artifacts
• Product backlog
• The requirements
• A list of all desired work on the project
• Ideally expressed such that each item has value to the users
or customers of the product
• Prioritized by the product owner
• Reprioritized at the start of each sprint.
• Sprint backlog
• Estimated work remaining is updated daily
• Any team member can add, delete or change the sprint
backlog
• Work for the sprint emerges
• If work is unclear, define a sprint backlog item with a larger
amount of time and break it down later
• Update work remaining as more becomes known
CMMI Model
• CMMI (Capability Maturity Model Integration) is a proven
industry framework to improve product quality and
development efficiency for both hardware and software
• CMMI has been established as a model to improve
business results
• Emphasis on business needs, integration and
institutionalization
• Typical times for implementation:
– 3-6 months of preparation
– 6-12 months of implementation
– 3 months of assessment preparation
– 12 months for each new level
Advantages and Disadvantages
Advantages
• On-Time Deliveries
• Increased Customer Satisfaction
• Overall increased Return on Investment
• Decreased Costs
• Improved Productivity
Disadvantages
• It may add overhead in terms of documentation.
• May require additional resources and knowledge required in
smaller organizations to initiate CMMI-based process
improvement.
• May require a considerable amount of time and effort for
implementation.
• Require a major shift in organizational culture and attitude.
Software Testing Life Cycle
Software Testing Life Cycle(STLC) is the testing
process which is executed in systematic and
planned manner. In STLC process, different
activities are carried out to improve the quality of
the product.
Requirement Analysis/Review
• This is a very important phase in STLC.
• In this phase the QA interacts with the Business Analyst,
System Analyst, Development Manager/Team Lead, etc. or if
required the QA may also interact with Client to completely
understand the requirements of the system.
• During this phase the QA takes many important decisions
like what are the testing types & techniques to be
performed, feasibility for automation testing
implementation, etc.
• Activities:-
• Identify types of tests to be performed.
• Gather details about testing priorities and focus.
• Prepare RTM (Requirement Traceability Matrix)
• Automation feasibility analysis
Test Planning
• In this phase the QA/QA Lead/QA Manager plans for the
complete testing process.
• This Phase is also called Test Strategy phase. Typically in this
stage , a Senior QA manager will determine effort and cost
estimates for the project and would prepare and finalize the
Test Plan.
• This phase is very important as any small mistake in this phase
can result in major issues in the project regarding time, money,
efforts, etc.
• Activities:-
• Preparation of test plan
• Test tool selection
• Test effort estimation
• Resource planning and determining roles and responsibilities.
• Training requirement.
Test Designing
• Creation, Review & Update of Test Cases as well
as Test Scripts are done in this phase. The test
cases prepared by the QA team are reviewed
and approved.
• Test data may also be created in this phase by
the QA team if test environment is available to
them.
• Activities:-
• Create test cases , automation scripts
• Review & baseline test cases
Test Environment Setup
• Test Environment is the actual
system/environment/setup where the testing
team will be testing the application. Test
environment is prepared by understanding the
required system architecture, software &
hardware requirements, etc.
• Activities:-
• Understand the required architecture ,
environment set-up and prepare hardware &
software requirement list for Test Environment.
• Setup test Environment and test data.
Test Execution
• The test cases which were prepared earlier are executed in
this phase. In this phase, the testers test the websites.
Different testing techniques as well as methods are
implemented and executed on the software/application to
break the system and find bugs.
• Bugs are reported to the development team. The
development team resolves the bugs and the system is
retested to ensure that it is bug free and ready to go live.
• Activities:-
• Execute tests as per plan.
• Document test results , and log defects for failed cases.
• Map defects to test cases in RTM
• Retest the defect fixes
• Track the defects to closure
Test Closure
• When the testing team is confident that all the reported
bugs are resolved and the system is ready according to the
client’s requirements, the software testing life cycle enters
the last stage i.e.. Test Closure stage.
• In this stage, evaluation is done for the complete testing
cycle, test closure reports are prepared, proper analysis
and documentation is done for the major or critical bugs
so that such situations can be handled efficiently and
effectively in future projects, etc.
• Activities:-
• Submitting STR (Software Test Result)
• Submitting Test Summary report , Test Plan Document ,
Test Cases/Scripts etc.
• Sharing experiences with the team.
THANK
YOU

You might also like