KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · KANBAN FOR DEVOPS 3 Reasons Why IT Ops...

14
3 Reasons Why IT Ops Uses Lean Flow BY DOMINICA DEGRANDIS KANBAN FOR DEVOPS From your friends at LeanKit

Transcript of KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · KANBAN FOR DEVOPS 3 Reasons Why IT Ops...

Page 1: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

3 Reasons Why IT Ops Uses Lean FlowBY DOMINICA DEGRANDIS

KANBAN FOR DEVOPS

From your friends at LeanKit

Page 2: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

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

Page 3: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

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

Page 4: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

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

Page 5: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

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.

Page 6: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

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

Page 7: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

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.

Page 8: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

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.

Page 9: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

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.

Page 10: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

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

Page 11: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

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.

Page 12: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

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.

Page 13: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

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

Page 14: KANBAN FOR DEVOPS 3 Reasons Why IT Ops Uses Lean Flow · 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 ...

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