0% found this document useful (0 votes)
3 views

main devops

The document outlines the Software Development Life Cycle (SDLC) and its various stages, including planning, requirement analysis, design, development, testing, deployment, and maintenance. It discusses the Waterfall model and its advantages and disadvantages, as well as the Agile methodology, emphasizing its iterative approach and principles. Additionally, it introduces the Scrum framework, detailing its roles, artifacts, events, and key principles for effective project management.

Uploaded by

Manu Manu
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

main devops

The document outlines the Software Development Life Cycle (SDLC) and its various stages, including planning, requirement analysis, design, development, testing, deployment, and maintenance. It discusses the Waterfall model and its advantages and disadvantages, as well as the Agile methodology, emphasizing its iterative approach and principles. Additionally, it introduces the Scrum framework, detailing its roles, artifacts, events, and key principles for effective project management.

Uploaded by

Manu Manu
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

DEVOPS NOTES

UNIT – 1
HISTORY :
Software Development Life Cycle (SDLC)

A software life cycle model (also termed process model) is a pictorial and diagrammatic
representation of the software life cycle. A life cycle model represents all the methods required
to make a software product transit through its life cycle stages. It also captures the structure in
which these methods are to be undertaken.

Stage1: Planning and requirement analysis

Requirement Analysis is the most important and necessary stage in SDLC.

The senior members of the team perform it with inputs from all the stakeholders and domain
experts or SMEs in the industry.

Planning for the quality assurance requirements and identifications of the risks associated with
the projects is also done at this stage.
Business analyst and Project organizer set up a meeting with the client to gather all the data like
• what the customer wants to build,
• who will be the end user,
• what is the objective of the product.

Before creating a product, a core understanding or knowledge of the product is very necessary.

Stage2: Defining Requirements


Once the requirement analysis is done, the next stage is to certainly represent and document the
software requirements and get them accepted from the project stakeholders.

This is accomplished through "SRS"- Software Requirement Specification document which


contains all the product requirements to be constructed and developed during the project life
cycle.

Stage3: Designing the Software


The next phase is about to bring down all the knowledge of requirements, analysis, and design of
the software project. This phase is the product of the last two, like inputs from the customer and
requirement gathering.

Stage4: Developing the project


In this phase of SDLC, the actual development begins, and the programming is built. The
implementation of design begins concerning writing code. Developers have to follow the coding
guidelines described by their management and programming tools like compilers, interpreters,
debuggers, etc. are used to develop and implement the code.

Stage5: Testing
After the code is generated, it is tested against the requirements to make sure that the products
are solving the needs addressed and gathered during the requirements stage.
During this stage, unit testing, integration testing, system testing, acceptance testing are done.

Stage6: Deployment
Once the software is certified, and no bugs or errors are stated, then it is deployed.
Then based on the assessment, the software may be released as it is or with suggested
enhancement in the object segment.

After the software is deployed, then its maintenance begins.

Stage7: Maintenance
Once when the client starts using the developed systems, then the real issues come up and
requirements to be solved from time to time.

This procedure where the care is taken for the developed product is known as maintenance.

Waterfall model

Winston Royce introduced the Waterfall Model in 1970.This model has five phases:
Requirements analysis and specification, design, implementation, and unit testing, integration
and system testing, and operation and maintenance. The steps always follow in this order and do
not overlap. The developer must complete every phase before the next phase begins.

This model is named "Waterfall Model", because its diagrammatic representation resembles a
cascade of waterfalls.

1. Requirements analysis and specification phase: The aim of this phase is to understand the
exact requirements of the customer and to document them properly. Both the customer and the
software developer work together so as to document all the functions, performance, and
interfacing requirement of the software. It describes the "what" of the system to be produced and
not "how."In this phase, a large document called Software Requirement Specification
(SRS) document is created which contained a detailed description of what the system will do in
the common language.

2. Design Phase: This phase aims to transform the requirements gathered in the SRS into a
suitable form which permits further coding in a programming language. It defines the overall
software architecture together with high level and detailed design. All this work is documented
as a Software Design Document (SDD).
3. Implementation and unit testing: During this phase, design is implemented. If the SDD is
complete, the implementation or coding phase proceeds smoothly, because all the information
needed by software developers is contained in the SDD.

