An introduction to
Agile & Devops

-

Nalys Java Graduate Program

Hi !

How about you ?

Rules for today :

Hints, preview, incentives
Genuinely subjective
Questions & debates welcomed !
Today is about approaches and ways of thinking

Planning

  • Morning : Agile
  • Afternoon : DevOps
  • Evening : Beers

Agile

Waterfall model

initialization
Analysis
Design
Construction
Testing
Deployment
Maintenance

The Agile infrastructure

BUSINESS
AGILE
DEVELOPMENT

Agile ?

Change from traditional project management (Waterfall, V cycle...)
Change from "Project management" to "Product management"
Team Oriented
Specifications "on the fly"

From Brussels To Moscow ...

  • Plan the trip as precisely as possible
  • You need to plan and anticipate everything :
    • Each town you go through
    • When you reach each step
    • How many kilometers

Iterations

  • Chop work in small pieces
  • Conceive
  • Document
  • Realize
  • Test

Work, event if "incomplete", is functional and can be shown to client

From Brussels To Moscow ... Agile !

  • Plan a 1 day trip knowing that you aim to go to Moscow
  • You need to plan and anticipate everything :
    • Each town you go through
    • When you reach each step
    • How many kilometers

Why iterations

  • Scope and time boxing
  • Why time boxing : deadlines
  • Why deadlines : we are better under pressure

Benefits of iterations

  • Early visibility on work done
  • Positive communication
  • Feedback loop
  • More transparency
  • More collaboration
  • Better TTM

A bit of history

Quick origins

"Child" of lean
First iterative development : 1986
First Scrum usage : 1993
Agile Manifesto : 2001
http://agilemanifesto.org/

The 4 Core values of agile

Good Better
Process Individuals & Interactions
Documentation Working Software
Contract negotiation Client Relationship
Plan follow-up Change adaptation

Scrum

Why Scrum ?

Most used method/framework
Field proven
Documented (books, blogs, trainings ...)

Roles definition

  • Dev Team
  • Product Owner
  • Scrum Master

Ceremonies

  • Sprint planning
  • Sprint review
  • Sprint restrospective
  • Daily meeting
  • (Grooming)

The process

Measure progress

  • Team motivation
  • Client feedback and transparency
  • Risks preview

What about contractualisation?

Other tools

Kanban

Kanban

  • Just in time method
  • Based on 4 core principles
  • Uses 6 core practices

eXtreme Programming (XP)

eXtreme Programming (XP)

XP : Core Values

  • Code Review : Pair Programming
  • Test Driven Development
  • Constant refactoring
  • Keep It Simple And Stupid
  • Use metaphores to define system
  • Small Iterations (~ 1 week)

A word on SAFe

Pair Programming

  • Not 1 coding / 1 watching
  • Quality
  • Productovity
  • Communication
  • Learning

TDD - Test Driven Development

  • 1. Write test that fails
  • 2. Code functionnality to answer test
  • 3. Test is good !
  • 4. Refactor
  • 5. Test is still good !

Refactoring

  • 1. It works ! (and is tested)
  • 2. Let's refine it :
    • Quality
    • Algorithmic
    • Simplicity
    • Clarity
  • 3. Tests are still ok !

The 5 whys

  • Problem resolution method
  • Identify Root causes
  • Fix real issues causing problems

TL;DL in 4 points

1. YOU are in the center

2. there is always things to learn

3. It is a way of thinking

4. It is ok to fail

5. Embrace CHANGE

“It is not the strongest of the species that survives,
not the most intelligent that survives.
It is the one that is the most adaptable to change.”

Charles Darwin

Questions ?

Break time 10/15 min

PIZZA !

Pizza Kanban

  • Start with what you do (k)now — regardless of how ugly it is
  • Respect the current process — roles, responsibilities & titles
  • Leadership at all levels
  • Agree to pursue incremental, evolutionary change
Kanban is NOT a process!

It’s a change management method:
something you DO to a process.

Start where you are

  • Nalys Pizzeria
  • Produce as many sclices as you can
  • Iterations are NOT fixed

The ideal pizza

  • Nice base with tomato
  • 3 ham pieces (Pink post-it)
  • 3 pineapple pieces (Yellow Post-it)
  • Toppings needs to be glued !
  • Oven : 30 secs / no changes when On
  • 3 slices max in the oven

Go !

Round 1 review

  • Leftovers :
    • Pizza base = -4 points
    • topping = -1 point
  • Finished slice = +10 points

6 core values

  • Visualize the workflow
  • Limit work in process (WIP)
  • Make process policies explicit
  • Measure & optimize flow
  • Implement feedback loops
  • Improve collaboratively, improve experimentally

Plan Round 2

  • Visualize the workflow
  • Limit work in process (WIP)
  • Make process policies explicit

Go !

Round 2 review

  • Leftovers :
    • Pizza base = -4 points
    • topping = -1 point
  • Finished slice = +10 points

New ! "Pizza Rucola" !

  • Slim green Post-it : Rocket Salad
  • 7 leaves per slice
WARNING : Rucola burns in the oven ! It must be placed after baking.

New ! We take orders !

  • Points are given only for fully delivered orders
  • Orders picked from central location & delivered to another central location
  • Mark the "mm:ss" timestamps!

Go !

Round 3 review

  • Leftovers :
    • Pizza base = -4 points
    • topping = -1 point
  • Finished slice = +10 points

Plan Round 4

  • Apply lessons from previous rounds
  • Improve processes

Round 4 review

  • Leftovers :
    • Pizza base = -4 points
    • topping = -1 point
  • Finished slice = +10 points

Draw you own Kanban !

  • Look back to the game
  • Draw the flow including WIP limits
  • Use your materials to make it look nice !

Agile sources

Lunch Break!

DEVOPS

DevOps is unique to everyone who practices it

Quick history

  • From agility to "Agile Infrastructure"
  • DevOps" - Patrick Debois, 2009 ( jedi.be )
  • Old concepts New Trend

The Agile infrastructure

BUSINESS
AGILE
DEVELOPMENT
DEVOPS
OPERATIONS

A story about Devs and Ops

DEVELOPER

WALL OF CONFUSION

OPERATIONAL

I want change !

I want stability !

CATCH !

WHAT ?

A problem occuring between devs and ops might find it's solution elsewhere

What DevOps is about

  • Solve business problems
  • Break silos
  • Involve everyone
  • Deliver faster, collaborate faster

What it is not

  • Removing Ops
  • Just Tools
  • Just Culture
  • Just Devs and Ops
  • A full job title

Benefits of DevOps

  • Teamwork
  • More agility
  • Increased quality
  • Reduced frustration
  • Reduced Time To Market

How ?

  • Change culture
  • Unify processes
  • Unify tooling

SGA

  • Don't waterfall DevOps !
  • Go iterative
  • Measure team success
  • People and culture first, tools second

Tools

A lot of magic keywords

The toolchain

  • Feature branching
  • Code review
  • version control
  • merge ...
  • Manage change
  • Validate
  • Automate
  • Manage infrastructure
  • Infrastructure As Code
CREATE VERIFY PACKAGE RELEASE CONFIGURE MONITOR
  • Functionnal
  • Performance
  • Articfacts storage
  • Staging
  • Performance & availability
  • Functionnal
  • End user

A flow example

CREATE VERIFY PACKAGE RELEASE CONFIGURE MONITOR

TL;DL in 5 points

1. Break Silos

2. Go iterative

3. Measure progress

4. It is ok to fail

5. DevOps is unique to your project

DevOps sources