Top Banner
HOW TO KEEP CALM AND SHIP IT
46

How to keep calm and ship it (Juozas Kaziukėnas)

Jul 28, 2015

Download

Software

Future Insights
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: How to keep calm and ship it (Juozas Kaziukėnas)

HOW TO KEEP CALM AND SHIP IT

Page 2: How to keep calm and ship it (Juozas Kaziukėnas)

hellomy name is

@JUOKAZ

Page 3: How to keep calm and ship it (Juozas Kaziukėnas)
Page 4: How to keep calm and ship it (Juozas Kaziukėnas)

IF SOMETHING BIG HAPPENS, HOW QUICKLY CAN YOU

REACT?

Page 5: How to keep calm and ship it (Juozas Kaziukėnas)

MVP

Page 6: How to keep calm and ship it (Juozas Kaziukėnas)

WHY DOES THIS MATTER?

Page 7: How to keep calm and ship it (Juozas Kaziukėnas)

ANY DAY NOT IN PRODUCTION IS LOST

POTENTIAL

Page 8: How to keep calm and ship it (Juozas Kaziukėnas)

HOW TO GO FROM AN IDEA TO IMPLEMENTATION IN DAYS

Page 9: How to keep calm and ship it (Juozas Kaziukėnas)

MOVE FAST AND BREAK THINGS- Mark Zuckerberg, Facebook

Page 10: How to keep calm and ship it (Juozas Kaziukėnas)

REQUIREMENTS

Page 11: How to keep calm and ship it (Juozas Kaziukėnas)

UNCLEAR ORIGINAL SPECIFICATIONS

Page 12: How to keep calm and ship it (Juozas Kaziukėnas)
Page 13: How to keep calm and ship it (Juozas Kaziukėnas)

CYCLES OF CHANGES AND TESTING

Page 14: How to keep calm and ship it (Juozas Kaziukėnas)

    LACK OF UNDERSTANDING WHY KILLS PROJECTS

Page 15: How to keep calm and ship it (Juozas Kaziukėnas)

“YOU SHOULD ADD A BUTTON/CHECKBOX” 

Page 16: How to keep calm and ship it (Juozas Kaziukėnas)

IMPACT MAPPINGhttp://www.impactmapping.org/

Page 17: How to keep calm and ship it (Juozas Kaziukėnas)

1. why are we doing this

2. who is affected by this

3. how should the behavior change

4. what can we do as an organization

Page 18: How to keep calm and ship it (Juozas Kaziukėnas)

ALWAYS HAVE A PLAN

Page 19: How to keep calm and ship it (Juozas Kaziukėnas)

IDENTIFY WHAT YOU CANNOT BREAK

Page 20: How to keep calm and ship it (Juozas Kaziukėnas)

FEATURE-CREEP KILLS PROJECTS

Page 21: How to keep calm and ship it (Juozas Kaziukėnas)

AGILE?

Page 22: How to keep calm and ship it (Juozas Kaziukėnas)

IF IT'S HARD, CUT SCOPE- Wiggins' Law

Page 23: How to keep calm and ship it (Juozas Kaziukėnas)

PROTOTYPING

Page 24: How to keep calm and ship it (Juozas Kaziukėnas)

FAMILIAR TOOLSET

Page 25: How to keep calm and ship it (Juozas Kaziukėnas)

TOOLBOX

• Bootstrap for all frontend work

• Web framework of choice

• Database of choice

• ect.

Page 26: How to keep calm and ship it (Juozas Kaziukėnas)

FLASK-SKELETONhttps://github.com/juokaz/flask-skeleton

Page 27: How to keep calm and ship it (Juozas Kaziukėnas)

BUILD DELIVERABLE PRODUCTS

Page 28: How to keep calm and ship it (Juozas Kaziukėnas)

EVERY SUB-FEATURE SHOULD WORK

Page 29: How to keep calm and ship it (Juozas Kaziukėnas)

“WE CAN ALWAYS FIX IT LATER”

Page 30: How to keep calm and ship it (Juozas Kaziukėnas)

PRETTY APPS > WORKING APPS

Page 31: How to keep calm and ship it (Juozas Kaziukėnas)

FAKE/HACK IRRELEVANT PARTS

Page 32: How to keep calm and ship it (Juozas Kaziukėnas)

CONTINUOUS DELIVERY

Page 33: How to keep calm and ship it (Juozas Kaziukėnas)

12-FACTOR APPhttp://12factor.net/

Page 34: How to keep calm and ship it (Juozas Kaziukėnas)

1. Codebase - One codebase tracked in revision control

2. Dependencies - Explicitly declare and isolate dependencies

3. Config - Store config in the environment

4. Backing Services - Treat backing services as attached resources

5. Build, release, run - Strictly separate build and run stages

6. Processes - Execute the app as one or more stateless processes

7. Port binding - Export services via port binding

8. Concurrency - Scale out via the process model

9. Disposability - Maximize robustness with fast startup and graceful shutdown

10. Dev/prod parity - Keep development, staging, and production as similar as possible

11. Logs - Treat logs as event streams

12. Admin processes - Run admin/management tasks as one-off processes

12-FACTOR APP

Page 35: How to keep calm and ship it (Juozas Kaziukėnas)

TDD?

Page 36: How to keep calm and ship it (Juozas Kaziukėnas)

VERIFICATION

Page 37: How to keep calm and ship it (Juozas Kaziukėnas)

DOCKERhttp://docker.com/

Page 38: How to keep calm and ship it (Juozas Kaziukėnas)

CHECKLIST

• Push to master

• Build a Docker container containing the app

• Runs tests, code formatting checks, database migrations validation

• If all is ok, the Docker container is a stable build

• Then deploy to staging and/or production

Page 39: How to keep calm and ship it (Juozas Kaziukėnas)

FEEDBACK LOOP

Page 40: How to keep calm and ship it (Juozas Kaziukėnas)

DEVELOPERS ROLE

• Owners of a project/feature/system

• Responsible for fixing if it’s broken

• Slack operations room

Page 41: How to keep calm and ship it (Juozas Kaziukėnas)

METRICS

Page 42: How to keep calm and ship it (Juozas Kaziukėnas)

STATSD/GRAPHITEhttps://github.com/etsy/statsd

Page 43: How to keep calm and ship it (Juozas Kaziukėnas)

“NO ONE NOTICES A WEBSITE BROKEN FOR 2 MINUTES”

Page 44: How to keep calm and ship it (Juozas Kaziukėnas)

USERS

Page 45: How to keep calm and ship it (Juozas Kaziukėnas)

IN SHORT

• Collect requirements and make a TODO list even for small projects

• Prototype using familiar tools and frameworks

• Continuos delivery

• Feedback loop

Page 46: How to keep calm and ship it (Juozas Kaziukėnas)

THANKS!Juozas Kaziukėnas

@juokaz