During testing, the code is thoroughly examined and modified. Small modules are tested in
isolation initially. After that these modules are tested by writing some overhead code to check
the interaction between these modules and the flow of intermediate output.

4. Integration and System Testing: This phase is highly crucial as the quality of the end
product is determined by the effectiveness of the testing carried out. The better output will lead
to satisfied customers, lower maintenance costs, and accurate results. Unit testing determines the
efficiency of individual modules. However, in this phase, the modules are tested for their
interactions with each other and with the system

5. Operation and maintenance phase: Maintenance is the task performed by every user once
the software has been delivered to the customer, installed, and operational.
Advantages of Waterfall model
o This model is simple to implement also the number of resources that are required for it is
minimal.
o The requirements are simple and explicitly declared; they remain unchanged during the entire
project development.
o The start and end points for each phase is fixed, which makes it easy to cover progress.
o The release date for the complete product, as well as its final cost, can be determined before
development.
o It gives easy to control and clarity for the customer due to a strict reporting system.

Disadvantages of Waterfall model


o In this model, the risk factor is higher, so this model is not suitable for more significant and
complex projects.
o This model cannot accept the changes in requirements during development.
o It becomes tough to go back to the phase. For example, if the application has now shifted to the
coding phase, and there is a change in requirement, It becomes tough to go back and change it.
o Since the testing done at a later stage, it does not allow identifying the challenges and risks in the
earlier phase, so the risk reduction strategy is difficult to prepare.
Introduction- DEVOPS

The DevOps is the combination of two words, one is Development and other is Operations. It is
a culture to promote the development and operation process collectively.

DevOps tools such as Git, Ansible, Docker, Puppet, Jenkins, Chef, Nagios, and
Kubernetes.

What is DevOps?
Why DevOps?

Before going further, we need to understand why we need the DevOps over the other methods.

o The operation and development team worked in complete isolation.


o After the design-build, the testing and deployment are performed respectively. That's
why they consumed more time than actual build cycles.
o Without the use of DevOps, the team members are spending a large amount of time on
designing, testing, and deploying instead of building the project.
o Manual code deployment leads to human errors in production.
o Coding and operation teams have their separate timelines and are not in synch, causing
further delays.

DevOps History

o In 2009, the first conference named DevOpsdays was held in Ghent Belgium. Belgian
consultant and Patrick Debois founded the conference.
o In 2012, the state of DevOps report was launched and conceived by Alanna Brown at
Puppet.
o In 2014, the annual State of DevOps report was published by Nicole Forsgren, Jez
Humble, Gene Kim, and others. They found DevOps adoption was accelerating in 2014
also.
o In 2015, Nicole Forsgren, Gene Kim, and Jez Humble founded DORA (DevOps
Research and Assignment).
o In 2017, Nicole Forsgren, Gene Kim, and Jez Humble published "Accelerate: Building
and Scaling High Performing Technology Organizations".

AGILE DEVELOPMENT:

Agile methodologies are iterative and incremental, which means it’s known for breaking a project
into smaller parts and adjusting to changing requirements.
1. They prioritize flexibility, collaboration, and customer satisfaction.
2. Major companies like Facebook, Google, and Amazon use Agile because of its
adaptability and customer-focused approach.

 An agile methodology is an iterative approach to software development.


 Each iteration of agile methodology takes a short time interval of 1 to 4 weeks.
 The agile development process is aligned to deliver the changing business
requirement.
 It distributes the software with faster and fewer changes.
 The single-phase software development takes 6 to 18 months.
 In single-phase development, all the requirement gathering and risks management
factors are predicted initially.
• The agile software development process frequently takes the feedback of workable
product. The workable product is delivered within 1 to 4 weeks of iteration.

UNDERSTANDING THE AGILE PRINCIPLES---


The twelve principles of agile development include:

1. Customer satisfaction through early and continuous software delivery –


