0% found this document useful (0 votes)
602 views19 pages

Devops Unit-1

The document discusses different software development life cycle (SDLC) models and Agile principles. It describes the phases of the waterfall, iterative, prototype, V-model, and spiral SDLC models. It also outlines the values and 12 principles of the Agile manifesto, including early delivery of working software, welcoming changing requirements, frequent delivery, collaboration between business and development, and valuing individuals and interactions. The advantages and disadvantages of each model are provided.

Uploaded by

Kaarlet
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)
602 views19 pages

Devops Unit-1

The document discusses different software development life cycle (SDLC) models and Agile principles. It describes the phases of the waterfall, iterative, prototype, V-model, and spiral SDLC models. It also outlines the values and 12 principles of the Agile manifesto, including early delivery of working software, welcoming changing requirements, frequent delivery, collaboration between business and development, and valuing individuals and interactions. The advantages and disadvantages of each model are provided.

Uploaded by

Kaarlet
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/ 19

DevOps

(IV-B.TECH. I-SEM.)
UNIT 1

• Phases of SDLC
• Values & principles of Agile s/w development
• Phases of SDLC
SDLC stands for “Software Development Life Cycle”. It describes the various phases involved in the
software development process using which we can create and maintain a software application efficiently

The software development life cycle starts with the requirement gathering
phase and after that, based on the requirements are defined and design
specifications are created. The high and low-level designs created in the
design-specification phase lead to the implementation phase. In the
implementation phase, coding is done. This phase leads to a software
product that is required to be tested in order to validate its business
requirements. After successful testing(product with no high priority bugs),
the software is deployed to the client.
Software Development Life Cycle Models

Depending on the requirement, budget, criticality, and various other factors, we


can choose between the various SDLC models.

• Waterfall model
• Iterative model
• Prototype model
• V model
• Spiral model
Waterfall Model

Once a phase of the development cycle gets completed, there is no way to go back to that
phase again in order to correct it or make any desired change.
Waterfall Model Advantages
• It is easy to understand and implement.
• There are specific deliverables in each phase of the life cycle.
• All the activities to be performed in each phase are clearly defined.
• It is perfectly suitable for short projects where all the requirements are predefined and understood
clearly.

Waterfall Model Disadvantages 


• As this model requires freezing of requirements, hence, it not suitable for projects in which changes in
requirements are possible or inevitable.
• The working model is only visible in the later phases of the life cycle i.e. after the implementation
phase.
• Any correction or update required in the previous phase is not possible.
Iterative Model

iteratively implement and incorporate new changes resulting in the creation of new versions of
the software until the complete system gets created and deployed.
Iterative Model Advantages
• Working functionality can be developed very quickly.
• It is easier to test and develop due to smaller iterations.
• Customer’s feedback can be incorporated easily in the new versions.
• Risks can be identified and resolved during iterations.

Iterative Model Disadvantages


• Comparatively more resources are required in this model.
• It is not advisable to use this model in smaller projects.
• Adherence to the project deadline is very difficult because of the multiple versions due to either
change in requirements or due incorporation of the client’s feedback.
Prototype Model

A working model of the application is created with limited


functionality. The prototype is then shown to the customer to get
the feedback. This helps in better requirement understanding.
Prototype Model Advantages
• Customer satisfaction gets improved as they can see the working software pretty early in the initial
phases.
• It is easier to figure out any missing requirements and incorporate them.
• The developed prototype can also be reused by developers in the project.

Prototype Model Disadvantages


• There can be a lack of documentation, since, both the development team as well as the customer
rely on the evaluation and feedback of the prototype.
• Overall cost and time can increase due to prototype creation and evaluation.
• There can be uncertainty in the number of iterations that may be required before the prototype
gets finally accepted by the customer.
V Model
V Model is also known as the Verification and Validation model. In this model, the testing phase goes
in parallel with the development phase. As we can see in the diagram, the testing activities start in
parallel with the development activities.
V Model Advantages 
• Each phase of development is tested before moving to the next phase, hence there is a higher rate
of success.
• It avoids defect leakage to the later phases as each phase is verified explicitly.
• The model has clear and defined steps. So, it is easier to implement.

V Model Disadvantages
• The testing team starts in parallel with development. Hence, the overall budget and resource
usage increases.
• Change in requirement are difficult to incorporate.
• The working model of the software is only available in the later phases of the development.
Spiral Model

The spiral model is the combination of


the iterative software development
model and the waterfall model.

This model has four stages –


planning, risk analysis,
engineering, and the review
phase. A project passes through
all these stages repeatedly.
Spiral Model Advantages
• The spiral model is perfect for projects that are large and complex in nature as continuous prototyping
and evaluation help in mitigating any risk.
• Because of its risk handling ability, the model is best suited for projects which are very critical like
software projects related to health domain, space exploration, etc.
• Since customer gets to see a prototype in each phase, so there are higher chances of customer
satisfaction.
Spiral Model Disadvantages 
• the prototype development and risk analysis in each phase, it is very expensive and time taking.
• It is not suitable for a simpler and smaller project because of the multiple phases.
• Project deadlines can be missed since the number of phases is unknown in the beginning and frequent
prototyping and risk analysis can make things worse.
Agile Model

The meaning of Agile is swift or versatile."Agile process model" refers to a software development approach
based on iterative development. Agile methods break tasks into smaller iterations, or parts do not directly involve
long term planning. 

The division of the entire project into smaller


parts helps to minimize the project risk and to
reduce the overall project delivery time
requirements. 
• Values Agile s/w development

The four Agile Manifesto values are:

1. Individuals and interactions over processes and tools.


2. Working software over comprehensive documentation.
3. Customer collaboration over contract negotiation.
4. Responding to change over following a plan.
The principles behind the Agile Manifesto.

The 12 Agile Manifesto principles, expanding on the original manifesto, include:


1. The highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. The project team welcomes changing requirements, even late in development. Agile processes harness change for the
customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. The process builds projects around motivated individuals, giving them the environment and support they need, and trusts them
to get the job done.
6. A face-to-face conversation is the most efficient and effective method of conveying information to and within a development
team.
7. Working software is the most important measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should maintain a constant pace
indefinitely.
9. Pay continuous attention to technical excellence, and good design enhances agility.
10.Simplicity is essential. This is the art of maximizing the amount of work not done.
11.Self-organizing teams produce the best architectures, requirements, and designs.
12.At regular intervals, the team reflects on how to become more effective and adjusts its behavior accordingly.
Advantage(Pros) of Agile Method:
1.Frequent Delivery
2.Face-to-Face Communication with clients.
3.Efficient design and fulfils the business requirement.
4.Anytime changes are acceptable.
5.It reduces total development time.

Disadvantages(Cons) of Agile Model:


6.Due to the shortage of formal documents, it creates confusion and crucial decisions taken throughout various
phases can be misinterpreted at any time by different team members.
7.Due to the lack of proper documentation, once the project completes and the developers allotted to another
project, maintenance of the finished project can become a difficulty.
Thank you
https://www.javatpoint.com/devops

You might also like