[Case Study] Agile @gov.pl

Preview:

Citation preview

MATT HARASYMCZUK MattAgile.com

AGILE @gov.pl

2016-05-18

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

agility

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• Why *.gov.pl is trying to gain agility? • Projects Scale

• ~38.5 million people (38,483,957 as of 30 June 2014) • some systems are from 1985 -> 30 years ago!

*.gov.pl

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Matt @gov.pl

To Do In Progress Done

• pansa.pl • Joint Operations

• mf.gov.pl • arimr.gov.pl • polish-airports.com

• coi.gov.pl • mc.gov.pl • mswia.gov.pl • cepik.gov.pl • obywatel.gov.pl

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

coi.gov.pl

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

.gov in domain .com in action

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

.gov in domain .com in action

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

.gov in domain .com in action

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

.gov in domain .com in action

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

.gov in domain .com in action

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

.gov in domain .com in action

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

.gov in domain .com in action

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

The First Step

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

PEOPLE and interactions

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• Process cleanup • Scrum - New Features and Improvements • Kanban - Maintenance and Bugfixing • Prince 2 + Scrum + Kanban

• Business Analytics -> Product Owners • do not rename position act as Product Owner

HOW do I start?

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Documentation -> Backlog

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Value - Epic mapping

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Backlog Decomposition and Acceptance Criteria

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Scrum/Kanban Boards

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Daily

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

ONE week iterations!

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY

PLANNING 1h DAILY 15m DAILY 15m DAILY 15m DAILY 15m

REFINEMENT 1h

REVIEW 1h

RETROSPECTIVE 1h

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

ONE week iterations!

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY

REVIEW 1h DAILY 15m DAILY 15m DAILY 15m DAILY 15m

REFINEMENT 1h

PLANNING 1h

RETROSPECTIVE 1h

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

ONE week iterations!

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY

DAILY 15m DAILY 15m DAILY 15m DAILY 15m DAILY 15m

REVIEW 1h

RETROSPECTIVE 1h

REFINEMENT 1h

PLANNING 1h

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

CONTINUOUS Backlog Refinement

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY

REVIEW 15 min

DAILY 5 min DAILY 5 min DAILY 5 min DAILY 5 min

RETROSPECTIVE 30 min

PLANNING 15 min

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

SCRUM of Scrums (part 1)

PO

SM

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

SCRUM of Scrums (part 1)

PO

SM

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

DEPARTMENT Oriented Organization

Business QA DEV UX Infra

Project A

Project B

Project C

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

PROJECT Oriented Structure

Business QA DEV UX Infra

Project A

Project B

Project C

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

PROJECT Oriented Structure

Business QA DEV UX Infra

Project A

Project B

Project C

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Metrics

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Andon - Process Dashboard

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Development Tools ECOSYSTEM

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

CONTINUOUS Integration and Delivery

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

GIT Flow

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• master • develop • release/1.5 • feature/ID-1337-short-summary • bugfix/ID-1337-short-summary • commit message: "ID-1337 short summary"

Naming CONVENTIONS

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Processes

• Change Management

• Build Process

• Release Management

• Incident Management

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Test Automation

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• Internal • External

• Intranet

Ecosystem

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• Knowledge base created by everyone • Infrastructure as a code - provisioning • Evolutionary Design (part 1 - unconscious) • Polyglot persistance • Polyglot programming

PROCESSES and Tools

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• https://github.com/coi-gov-pl

Open Source!

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Then…

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Sprint Goal

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

PORTFOLIO

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Release and Value Stream => Roadmap

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

QUALITY Evangelists

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

COMMUNITY Engagement

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• Processes ChM, IM, RM, SLA • Trust not control based organization • Agile at Scale, requires Trust at Scale 

• Environment for secure experiments

People and INTERACTIONS

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• API (stable, REST, versioned, JSON, HTTP Statuses) • Frontend and Backend separation • Release and Continuous Deployment

Tools

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• Joint Operations

gov.pl

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• Scrum rejection and come back • Slow changes before initial production release • Need for more quality awareness • Procurement process slows you down • Transparent Retrospective failure

Problems

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

And then…

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• Retrospectives done right • Team constitution and continuous improvement • Feedback Culture and Transparent Retrospective • Learning Organization

People

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• Autonomous teams • Agenda on each meeting • DoD - Definition of Done - organization level

Interactions

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• MVP - Minimum Viable Product • Build - Measure - Learn • BDD - Behavior Driven Tests • TDD - Test Driven Development • Pair Programming • Evolutionary Design (part 2 - conscious)

Processes

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• Mutatory Testing • Microservice Architecture • Feature Flags and Toggles • Release Trains • Cloud, Virtualization, Containers • Distributed Logging and Heartbeat

Tools

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

SCRUM of Scrums (full scale)

PO

SM

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

SCRUM of Scrums (full scale)

PO

SM

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

SCRUM of Scrums (full scale)

PO

SM

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

SCRUM of Scrums (full scale)

PO

SM

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

PROJECT Oriented Structure

Business QA DEV UX Infra

Project A

Project B

Project C

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

PROJECT Oriented Structure

Business QA DEV UX Infra

Project A

Project B

Project C

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

PROJECT Oriented Organization

Business QA DEV UX Infra

Project A

Project B

Project C

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• Open Data

gov.pl

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• Audit • What’s in it for citizens? • Is it worth it?

• They have achieved the goal…deliver 5 year project in 2 years!in a .gov environment

Afterwords

Matt HarasymczukMatt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

• Agile is not a destination, it’s a direction • Coach and Change Leaders - with passion for change • Management - trust and no fear of change • Agile > Scrum, but stay Scrum as much as you can • if Prince 2 then not Scrum and Kanban • Evolution not Revolution

RECEIPT

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Search YouTube for Spotify Engineering Culture

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

agility

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337

Recap

To Do In Progress Done

People and Interactions

• Retrospective • Autonomous • Scrum of Scrums • DoD

• Community • Quality Keepers • Retrospective • Scrum + Kanban

• Teams (multidisciplinary) • Iterations • Product Owners • Backlog • Acceptance Criteria • Value - Epic mapping

Processes and Tools

• BDD, TDD • Pair Programming • Microservices, Docker • Feature Flags

• Portfolio • Roadmap • API (Frontend, Backend) • Release

• CI/CD, GIT Flow, Vagrant • Code Review • Ecosystem • Quality

Organization• Project oriented organization • Cross-functional teams • Lean Startup

• Joint Operations • Knowledge Base • Organization Structure (part 1)

MATT HARASYMCZUK MattAgile.com

MATTAgile.com

Matt Harasymczuk - @MattAgile - MattAgile.com - +48 7332 31337