Cut me

Some

Slack

Morgan KOBEISSI

Best of Web Paris

June 2018

bestofwebconf 

mc_moe

@

The road to continuous

learning and improvement

sli.do  >> #slack

@

Business Intelligence

Full Stack Dev

Coach

Context

  • practicing Scrum or the like?

  • struggling to stay above water to meet demands?

  • overcommitting in your iterations?

  • committing to your velocity but not delivering?

  • facing inconsistent velocity between iterations?

  • feeling your agility is fragile?

  • frustrated there's no time to learn new things?

Are you in a situation where you are:

We will answer the Q:

How can we continuously learn and improve in an agile context while maintaining consistent delivery, long term health, happiness and productivity?

Why does it matter?

Change is inevitable

"those that cannot respond to change are at a risk of being left behind."

Organisational Slack

"the degree of freedom in a company that allows it to change."

An organization that can accelerate but not change direction...

short run

 ...lot of progress...

long run - curves!

must be agile

what is agile?

"The ability to create and respond to change in order to succeed in an uncertain and turbulent environment."

the agile manifesto

Welcome changing reqs, even late in development...

Build projects around motivated individuals...

Agile processes promote sustainable development...

"is only partly expressed in getting something done"

"the other part of the goal is that we learn, grow and enjoy ourselves along the way."

The Goal

source: https://good.co/blog/workplace-happiness/

source: https://good.co/blog/workplace-happiness/

Game of Fifteen

Efficient use of space

Efficiency has a Cost

It’s possible to make an organization more efficient without making it better. 

Sub

Optimization

Introduce Slack

Make an organization a little less efficient and improve it enormously. 

Introduce Slack

Allow the organization to breathe, to reinvent itself, and to make necessary change.

Slack is an Investment

It is capacity sacrificed in the interests of long-term health

Lack of Slack

We Slackin'

Great!

But How?!

Reduce Stress

Capacity for Change (agility)

Key personnel retention

Improved ability to invest

Prereq

iteration / velocity / tech debt

https://www.agilealliance.org/glossary/iteration

https://www.agilealliance.org/glossary/velocity

https://martinfowler.com/bliki/TechnicalDebt.html

Iteration

"A timebox during which development takes place"

Velocity

"total estimates of work completed during an iteration"

1

3

5

8

13

Technical Debt

Reckless

Careful

"we don't have

time for design"

"we must ship now and deal with consequences"

"What's Layering?"

"now we know how we should have done it"

Deliberate

Unintended

source (martin fowler)

Tech Debt Quadrant

Slack as a Stabilizer

If your velocity bounces

commit to less!

Velocity Stabilizer

Use the slack time

for non critical work

Work you can set aside in case of an emergency

Technical Debt

Even the best teams accumulate it

(T)echnical (D)ebt

Examples of TD

dependency versions

recurrent manual tasks

static code analysis

variable names

When?

All the time!

Suggestion: Make TD visible

Let's tackle TD!

Like...

 * automate all the things!

* refactor

* exploratory testing
* static code analysis warnings

Research Time

Programmers must continuously improve their skills

Learn

Widen range

Share

Apply

When?

* morning might be better

* hands-off, your choice

* half a day for each

* day before end of sprint

* focus - no distractions!

* team lunch - share findings

Read or listen!

* Clean code

* Effective java

* TDD By Example

* Design Patterns

* Eloquent javascript

* Soft Skills

* Agile Retropectives

Plus!

* Watch videos

* MOOCs - coursera, edx, ...

In case of Emergency

CI failing?
 Production issue?
Change of scope?
 Underestimated story?
 Developer sick?
 Tests failing "randomly"?

Slack as a Shock Absorber

Smooth iteration? refactor

Behind schedule? don't

A buffer to meet commitment

BTW: Always refactor new code!

Big Problem?

Cancel Research Time

Too big?!

Out of Slack scope...

Slack as a Shock Absorber

Pitfalls!

Always cancelling Slack?

If you consistently use most of your slack, you’ve overcommited.

Results

You consistently meet your iteration commitments.

Results

You rarely need overtime.

Results

In addition, by spending so much time paying down technical debt…

Results

   Your code steadily improves

and makes further enhancements easier.

   increasing your productivity

Results

Research increases knowledge

that helps you develop more effectively

and provides insights

Invest in Slack!

Invest in your organization's

long term health

References

by James Shore and Shane Warden

 

References

by Tom Demarco

Thank you

☺︎

@

Slack

By mcmoe

Slack

Best of Web edition of slack talk at http://slid.es/mcmoe/slack-bestofweb-2018/

  • 3,171