4Developers 2015: Agile Software Engineering Practices that Helps Deliver Business Values - Matt...

77
AGILE Software Engineering Practices that Helps Deliver Business Values MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015 MATT HARASYMCZUK MATTAGILE.com @MATTAGILE #careercon MATTAGILE.com @MATTAGILE #careercon MATT HARASYMCZUK - MattAgile.com

Transcript of 4Developers 2015: Agile Software Engineering Practices that Helps Deliver Business Values - Matt...

AGILE Software Engineering Practices that Helps Deliver Business Values

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATT HARASYMCZUK

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

PLAN

MATT HARASYMCZUK - MattAgile.com

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY

PLANNING1h

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

REFINEMENT2h

REVIEW1h

RETROSPECTIVE1h

MATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

• MVP - Minimum Viable Product• ROI• Sprint Cost• Test your hypothesis

Lean Startup

MATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

Organizations which design systems are constrained

to produce designs which are copies of the

communication structures of these organizations

Conway’s Law

MATTAGILE.com @MATTAGILE #careercon

Backlog DECOMPOSITION

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

ACCEPTANCE criteria

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

XP: Clean Code in your Stories, BDD

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

Feedforward NOT Feedback

MATT HARASYMCZUK - MattAgile.com

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY

PLANNING1h

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

REFINEMENT2h

REVIEW1h

RETROSPECTIVE1h

MATTAGILE.com @MATTAGILE #careercon

TDD: Test Driven Development

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

GIT Flow

MATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careercon

master

MATT HARASYMCZUK - MattAgile.com

develop

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

release

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

feature/ID-1337-short-summary

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

bugfix/ID-1337-short-summary

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

"ID-1337 short summary"

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

DO

MATT HARASYMCZUK - MattAgile.com

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY

PLANNING1h

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

REFINEMENT2h

REVIEW1h

RETROSPECTIVE1h

MATTAGILE.com @MATTAGILE #careercon

Developer Tools ECOSYSTEM

MATT HARASYMCZUK - MattAgile.com

JRebel

MATTAGILE.com @MATTAGILE #careercon

DevOps: Continuous Integration and Delivery

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

PREPARE

MATT HARASYMCZUK - MattAgile.com

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY

PLANNING1h

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

REFINEMENT2h

REVIEW1h

RETROSPECTIVE1h

MATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

• Mutatory Testing• Microservice Architecture• Feature Flags and Toggles• Release Trains• Vagrant, Docker, Mesos

Tools

MATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

• API (REST, versioning, JSON)• Swagger

Frontend and Backend separation

MATTAGILE.com @MATTAGILE #careercon

CHECK

MATT HARASYMCZUK - MattAgile.com

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY

PLANNING1h

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

REFINEMENT2h

REVIEW1h

RETROSPECTIVE1h

MATTAGILE.com @MATTAGILE #careercon

XP: Code Review, Pair Programming

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

Sputnik

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

REFACTORING - Boy Scout Rule

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

Test Automation

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

100% Coverage doesn’t work…

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

Frequent RELEASES

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

Agile SHOW

MATT HARASYMCZUK - MattAgile.com

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY

PLANNING1h

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

REFINEMENT2h

REVIEW1h

RETROSPECTIVE1h

MATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

• Lower "time to market"• Increase "value to market"• Increase "quality to market"• Increase flexibility• Increase visibility• Lower costs• Increase product lifetime

Business VALUES orientation

MATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

• Test-driven Development• Evolutionary Design

• Refactoring• CI / CD

• Test-driven Requirements• Functional Tests• BDD

Lower TIME TO MARKET

MATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

• Test-driven Requirements• Functional Tests• BDD

Increase VALUE TO MARKET

MATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

• Test-driven Development• Test-first and Test-last

• Test-driven Requirements• BDD

• Evolutionary design• Refactoring• Simple Design• CI / CD

Increase QUALITY TO MARKET

MATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

• Evolutionary Design• Refactoring• Simple Design• CI / CD

• Test-driven Development• Test-first and Test-last

• Test-driven Requirements

Increase FLEXIBILITY

MATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

• Test-driven Requirements• Functional Tests• BDD• CI / CD

Increase VISIBILITY

MATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

• Evolutionary design• Simple Design• Refactoring• Collective Code Ownership

• Test-driven Development• Test-last and Test-first• Functional Tests

Lower COST

MATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

• Test-Driven Development• Automated Developer Tests

• Evolutionary Design• Refactoring• Simple Design

• Test-driven Requirements• Functional Tests

Increase PRODUCT LIFETIME

MATTAGILE.com @MATTAGILE #careercon

ACT

MATT HARASYMCZUK - MattAgile.com

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY

PLANNING1h

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

REFINEMENT2h

REVIEW1h

RETROSPECTIVE1h

MATTAGILE.com @MATTAGILE #careercon

Quality Evangelist

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

LEARNING organization

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

Search YouTube for Spotify engineering CULTURE

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careercon

Evolution NOT revolution

MATT HARASYMCZUK - MattAgile.com

MATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com

• Scrum, Lean, Kanban as a communication framework• Software Development practices• Quality• Evolution not revolution

RECAP

@MATTAgile

MATT HARASYMCZUK / AGILE Software Engineering / APR 20, 2015

MATT Harasymczuk

MATTAGILE.com @MATTAGILE #careerconMATTAGILE.com @MATTAGILE #careerconMATT HARASYMCZUK - MattAgile.com