+ All Categories
Home > Internet > Developing in Public

Developing in Public

Date post: 08-May-2015
Category:
Upload: future-insights
View: 205 times
Download: 0 times
Share this document with a friend
Description:
Daniel Hengeveld's talk from Future Insights Live 2014 in Las Vegas: "When we work on software with others, we expect that our collaborators will share their *code* in a way that makes it easy to see what they’ve been working on. We should have the same expectation for all the *other* artifacts of software development." Miss his talk? Join us at a future show: www.futureofwebapps.com. Sign up for our newsletter at futureinsights.com and get 15% off your next conference.
65
DEVELOPING IN PUBLIC
Transcript
Page 1: Developing in Public

DEVELOPING IN PUBLIC

Page 2: Developing in Public
Page 3: Developing in Public

STORY TIME

Page 4: Developing in Public
Page 5: Developing in Public
Page 6: Developing in Public

▸ navigation team couldn't drive▸ system engineering checks were weak▸ informal communication channels

Page 7: Developing in Public

some communications channels among project engineering groups were too informal

Page 8: Developing in Public

too informal

Page 9: Developing in Public
Page 10: Developing in Public

NOT A SOFTWARE PROBLEM?

Page 11: Developing in Public

A HUMAN PROBLEM

Page 12: Developing in Public

HOW CAN WE DO BETTER?

Page 13: Developing in Public

SOFTWARE ARCHAEOLOGY

Page 14: Developing in Public

commit 9e3ce0965868f1e9af385951cf1e22960d0edf0dAuthor: Kevin Sawicki & Nathan Sobo <[email protected]>Date: Wed May 21 18:04:44 2014 -0600

Add thruster input

We need to take the thrust input from the propulsion bus and fire the thrusters accordingly

Page 15: Developing in Public

OK, maybe we've mostly solved this for code.

Page 16: Developing in Public

▸ Use version control▸ write good commit messages▸ use feature branches▸ the list goes on...

Page 17: Developing in Public

I GUESS MY TALK CAN BE OVER?

Page 18: Developing in Public

/NOPE

Page 19: Developing in Public

HERE'S A CLICHÉ

Page 20: Developing in Public

It's better to work together than to work alone

Page 21: Developing in Public
Page 22: Developing in Public

What if “together” is miles and hours apart?

Page 23: Developing in Public

What did she do yesterday?

Page 24: Developing in Public

What did I do yesterday?"

Page 25: Developing in Public

SOFTWARE!=

SOFTWARE DEVELOPMENT

Page 26: Developing in Public

SOFTWARE⊆

SOFTWARE DEVELOPMENT

Page 27: Developing in Public

[********] Coding [***] Communicating / coordinating [**] Reviewing code / PRs to merge [**] Runtime / CI / infrastructure [*] Long term project planning

Page 28: Developing in Public
Page 29: Developing in Public

SO

Page 30: Developing in Public

WHAT'S THE WORK?

Page 31: Developing in Public

(Here come some dirty words)

Page 32: Developing in Public
Page 33: Developing in Public

MANAGEMENT

Page 34: Developing in Public
Page 35: Developing in Public

POLITICS

Page 36: Developing in Public

Other people are your allies, in other words, but that alliance takes sustained effort to build. And you should

be prepared for that, not irritated by it.

Ed Catmull

Page 37: Developing in Public
Page 38: Developing in Public

DOCUMENTATION

Page 39: Developing in Public
Page 40: Developing in Public

TRANSCRIPTION

Page 41: Developing in Public
Page 42: Developing in Public

STARING OFF INTO SPACE DESIGN

Page 43: Developing in Public

Oh, and just one more thing...

Page 44: Developing in Public
Page 45: Developing in Public

CODING

Page 46: Developing in Public

SOME TOOLS

Page 47: Developing in Public

WIP PRS

Page 48: Developing in Public

ALWAYS BE PAIRING

Page 49: Developing in Public

CHATOPS

Page 50: Developing in Public

/ci status <repo>/<branch>/deploy team to stg

/graph me -10min @app-perf (or something)/procs unicorn/resque critical

/conns fe1/who's on call

Page 51: Developing in Public

WHY IS THIS STUPID CHAT BOT SO IMPORTANT?

Page 52: Developing in Public

What if we don't have a Hubot?

Page 53: Developing in Public

A SELF-REPORTING CULTURE

Page 54: Developing in Public

EMBRACE GOOD TOOLS

Page 55: Developing in Public

YOUR TOOLS=

YOUR OFFICE

Page 56: Developing in Public

BE PREDICTABLE

Page 57: Developing in Public

prefer communication

Page 58: Developing in Public

DON'T BLOCK

Page 59: Developing in Public

TELL ME WHY

Page 60: Developing in Public

TRULY PRODUCTIVE REMOTE WORK

Page 61: Developing in Public

FAST ONBOARDING

Page 62: Developing in Public

TRANSPARENT STRATEGIES

&#REALTALK

Page 63: Developing in Public

NO ONE GETS LOST

Page 64: Developing in Public

DEVELOP IN PUBLIC BECAUSE..

▸ it enables remote work▸ gets new people started fast

▸ teaches your teammates how your brain works▸ Exposes failure early enough to fix it

Page 65: Developing in Public

Daniel HengeveldSoftwaresman, GitHub

@thedanielthedaniel.github.io


Recommended