0% found this document useful (0 votes)
14 views29 pages

SDLC Strategies - Part 2

Uploaded by

Norhafizah Nasir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views29 pages

SDLC Strategies - Part 2

Uploaded by

Norhafizah Nasir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 29

SDLC

METHODS &
APPROACHES
SDLC PHASE 1
SDLC METHODOLOGIES
Development methodologies
equip teams with the guiding
principles and processes they
need to build a product. A
methodology defines how every
element of the product will be
delivered—this includes the
practices and philosophies that
product teams, particularly the
development team, need to
follow.
System Development Methods
Waterfall model

Agile model

Scrum

Extreme programming (XP)

Prototyping
Rapid Application Development
(RAD)
System Development Methods
System development can follow various methods, each with distinct
characteristics. The choice of method depends on the system’s objectives
and requirements.
Most of these methodologies and frameworks aren’t meant to be
standalone, all-in-one prescriptive handbooks with a compendium of granular
practices for teams to follow. Teams usually work with a combination of these
principles depending on what the organization and the product need.
Though the approach might differ between models, each methodology has
the goal of enabling the development team to deliver high-quality software in
a cost-effective and quick manner.
Waterfall Model
The Waterfall model is a traditional system development method.

It progresses sequentially through phases such as requirement gathering,


design, implementation, testing, and deployment. It’s ideal for projects where
requirements are well-defined and unlikely to change.
However, in complex projects, critical details might be overlooked during the
requirements phase, leading to inaccurate products.
The Waterfall model can be difficult to adapt to long-term, complex projects
with frequent changes.
Waterfall Model
Waterfall Model
Following the Waterfall methodology, a project development team needs to
complete each phase step by step. There is no going backward with this model.
Each successive phase of the SDLC process relies on the information gained
from the preceding one.
In other words, the output of one phase becomes the input for the next phase.

This model stresses that the requirements should be completely specified


before the beginning of the next phase. But it is not possible in all the systems.
Watch:

https://www.youtube.com/watch?v=Y_A0E1ToC_I

https://www.youtube.com/watch?v=vkccoUNthEI
Agile Model
The Agile model emphasizes iterative development and rapid release cycles,
making it ideal for projects with frequently changing requirements.
Agile development involves self-managed, cross-functional teams that
collaborate to develop solutions iteratively.
Agile offers flexibility, allowing changes to be made easily throughout the
development process. It’s particularly useful for projects requiring rapid
market adaptation.
However, Agile requires continuous customer feedback and frequent
involvement in the process.
Agile Model
Agile Pros:
Capable of accommodating new changes or enhancements occurring during the
development phase without a budget constraint
Engages projects managers and business stakeholders and gets their feedback
consistently throughout the software development process
Fast development and testing allow for the recognition of existing gaps in the
requirements or technologies being used. This makes easy to find alternative courses of
action
Helps development teams identify and address minor issues before becoming
problematic
Saves a great amount of cost and time thanks to the less documentation.

Due to involvement of small iterations it delivers high quality of output.


Agile Model
Agile Cons:
Almost impossible to determine the total effort required at the very
beginning of development for full-size and complex projects
High-risk when clients/end-users are unsure about requirements

Requires valuable resources

Puts less emphasis on designing and documentation processes

Agile methodology doesn’t consist of any deadlines.

Agile methodology also lacks clarity and the project vision.


Scrum
 Scrum is a framework for implementing agile development. Agile development is
about achieving rapid software delivery using short experimental feedback loops,
iterations, and agile teams that work efficiently together.
 Scrum is also influenced by lean concepts like deep user understanding and
collaboration, checking the process regularly to optimize it, empowering teams, and
favouring frequent small releases over infrequent large releases by working within
2-4 weeks.
 The development process proceeds in short cycles called "sprints," typically
lasting 2-4 weeks. At the end of each sprint, the team reviews deliverables and
plans the next sprint.
 Scrum is one of the most popular frameworks which is based on the agile
methodology which is empirical in nature and it is famous for managing projects
which do not have well defined feedback from the customers.
Scrum
Scrum
ADVANTAGES:
 Scrum methodology helps the team members make the decisions on the main principal
project.
 With the help of the scrum methodology the developers can detect the problems fastly and
easily.
 Greater customer and user satisfaction. User feedback is quickly turned into testable,
functional results
 Flexibility and adaptability. Scrum creates an environment where changes and new
requirements can be added easily
 Team morale and satisfaction are higher. Teams that are committed to implementing values
and pillars of Scrum feel more connected to the higher-level goals of the organization
 Reducing resource waste. Teams identify the risk of wasting resources like time, money and
