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

Lesson 9

Uploaded by

elmomangune08
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)
8 views

Lesson 9

Uploaded by

elmomangune08
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/ 25

DevOps

LESSON 9 – LEAN
DevOps building block : Lean
• In DevOps, “Lean” refers to the application of Lean principles and
practices to streamline and optimize the software development and
delivery process.
• The goal of Lean in DevOps is to maximize value delivery to the
customer while minimizing waste, inefficiencies, and delays in the
development pipeline.
DevOps building block : Lean
• Lean practices can be highly complementary to DevOps principles
and practices, as both aim to increase efficiency, reduce waste, and
enhance the overall software delivery process.
• Many organizations that adopt DevOps principles also incorporate
Lean practices to create a more streamlined and customer-centric
approach to software development and delivery.
7 Principles of Lean Software
Eliminate Waste (Muda)
To identify and eliminate any activities, processes, or resources that
do not add value to the customer or the product. Common types of
waste in software development include overproduction (building
features not needed), extra features, delays, and partially completed
work.
Amplify Learning (Mudan):
• Encourages a culture of continuous learning and feedback.
• Teams should actively seek feedback from users, stakeholders, and
the market to iterate and improve the product continuously.
• This principle aligns with Agile practices like frequent customer
feedback and iterative development.
Decide as Late as Possible (Muda o Akirame)
• Delaying decisions until they are absolutely necessary is a way to
reduce uncertainty and make more informed choices.
• In software development, this means deferring design and
implementation decisions until they are required, often based on
user feedback or changing requirements.
Deliver as Fast as Possible (Kanban):
• Lean emphasizes delivering value to the customer as quickly as
possible. By minimizing work in progress (WIP), focusing on flow,
and reducing cycle times, teams can achieve faster delivery and
better responsiveness to changing demands.
Empower the Team (Kanban)
• Empowering teams means giving them the autonomy and authority
to make decisions about how they work and what they prioritize.
• Self-organizing teams are more likely to find creative solutions and
improve processes.
Build Integrity In (Jidoka):
• This principle emphasizes the importance of building quality and
integrity into the product from the beginning.
• By using practices like automated testing, code reviews, and
continuous integration, teams can prevent defects and ensure that
the product works correctly from the start.
See the Whole (Zaiten)
• Seeing the whole means looking at the entire software
development process from end to end.
• Instead of optimizing individual components or stages, Lean
encourages optimizing the entire value stream to improve efficiency
and reduce waste.
DevOps
LESSON 9 – MEASUREMENT
Measurement
In the CALMS model, measurement refers to the practice of collecting
and analyzing data related to your software development and IT
operations processes. This data can include various metrics, such as
lead time, cycle time, error rates, system performance, and more.
Measurement is essential for making informed decisions, identifying
areas for improvement, and tracking progress.
Aligning Goals
Aligning goals means ensuring that the goals and objectives of
different teams and individuals within an organization are in sync and
support the overall business objectives. This alignment is crucial for
effective collaboration and achieving the desired outcomes.
Delivery Metrics
Delivery metrics are specific measurements related to the delivery of
software or IT services. They may include metrics like deployment
frequency, change success rate, mean time to recovery, and other key
performance indicators (KPIs) that help assess the efficiency and
effectiveness of your delivery process.
Operational Metrics
Operational metrics focus on the performance and health of the IT
systems and services in production. These metrics can include server
response times, error rates, system uptime, and other indicators that
help monitor the stability and reliability of your IT infrastructure.
Metric Analysis
Metric analysis involves the process of examining the collected data
and metrics to gain insights and make data-driven decisions. This
analysis can help identify trends, bottlenecks, and areas for
improvement in your software development and IT operations
processes.
Lead and Cycle Time
Lead Time: Lead time is the time it takes from the initial request for a
feature or change to be made to the point where it is delivered or
deployed into production. It measures the end-to-end duration of a
request.
Cycle Time: Cycle time, on the other hand, measures the time it takes
to complete a specific task or process within the overall development
or operations workflow. It is typically shorter than lead time and
focuses on a specific stage or activity.
DevOps
LESSON 9 – SHARING
Sharing
Sharing is a fundamental principle in DevOps that encourages teams
to share knowledge, information, and resources. This includes sharing
code, scripts, documentation, and best practices across development
and operations teams. By fostering a culture of sharing, DevOps aims
to break down silos and improve collaboration.
Collaboration
Collaboration in DevOps refers to the close cooperation and
teamwork between development and operations teams. It involves
working together throughout the entire software development
lifecycle to ensure that code is developed, tested, and deployed
smoothly, with input from both development and operations experts.
Feedback Loops
DevOps emphasizes the importance of feedback loops at various
stages of the software development and delivery process. This
includes feedback on code quality, system performance, and user
experience. Feedback loops help teams identify issues and make
improvements quickly, leading to more efficient and reliable software
delivery.
Visualizing
Visualizing in DevOps involves creating dashboards, monitoring tools,
and other visual aids that provide real-time insights into the state of
applications and infrastructure. Visualizing data helps teams quickly
identify issues, track progress, and make data-driven decisions.
Business and IT Work Alignment
DevOps strives to align the goals and objectives of IT teams with the
broader business goals of an organization. This alignment ensures that
software development and delivery efforts support the needs of the
business and result in the delivery of value to customers.
Education and Learning
DevOps encourages a culture of continuous learning and
improvement. This includes ongoing training and development for
team members to keep up with evolving technologies and best
practices. Education and learning help teams stay innovative and
adapt to changes in the industry.

You might also like