kanban for devops 3 reasons why it ops uses lean flow · kanban for devops 3 reasons why it ops...
TRANSCRIPT
3 Reasons Why IT Ops Uses Lean FlowBY DOMINICA DEGRANDIS
KANBAN FOR DEVOPS
From your friends at LeanKit
2
ABOUT THE AUTHOR
Dominica DeGrandis teaches Kanban
to DevOps enthusiasts. Her experience
includes 18 years of working with
large and small companies, focused
on a variety of services: training and
coaching, configuration management,
build and deployment automation,
server and environment maintenance,
and project and release management.
As Director of Training and Coaching
at LeanKit, she combines experience,
practice and theory to help teams level
up their capability. Dominica is keen on
providing visibility and transparency
across teams to reveal mutually critical
information.
Follow her on
Twitter at
@dominicad.
IntroductionMore and more businesses are finding that a cross-functional, aligned view of development and operations can help shift IT from a cost center to a strategic advantage. One way to achieve this cross-functional alignment is through DevOps practices and a lean flow approach to product development.
WHAT ARE LEAN FLOW AND DEVOPS?
Lean flow, also known as Kanban for knowledge work, is a method that focuses the whole organization on improving the speed and quality of delivering value to the customer.
DevOps is an emerging movement that seeks to improve the performance and health of an organization. It’s a container of practices to enable and improve the IT world
— a container chock-full of improvements in automation, culture, metrics and feedback.
From a performance perspective, Gene Kim, author of The Phoenix Project (2013), says, “DevOps practices enable fast flow of features from development into IT operations, while preserving world-class availability, reliability and security.” This can apply to delivering products and services, as well as features.
From a health perspective, DevOps encourages we instead of us/them. It extends the focus on lean flow beyond development to include support and maintenance. This awareness of systemic dependencies and business risk across IT helps to accomplish three main outcomes: It improves alignment across the organization, establishes a cross-functional view of metrics and feedback, and increases cooperation and job satisfaction.
In this eBook, I’ll explore three key reasons why IT Ops teams and those implementing DevOps practices use a lean flow approach to deliver customer value. I hope that you find the information helpful.
Cheers,
Dominica DeGrandisDirector of Training and Coaching, LeanKit
3
About LeanKitLeanKit runs a lean shop and always has. Since our founding in 2009, we’ve grown to serve more
than 50,000 teams around the world at companies such as Adobe, ING, PayPal, Rolls Royce,
Siemens and Verizon. Teams of all types — including IT, software and product development,
operations, sales, marketing, HR, legal, and finance — rely on LeanKit every day.
CUSTOMER VALUE DELIVERY PLATFORMAs the only lean-based enterprise platform, LeanKit helps you deliver your unique value to your
customers faster. LeanKit gives you the tools to visualize your work, optimize your flow and
continuously improve your performance. Teams at all levels of the organization can align around
the things that matter most to your customers: quality, innovation and speed.
BUILT FOR LEAN: Purpose-built to increase your project delivery success through the
implementation of lean practices.
VISUAL MANAGEMENT: Our products harness the innate human preference for consuming
information visually.
UNPARALLELED FLEXIBILITY: Easily adapt LeanKit to mirror your team’s unique process
without restricting the way you work.
CONTINUOUS IMPROVEMENT: LeanKit helps you optimize your workflow by removing
bottlenecks and waste from your process.
LEAN METRICS: Lean metrics and reports help you measure your workflow to identify
opportunities for improvement.
ENTERPRISE SCALABILITY: As your lean initiative grows, LeanKit easily scales to support
multiple projects, teams and locations.
TAKE LEANKIT FOR A TEST DRIVE.Start your free trial today.
SIGN UP FREE
4
REASON #1
The work isn’t done until it’s working right in production.
REASON #2
Staying focused when flooded with conflicting priorities.
REASON #3
People responsible for product support have a voice during product development.
A CROSS-FUNCTIONAL, ALIGNED VIEW OF DEVELOPMENT AND OPERATIONS CAN HELP
SHIFT IT FROM A COST CENTER TO A STRATEGIC ADVANTAGE.
KANBAN FOR DEVOPS
3 Reasons Why IT Ops Uses Lean Flow
5
Reason #1: The work isn’t done until it’s working right in production.
There’s a joke in software development about being “done” and being “done-done.”
Single-done is the platitude; double-done is the retort. Corks pop, banners fly, the new feature is
“done” — but real work still remains. Work requiring someone from operations to stay behind to
get it “done-done.”
Double-done signifies the real finish line, when everyone can relax and make merry — often quite
awhile after the code is shippable or even delivered to production. By the time all the operations
tasks are truly done, the party is usually over and there’s nowhere to go but home, to catch a few
hours’ sleep before getting up to go to work again.
Lean flow — also known as Kanban for knowledge work — lifts operations out of the double-done
muddle. As a systems thinking approach, it encourages development and operations to map the
entire work stream and consider all relevant tasks, including those routinely relegated to post-
production. This unified work stream increases the odds that everyone can celebrate crossing the
finish line together.
WHY “DOUBLE-DONE” COMPLETION PRACTICES EXISTBefore we explore reasons why operations teams use a lean flow approach, let’s take a closer
look at three business reasons for commonplace “double-done” completion practices: marketing,
maintenance, and risk.
1. MARKETING
Generally speaking, customers disregard the fanfare of the single done. They don’t care if the
code is in a shippable state. For customers, the new feature is not truly done until after the code is
delivered to production, stabilized, and performing correctly. In the context of feature marketing,
however, the single-done gives a fair signal to obtain feedback, to amp up the market buzz, and to
anticipate the double-done.
2. MAINTENANCE
To remain competitive, businesses need a certain level of confidence to ensure that the new
feature is resilient — that it is being monitored and maintained. The double-done model gives
businesses a window of time (albeit one that’s typically too short) to acquire the necessary
elements for resilience, such as sufficient hardware capacity, storage, and security, as user volume
increases.
6
3. RISK
To avoid the risk of bungled updates, multiple team members must learn to troubleshoot and
fix problems related to the new feature. To facilitate future support capability, some form of
documentation is needed. Double-done practices provide a place to verify that support systems
are adequate to anticipate and reduce risks.
While double-done completion practices do serve some business needs, a lean flow approach
addresses all of the above and more, within a fully transparent workflow.
KANBAN FOR DEVOPS: CROSSING THE FINISH LINE TOGETHERKanban provides end-to-end visibility of all the states the work must go through in order for the
feature to be reliable for customers and safe for businesses.
A Kanban board example
7
Lean flow methods use Kanban boards to provide a visible connection between all the work
states in the system. Blocked work that is preventing other work from being completed becomes
self-evident. Dependencies between teams or with third-party vendors emerge as indisputable.
And furthermore, because all the skill sets required for a feature’s completion have a voice in the
process, it becomes a delightful experience for employees.
THE BOTTOM LINEWith Kanban’s end-to-end, lean flow approach, “done-done” can become truly done. When we
are able to visualize and consider the entire work stream, bottlenecks previously invisible can
be addressed, tasks required after code is deployed to production can become mainstream, and
everyone can join the party at the finish line.
Reason #2: Staying focused when flooded with conflicting priorities.Imagine a five-gallon bucket poured through a narrow funnel. The funnel can hold only so much
before it overflows into a messy spill. For operations teams, the funnel is often overflowing. They
support a flood of multiple and competing requests, servicing a wide variety of customers.
From configuration management to capacity expansion, and from security compliance to
automation, operations teams work on so much more than new product development. Such broad
usefulness can result in a barrage of interruptions that mess up a team’s flow. In every workshop I
facilitate, operations teams cite the constant “context switching” from interruptions as one of their
top frustrations.
Context switching occurs when priorities conflict. When today’s number one priority routinely
usurps yesterday’s number one priority, the purpose becomes murky and frustration, endemic.
To get back on track, it’s necessary to clarify our prioritization processes (or lack thereof) and
illuminate conflicting priorities.
But before we do that, let’s look at why the problem of conflicting priorities exists in the first place,
why it’s such a tough problem to solve, and what happens when it doesn’t get solved — or at least
improved.
8
WHY CONFLICTING PRIORITIES EXIST Many priority conflicts arise from three common causes.
1. TOO MUCH DEMAND
Conflicting priorities can occur when there is more demand than we can handle. Of course, we
desire demand, because if no one demands our product or services, we may be out of work soon.
Demand is life, but when left unchecked, it overloads our capacities. Wanting to do the right thing,
we attempt to do too much work too fast. Heroic efforts appear praiseworthy in the short term,
but such efforts inevitably lead to expensive mistakes. Recall the adage: When we attempt to get
everything done, nothing gets done.
2. SHIFTS IN BUSINESS DIRECTION
Conflicting priorities often seem to go hand in hand with uncertain market conditions. To stay
competitive, business owners must hustle to change direction quickly. As a result, teams working
on Project A may be asked to begin Project B before discovering that Project A may soon be
abandoned.
3. UNREALISTIC PROJECT TIMELINES
Conflicting priorities can also come from inappropriate deadlines and targets. For example, when a
sales manager promises a new feature to a customer — without asking impacted teams — the new
work can knock other committed projects off their timelines.
Likewise, if a hopeful vendor naively says, “Sure, we can do that — no problem!” — an overly
optimistic target may land the work in the “abandoned” bin.
WHY THE PROBLEM OF CONFLICTING PRIORITIES IS TOUGH TO SOLVEPeople in other parts of the company who submit requests to operations teams are often unaware
of all the other requests. Everyone just wants to get his or her job done. Urgently.
When the roiling sea of requests hits the funnel, everything clearly cannot all be done at the same
time. We need some form of prioritization to monitor the flow. But how does prioritization happen?
It’s not unusual to see the following methods:
Prioritization by he or she who yells the loudest
Prioritization by who has the most political authority or influence
Prioritization by who is best friends with the person whose skill set is in need
While these methods can work, they exemplify the kind of command and control behavior that has
people updating their resumes. On a more fundamental level, these methods mask problems — like
not understanding which work request, when well executed, represents the best choice for the
company.
9
I recommend the following method instead:
Prioritization by examining the over-arching business value to the entire company, rather than
one particular department.
Business value (and/or cost of delay) is often hard to decipher, and it’s too big a topic to address
in this post. Suffice it to say that when all concerned parties consider the whole picture, it’s easier
to be on the same side of the fence.
WHAT CLEAR PRIORITIES CAN DO AND HOW TO GET THEMWhen workers request project priority, a “do all the things” answer can do more harm than good.
Attempting to increase the workload through a funnel that can only handle so much is a futile
exercise — it only increases interruptions that cause further delays.
Clear priorities are vital. They help reduce questionable tasks and relieve workers of expensive
context switching, which in turn improves the flow of work. But it’s important that these priorities
come from the top.
Business owners (or the leadership team) with collective responsibility for attaining common goals
for the organization should identify which few items to place in the funnel. Operations leadership
needs a seat at this leadership table.
Removing the burden of guessing what is the highest business priority frees teams to focus on the
execution of the requests. Escalated requests bounced back and forth between departments are
reduced because of the priority consensus at the leadership level. High-level prioritization is an
action for leadership to determine — not downstream teams.
WHY WE NEED TO SHINE A LIGHT ON CONFLICTING PRIORITIESWhen a work item takes longer than expected, or it sits idle, it consumes space in the funnel. This
prevents progress on other work and blocks the funnel. A blocked funnel is impossible to ignore.
Like a clogged kitchen drain, the plumbing gets the attention it deserves. To clear the funnel, a
discussion is needed to decide if the work should be escalated or pulled out.
Here’s an exercise to try: Query your ticketing system to reveal all work items that haven’t been
touched for a period of time (e.g., 30 days). Compare that outcome with the work that is getting
done. Is the result surprising? If yes, it might be time to revisit your organization’s prioritization
method and have a good old-fashioned conversation about conflicting priorities.
HOW TO SHINE A LIGHT ON CONFLICTING PRIORITIES“When one party begins to feel pain in synchrony with the other, the problem will eventually find its
resolution.” – Gerald Weinberg
Talking about conflicting priorities may be uncomfortable, but shared pain is an effective way to
focus attention on problems and begin to resolve them.
10
Making pain visible is the most comprehensive way to share pain. Shining a light on conflicting
priorities requires a visual representation of all the work that is currently in the funnel. When
everyone is looking at the same picture, visibility makes priorities obvious: Everyone can see what’s
being worked on and what’s not.
In the Kanban board example above, three lanes represent work currently in the funnel: “In Work,”
“On Hold,” and “Abandoned.”
The “On Hold” lane exists below the “In Work” lane to explicitly disclose when work cannot make
any progress. Additionally, we can discern that the work in the “On Hold” lane is sitting idle
because people are busy working on higher priority items above. The “On Hold” lane can also be
used to show items that are delayed for reasons outside of the team’s control, such as purchase
order approvals or third-party services.
A Kanban board showing team priorities
11
The “Abandoned” lane reveals work that was started but is now de-prioritized to the point of no
return. Showing the state (i.e., the column or lane) where the work stopped allows us to better
understand the cost of beginning but not finishing work. Adding a policy to visualize displaced
work causes necessary prioritization discussions and highlights the potential morale cost.
THE BOTTOM LINEUsing Kanban boards to reveal all the work in progress helps operations teams monitor priorities
more effectively. But first, business owners and leadership teams (which include operations) need
to determine which few priorities make it into the funnel. Clarity is critical. When priorities become
clear and work-in-progress limits are adjusted appropriately, we can finally focus. Uninterrupted
focus is priceless when it comes to getting things done.
Reason #3: People responsible for product support have a voice during product development.Accountability with no authority sucks. To be responsible for keeping production running smoothly
— but have no voice in the changes rolling into production — sucks energy, sucks morale, sucks
cash. And that sucking noise means organizational health is heading south.
The problem is twofold:
1. The economic cost of owning something is not necessarily reflected in the building of it, but in
the support and future maintenance of it. We often don’t understand the effort required to support
products.
2. The prosperity of organizational health (i.e., a company’s economic performance, job
satisfaction, levels of trust and cooperation, and tolerance for experimentation) is dependent on
the alignment of connected teams. When teams ignore or compete with each other — instead
of working to improve overall success and growth — organizational health deteriorates. Let’s not
forget that the intent of the DevOps movement is to improve the system as a whole.
PRODUCT SUPPORT IMPACTS ECONOMIC COSTHow much budget is needed for maintenance? Who knows?
Let’s define maintenance. Maintenance includes work to provide enhancements, fix defects, run
tests, support customers, expand capacity, migrate platforms, optimize performance, reengineer
features, update security/compliance, localize global elements, and decommission servers.
Maintenance almost always includes some form of operational support. And often enough, some
form of design, development and testing is necessary.
12
Research1 on budgeting for software maintenance shows that product support needs anywhere
from 20-75% of the initial cost of the product development. The variance of the range is due to
many factors, including size, skill level, complexity, duration and scope.
Even though it’s difficult to clearly define the maintenance impact of a new product, it is
worthwhile to get thoughts from people responsible for its support. They are the ones who get
paged at 2:00 a.m. to stabilize the product in production, to handle performance issues and to
react to customer complaints. Asking them what they think early on allows for differences of
opinions to be aired and debated — a fundamental feature of organizational health.
PRODUCT SUPPORT IMPACTS ORGANIZATIONAL HEALTH“If people don’t weigh in, they can’t buy in,” asserts Patrick Lencioni in his book, The Advantage
(2012). Lencioni correctly observes that people do not actively commit to a decision made on their
behalf unless they have had the opportunity to provide input, ask questions, and understand the
rationale behind it.
When people are aware of new product development and have a voice during the development
of it, they can avoid being blindsided with, “Oh, by the way, you are inheriting a new product
tomorrow,” Giving people a chance to anticipate support needs leads to all sorts of goodness. They
can allocate capacity for support and have time to consider a proper solution. They can identify
load balancing requirements and security implications. Authority enhances their accountability
when they are empowered to suggest alternative improvements that are likely to reduce overall
costs and risks.
People want to know what’s headed their way and have an opportunity to weigh in on decisions.
Even if their suggestion isn’t implemented, they know that their contribution was considered. This
alone can improve trust and cooperation — essential ingredients for alignment.
HOW TO CREATE ALIGNMENT ACROSS THE ORGANIZATIONCreating alignment begins by creating clarity so everyone can understand why the organization is
moving in a particular direction. Clarity on the company’s intent reduces confusion and ambiguity.
With a straightforward and consistent message from leadership, employees can freely execute
their responsibilities. There are few more destructive obstacles for employees than having to
continually maneuver through shifting or contradicting communications from misaligned leaders.
Communication gives people the clarity they need to move forward as an aligned organization.
Organizations can boost communication by creating visual representations of their priorities, risks
and workflows. We’ll explore workflow visuals here.
13
SOLVING MISALIGNMENT PROBLEMS WITH LEAN WORKFLOW VISUALSOne way to solve misalignment problems is to look at the way work moves through an
organization. Analyzing how the iterative bits of work flow across the whole value stream and into
the hands of the consumer brings clarity to and supports consequent alignment across teams.
From design, to build, to release, to product support — people use lean workflow visuals (such
as online Kanban boards) to help them see problems related to handoffs, waste, rework and
blockages.
Mapping a cross-functional view of iterative product bits moving through the organization on their
way to production reveals how traditionally unrelated processes function and how decisions made
upstream impact the flow of work downstream.
In the Kanban board above, the support lane at the far right calls attention to the support
responsibilities the team will need to prepare for. In true DevOps fashion, we are reminded that
product development is not done until it’s working right in production and fully supportable.
A Kanban board showing development, operational impacts, and support work
14
Additionally, the data flow model and data storage tasks call attention to themselves in this view
so that they can be reviewed by those impacted. By inviting broader participation in the building
of the product, we can avoid troublesome retrospective questions, such as, “Why did they design
the data flow model like this? It will take at least six weeks to procure the storage needed to
handle the data integration — and we want to go live when?!?!”
An anticipatory understanding about what is involved to release and support a product requires
early and regular engagement from those impacted.
WAYS TO BUILD TEAM ENGAGEMENTTo engage impacted teams, organizations are embracing one of two effective strategies:
1. Embedding operations and infrastructure talent into product development teams; or
2. Insisting that product teams take responsibility for the operation and support of the product.
In the first case, the level of trust and cooperation obtained from having a voice in the matter
increases quality and job satisfaction. In the second case, the accountability obtained from
servicing the product increases quality and autonomy. Either way, these changes to traditional
operational support methods put companies at an advantage where they can react and adapt
faster.
THE BOTTOM LINEIn order to prosper, grow, and increase cooperation and job satisfaction, we need alignment across
the organization. We need everyone rowing the boat in the same direction. Lean flow helps us
anticipate what’s headed our way and gives people a voice in the process. Empowered, engaged
accountability means organizational health is headed north.
1Source:
Hayes, Jim. (2014, December 3) How Much Budget Do I Need for Software Maintenance?
TAKE LEANKIT FOR A TEST DRIVE.Visualize the entire DevOps work stream with LeanKit, the only
lean-based enterprise platform that helps you deliver your unique
value to your customers faster. Start your free trial today.
SIGN UP FREE