25
Scaling Agile Kanban Sandwich for Lunch? Patterns Anyone? Software Engineering

Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Embed Size (px)

Citation preview

Page 1: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Scaling AgileKanban Sandwich for Lunch?

Patterns Anyone?

Software Engineering

Page 2: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Scaling Agile – Recipes, Patterns…• Despite the provocative title slide –

this presentation does not include a recipe for a lettuce, tomato, bacon & artisan cheddar on sourdough roll. Sorry.

• And if you think agile methodology is a black & white subject – never changing, small team strategy for software development (period) then..

• If either of the above describes you: • I could just say, “move on.” • But really – even though this subject is

a dive into the deeper end of the agile pool, I encourage you to stick with us. There are some interesting ideas, and the water is fine.

Credit: Simply Scratch

Page 3: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Kanban Sandwich?• A lead in to a deeper

discussion of alternatives to big bang projects & project portfolios in lean/agile organizations• We’ve mentioned the

kanban sandwich pattern before• After bringing it up – we

realized there was a lot more that could be covered in the context of scaling agile

Page 4: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Tried & True Tricks: Patterns, Practices, & Frameworks• Pattern: a process or practice

based on a methodology, used to meet certain challenges. • Pattern Books: Curated patterns

managed by groups of practitioners or organizations• Examples: agile patterns &

scrum patterns• Anti-Patterns: Bad or poor

practices that others have identified and you want to avoid• Example: DevOps

Credit: Gartner Blog Network

Page 5: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Tried & True Tricks: Patterns, Practices, & Frameworks• If you have adopted a methodology

or are in the process of implementation – you’re probably aware of the communities and patterns that support it

• But if you are just beginning on that path – whether your organization is large, small or startup, these are resources you should consider leveraging

• As providers of software engineering teams – we use patterns as reference points for working through issues in projects and to bring teams together around solutions

Page 6: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Tried & True Tricks: Patterns, Practices, & Frameworks• As patterns around a

methodology become richer and more formalized, curators begin to identify frameworks of patterns that enable organizations to use them effectively• Examples:

Disciplined Agile Framework – an organizational structure used to support organizations in DevOps implementations and using continuous delivery patterns

Page 7: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Tried & True Tricks: Patterns, Practices, & Frameworks• When pattern books &

communities of practice identify standard practices – they begin to evangelize & certify practitioners• Lean/Agile example: SAFe• Certifying organization:

Scaled Agile

Page 8: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Why Should We Care?• When we (or you) hear

about a “cool idea” that we might want to adopt (like that kanban sandwich) – we should ask:• Is there a body of practice

and practitioners who have made it simple & repeatable? • Is there a larger context

we should be aware of to make this idea more successful?

Page 9: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Why Should We Care? • In this case – there

certainly is• The

Digital Agile Consortium puts the ”sandwich” in the context of an organization that practices agile & lean concepts at the organizational level

Page 10: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Why Should We Care? • Traditional Projects (and

not just software projects) • Bite off big problems with

”transformational” solutions• Strategy: Attack really big,

nasty problem head-on with an entirely new set of solutions in one neatly wrapped package“Let’s solve all our

problems in one big bang and start fresh!”

Page 11: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Why Should We Care? • Startups often fall into

the same trap for “transformational ideas” behind their business models, services and applications

“Let’s solve all our their problems in one big

bang and start fresh!”

Page 12: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

You Can Call This an “Anti-Pattern”• Problems with traditional

projects:• Traditional projects are

proposed based on ROI. • It can take months or years

to validate and usually a lot of magic to prove that the projected ROI was achieved.

• People who have ”been there and done that” simply don’t want to go there again.

Page 13: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

You Can Call This an “Anti-Pattern”• Problems with traditional

projects:• The actual strategy appears

when stakeholders move on before ROI is validated (or project is finished) • Really big project runs up

against unexpected problems (Often) and takes longer than planned

• Project stops short of its goals• Project reaches end only to

find that the goal posts have moved

Page 14: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

You Can Call This an “Anti-Pattern”• Problems with traditional

projects:• When people do go along

with a really big project – they often do so with the knowledge the goals will never be reached – but they won’t be there to see it regardless…

Page 15: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

The Agile/Lean Project Portfolio Pattern• Realization that this is a bad pattern to adopt if you

want to be successful has led to many lean, agile and Lean Startup methodologies• Capitalizing on agile methodology to bring incremental and