effort by delivering tangible functional features early on
Scrum
DISADVANTAGE:
 Scrum is not effective for the junior team members and it is also less effective for the
big project types.
 Resource estimation. Because of the lack of an end-to-end view of the product
development process, it’s hard to accurately estimate how much time, money and effort
teams will spend
 Best for small teams and fast-moving projects. Large organizations can still implement
Scrum, but they need a rigorous and committed framework that helps them do that like
SAFe and LeSS
 No hard deadlines. This makes it difficult to say when an update or release will be
released
 Requires a highly knowledgeable team. And if the team isn’t well-versed in how to use
Scrum values and practices, the organization has to invest in training initiatives.
Extreme Programming (XP)
 Scrum and Extreme Programming (XP) are both prominent methodologies under
the Agile framework, designed to enhance software development processes by
promoting flexibility, iterative improvement, and customer satisfaction.
 XP is also used to define the agile methodology whose main objective is to
develop a fully functional product as it is also helpful in developing complex
projects with fixed deadlines.
 XP is mostly suitable for developing software in unstable environments.

 The five basic component of Extreme Programming are:


 Communication
 Simplicity
 Feedback
 Respect
 Courage
Extreme Programming (XP)
 Communication. Improving the channels of communication between users and team
members. No need for extensive and rigorous documentation, instead, face to face
discussions are essential to exchange learnings.
Simplicity. Simple designs and simple coding help everyone save on resources (time,
cost, effort) in the long run.
Feedback. Establishing highly functional feedback loops among the development team
and with users, then acting on that feedback immediately and make changes where
needed.
Courage. Changing from an established development framework to XP can be scary. XP
asks that development teams have the courage to evaluate and question their processes,
results and are ready to take on any new changes and responsibilities
Respect. Everyone should respect their fellow team members, the user’s needs and
expectations. Everyone works together to accept and formulate feedback with the aim of
identifying the best solutions.
Extreme Programming (XP)
Difference
between
Extreme
Programming
(XP) and
Scrum
Difference
between
Extreme
Programming
(XP) and
Scrum – cont.
Extreme Programming (XP)
ADVANTAGES
Extreme programming is cost effective and it works well with large and
small teams.
XP is also useful for risk management which overall increases the chance of
success.

DISADVANTAGES
Extreme programming needs regular reviews and meetings between the
stakeholders which leads to more time consumption.
Prototyping
Prototyping is the process of creating an incomplete model of the future full-
featured system, which can be used to let the users have a first idea of the
completed program or allow the clients to evaluate the program.
The process of prototyping involves the following steps :

i) Identify basic requirements.

ii) Develop initial prototype.

iii) Review : The customers, including end-users, examine the


prototype and provide feedback for additions or changes.

iv) Revise and Enhance the Prototype : Using the feedback both the
specifications and the prototype can be improved. If changes are introduced
then a repetition of steps 3 and 4 may be needed.
Prototyping
ADVANTAGES:
 Reduced Time and Costs : Prototyping can improve the quality of
requirements and specifications provided to developers. Early determination
of what the user really wants can result in faster and less expensive software.

 Improved and Increased User Involvement : Prototyping requires user


involvement and allows them to see and interact with a prototype; allowing
them to provide better and more complete feedback and specifications. Since
users know the problem better than anyone, the final product is more likely
to satisfy the users desire for look, feel and performance.
Prototyping
DISADVANTAGES:
 Insufficient Analysis : Since a model has to be created, developers will not properly
analyse the complete project. This may lead to a poor prototype and a final project that
will not satisfy the users.
 User Confusion of Prototype and Finished System : Users may think that a prototype is
actually a final system that merely needs to be finished or polished. Users can also
become attached to features that were included in a prototype
 Excessive Development Time of the Prototype : A key property to prototyping is the
fact that it is supposed to be done quickly. If the developers forget about this fact, they
will develop a prototype that is too complex.
Expense of Implementing Prototyping : The start up costs for building a development
team focused on prototyping may be high. Many companies have to train the team for
this purpose which needs extra expenses.
Rapid Application Development
(RAD)
 RAD is made of delivering speedy results with high quality of software and this
method is particularly complemented by the participation of active users in the
process of development.
 Phases/stages:
 Planning Requirements: at this stage, developers and designers figure out the
requirements for the work and get stakeholder approval
 User Design: Using prototype iterations, users work closely with the
development team to ensure that what they’re building is meeting their needs
 Rapid Construction: The approved prototypes from phase 2 are then turned into
functional, working models. User design and rapid construction are repeated as
often as necessary and until the team finds the best solution possible
 Cutover: The implementation phase. Full-scale testing and training take place
at this stage.

You might also like