Customers are happier when they receive working software at regular intervals,
rather than waiting extended periods of time between releases.
2. Accommodate changing requirements throughout the development process –
The ability to avoid delays when a requirement or feature request changes.
3. Frequent delivery of working software – Scrum accommodates this principle
since the team operates in software sprints or iterations that ensure regular delivery
of working software.
4. Collaboration between the business stakeholders and developers throughout
the project – Better decisions are made when the business and technical team are
aligned.
5. Support, trust, and motivate the people involved – Motivated teams are more
likely to deliver their best work than unhappy teams.
6. Enable face-to-face interactions – Communication is more successful when
development teams are co-located.
7. Working software is the primary measure of progress – Delivering functional
software to the customer is the ultimate factor that measures progress.
8. Agile processes to support a consistent development pace – Teams establish a
repeatable and maintainable speed at which they can deliver working software, and
they repeat it with each release.
9. Attention to technical detail and design enhances agility – The right skills and
good design ensures the team can maintain the pace, constantly improve the
product, and sustain change.
10. Simplicity – Develop just enough to get the job done for right now.
11. Self-organizing teams encourage great architectures, requirements, and
designs – Skilled and motivated team members who have decision-making power,
take ownership, communicate regularly with other team members, and share ideas
that deliver quality products.
12. Regular reflections on how to become more effective – Self-improvement,
process improvement, advancing skills, and techniques help team members work
more efficiently.
The Agile methodology Workflow or (life cycle)

The average release cycle of software consists of 1 to 4 weeks. According to the Agile
software development phases, the developer team conducts an Agile workflow diagram.
From start to the final completion of software development, the Agile iteration workflow
consists of five steps-

1.PLANNING:

Approach to software development and planning is the Agile workflow's first step.
In the planning stage, the developer team imagined the whole project & made the sprint backlog,
calculated the average time of release product, & determined about the required agile
technologies.

2.Building
The building is the second step of a traditional Agile process model.
In the building or design process, the Agile development team creates input functions &
prepares the system for start testing.
3.Testing
Agile model in software development life cycle, this is the most vital step. In this step, the
whole system is tested before the final production approach.
The quality assurance team works to find bugs and analyze the user flow diagram to fix and
enhance the user acceptance of the application.

4.Delivery
The Agile delivery is the fourth step of the software development workflow.
After performing a series of testing, user training, enhancing system functionalities
developers team release the software.

5.Feedback
Review is the final step of the Agile development process.
Client & user feedback is taken in this step to see the outcomes & if the software works and
is functional or not.
All in all, this is the step of application retirement, either a continuous flow of review & up-
gradation of the software.

ADVANTAGES AND DISADVANTAGES OF AGILE

ADVANTAGES:
1. Customer satisfaction is rapid, continuous development and delivery of useful software.
2. Customer, Developer, and Product Owner interact regularly to emphasize rather than
processes and tools.
3. Product is developed fast and frequently delivered (weeks rather than months.)
4. A face-to-face conversation is the best form of communication.
5. It continuously gave attention to technical excellence and good design.
6. Daily and close cooperation between business people and developers.
7. Regular adaptation to changing circumstances.
8. Even late changes in requirements are welcomed

DISADVANTAGES OF AGILE:
1. It is not useful for small development projects.
2. There is a lack of intensity on necessary designing and documentation.
3. It requires an expert project member to take crucial decisions in the meeting.
4. Cost of Agile development methodology is slightly more as compared to other
development methodology.
5. The project can quickly go out off track if the project manager is not clear about
requirements and what outcome he/she wants.

SCRUM FRAMEWORK:
Scrum is an Agile framework used for managing and completing complex projects, typically in
software development but also applicable to other fields.
It’s designed to help teams work together more effectively and deliver value incrementally.
Scrum promotes a collaborative, flexible approach to project management, encouraging teams to
deliver high-quality results while continuously improving their processes.

Core Components:
Scrum team: A typical team has between five and nine people, but projects can easily scale into
the hundreds, or just be one-or two-person teams. Everyone on the project works together to
complete the set of work they have collectively committed to complete within a sprint.
Teams develop a deep form of camaraderie and a feeling that “we’re all in this together.”
USER STORIES:
EPIC:
BURNDOWNCHART:
STORY POINT:

1. Roles:
- Product Owner : Represents the stakeholders and is responsible for maximizing the value of
the product. They manage the Product Backlog, ensuring it is prioritized and clear.
- Scrum Master: Acts as a facilitator and coach for the Scrum Team. They help remove
impediments, ensure that Scrum practices are followed, and support the team in improving their
processes.
- Development Team: A cross-functional group responsible for delivering potentially shippable
product increments. They are self-organizing and work collaboratively to meet their goals.

2. Artifacts:
- Product backlog: The product backlog is a prioritized features list containing every desired
feature or change to the product. Note: The term “backlog” can get confusing because it’s used
for two different things. To clarify, the product backlog is a list of desired features for the
product.
-The sprint backlog is a list of tasks to be completed in a sprint.

3. Events:
- Sprint: A time-boxed period, usually lasting 2-4 weeks, during which the Scrum Team works
to create a usable product increment. Sprints are of consistent length throughout the project.
-Sprint Planning:
At the start of each sprint, a sprint planning meeting is held, during which the product owner
presents the top items on the product backlog to the team.
The team selects the work they can complete during the coming sprint.
That work is then moved from the product backlog to a sprint backlog, which is the list of tasks
needed to complete the product backlog items the team has committed to complete in the sprint.

- Daily Scrum: Each day during the sprint, a brief meeting called the daily scrum is conducted.
This meeting helps set the context for each day’s work and helps the team stay on track. All team
members are required to attend the daily scrum.

- Sprint review meeting: At the end of each sprint, the team demonstrates the completed
functionality at a sprint review meeting, during which, the team shows what they accomplished
during the sprint.
Sprint retrospective: Also at the end of each sprint, the team conducts a sprint retrospective,
which is a meeting during which the team reflects on how well their process is working for them
and what changes they may wish to make for it to work even better.

Key Principles

- Transparency: All aspects of the process must be visible to those responsible for the outcome.
This includes the Product Backlog, Sprint Backlog, and progress toward goals.
- Inspection: Regularly review artifacts and progress to identify any deviations from the plan
and make adjustments as needed.
-Adaptation: Make adjustments to processes and practices based on feedback and inspections to
improve efficiency and effectiveness.

Scrum Framework workflow:


 The product owner creates a product backlog (essentially, a wishlist of tasks that need to
be prioritized in a project).
 The Scrum team conducts a sprint planning session where the tasks necessary to
complete items on the wishlist is broken down into small, more easily manageable
chunks.
 The team creates a sprint backlog and plans its implementation.
 The team decides a time duration for every sprint (the most common intervals is probably
two weeks).
 The team gets together every day for a brief Scrum meeting (often referred to as a Daily
Standup) where each member of the team shares daily updates, helping the team and the
project manager assess the progress of the project.
 The certified Scrum Master guides the team and keeps them focused and motivated.
 The stakeholders and the product owner conduct a review at the end of each sprint.

This is the cycle followed by a Scrum team in a product development project. The three roles
mentioned above - the Product Owner, the Scrum Team, and the ScrumMaster together play a
major role in exercising this framework.

ADVANTAGES OF SCRUM :
• Scrum can help teams complete project deliverables quickly and efficiently.
• Scrum ensures effective use of time and money.
• Large projects are divided into easily manageable sprints.
• Works well for fast-moving development projects.
• The team gets clear visibility through scrum meetings.
• Scrum, being agile, adopts feedback from customers and stakeholders.
• Short sprints enable changes based on feedback a lot more easily.
• The individual effort of each team member is visible during daily scrum meetings.

DISADVACTAGES OF SCRUM :

 Scrum often leads to scope creep, due to the lack of a definite end-date.
 The chances of project failure are high if individuals aren't very committed or
cooperative.
 Adopting the Scrum framework in large teams is challenging.
 The framework can be successful only with experienced team members.
 Daily meetings sometimes frustrate team members.
 If any team member leaves in the middle of a project, it can have a huge negative impact
on the project.
 Quality is hard to implement until the team goes through an aggressive testing process.
KANBAN:

You might also like