continuous change to the organizational level and help them reach strategic goals

• The pattern (as opposed to the anti-pattern) is to recognize the “really big problem” or “pain” (in the case of product-based companies) but avoid trying to solve it with an equally big project!

Page 16: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

The Agile/Lean Project Portfolio Pattern• If the problem is large and strategic, capitalize on incremental and

continuous change in a flexible framework to reach your goals• Recognize the really big problem• Break the solution down into smaller, achievable projects and prioritize

them by the impact they will have and the time it will take to develop the solution (this becomes your portfolio)• If the impact is high, but the time to complete is too long – look for ways to break the

solution into yet smaller projects (as you would with agile epics) and prioritize those• Recognize that as you burn down through projects, your goals and

priorities will change continuously• So – you need a way to pick your battles (projects), capitalize on your

wins and reassess your goals – continuously

Page 17: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Portf0lio Management: The Kanban Sandwich

• Kanban is a methodology adapted from Toyota just-in-time and demand-driven manufacturing systems• In knowledge work it

has evolved to aid decision making concerning what work to take on, when to execute, and how much to attempt at one time

Page 18: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Portf0lio Management: The Kanban Sandwich

• At the portfolio level the active project queue is controlled by the size of the resource pool able to take on new tasks • With the limit, the portfolio is

constantly managed and prioritized to provide a queue of relatively short and high impact projects that the resource pool can self-organize to pick from and work on

Page 19: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Portf0lio Management: The Kanban Sandwich

• In software development, Open Kanban is often used• Based on a set of principles that emphasize constant,

collaborative improvement & feedback:1. Visualize the workflow – You cannot improve what you

cannot see. Knowledge needs a way to show progress – Kanban board

2. Lead using a team approach3. Reduce the batch size of your efforts4. Learn and improve continu0usly

Page 20: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Portf0lio Management: The Kanban Sandwich

• Applying Open Kanban back to the problem of managing projects in the portfolio, we can see how the kanban sandwich works in practice:

1. Limit the number of projects in the pipeline based on the size of the resource pool. Always have work available but not more than the pool can self-organize to accomplish

2. Limit the size of the projects by the time it takes the resource pool to accomplish them. If the time gets too long, lower the size and complexity of projects in the pool until a repeatable unit is achieved

3. Prioritize projects based on the impact they will have and the time they are assumed to require. Allow teams to select projects based on the the skills and resources they have available at any given time

4. Constantly reassess the portfolio based on feedback from stakeholders and development teams to assure projects continue to provide value with a reasonable expenditure of time and effort.

Page 21: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Portf0lio Management: The Kanban Sandwich

• When a project team comes together and selects a project from the kanban queue they use scrum within the project to organize the product backlog and sprints to organize task backlogs• The project team is a small,

cross functional group in constant collaboration with the product owner and key stakeholders

Page 22: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Portf0lio Management: The Kanban Sandwich

• \After the initial release is pushed into production the work of continuous improvement and maintenance is managed again by kanban – • In this case by managing the

feature portfolio and fixes with feedback, task sizing and prioritization coming from the user base, stakeholders and product management

Page 23: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Bottom Line• This might seem like a long discussion for a relatively simple

concept to manage project work and drive successful achievement within an organization – but there is a lot going on in the field of agile/lean methodology right now• Competitive organizations & methodologies, open and flexible

approaches and the promise of better outcomes for strategic initiatives • From the perspective of a company providing outsourced

software engineering teams, it is important and exciting but we understand we cannot simply impose “our way” on our clients• The landscape is full of different roads to worthy goals.• As a service, our customers depend on us to assess their situation and

find solutions that will be successful in their context – and not just technically

Page 24: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

Bottom Line• If your organization is considering outsourcing a

software development project• Give some thought to how that project fits within your

organization, its culture and values• Would you better to consider a portfolio approach rather

than a single large project over months or longer? • If you take on a portfolio approach and you want to

outsource your software development, can you select a vendor with a partner point of view that can provide a team that fits your needs flexibly over the long run?

Page 25: Scaling Agile: Kanban sandwich for lunch? Patterns anyone?

We’re Scio• We provide nearshore, outsourced

software engineering teams to our clients in North America

• Our teams have a wide range of skills and experience in technology and lean/agile methodologies

• We partner with our clients to provide a flexible and scalable pool of skills that can take on your needs over the long run

• If that sounds like it might be a fit for your organization – Contact Us