developing in public
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.TRANSCRIPT
![Page 1: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/1.jpg)
DEVELOPING IN PUBLIC
![Page 2: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/2.jpg)
![Page 3: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/3.jpg)
STORY TIME
![Page 4: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/4.jpg)
![Page 5: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/5.jpg)
![Page 6: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/6.jpg)
▸ navigation team couldn't drive▸ system engineering checks were weak▸ informal communication channels
![Page 7: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/7.jpg)
some communications channels among project engineering groups were too informal
![Page 8: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/8.jpg)
too informal
![Page 9: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/9.jpg)
![Page 10: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/10.jpg)
NOT A SOFTWARE PROBLEM?
![Page 11: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/11.jpg)
A HUMAN PROBLEM
![Page 12: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/12.jpg)
HOW CAN WE DO BETTER?
![Page 13: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/13.jpg)
SOFTWARE ARCHAEOLOGY
![Page 14: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/15.jpg)
OK, maybe we've mostly solved this for code.
![Page 16: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/16.jpg)
▸ Use version control▸ write good commit messages▸ use feature branches▸ the list goes on...
![Page 17: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/17.jpg)
I GUESS MY TALK CAN BE OVER?
![Page 18: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/18.jpg)
/NOPE
![Page 19: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/19.jpg)
HERE'S A CLICHÉ
![Page 20: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/20.jpg)
It's better to work together than to work alone
![Page 21: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/21.jpg)
![Page 22: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/22.jpg)
What if “together” is miles and hours apart?
![Page 23: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/23.jpg)
What did she do yesterday?
![Page 24: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/24.jpg)
What did I do yesterday?"
![Page 25: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/25.jpg)
SOFTWARE!=
SOFTWARE DEVELOPMENT
![Page 26: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/26.jpg)
SOFTWARE⊆
SOFTWARE DEVELOPMENT
![Page 27: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/27.jpg)
[********] Coding [***] Communicating / coordinating [**] Reviewing code / PRs to merge [**] Runtime / CI / infrastructure [*] Long term project planning
![Page 28: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/28.jpg)
![Page 29: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/29.jpg)
SO
![Page 30: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/30.jpg)
WHAT'S THE WORK?
![Page 31: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/31.jpg)
(Here come some dirty words)
![Page 32: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/32.jpg)
![Page 33: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/33.jpg)
MANAGEMENT
![Page 34: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/34.jpg)
![Page 35: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/35.jpg)
POLITICS
![Page 36: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/37.jpg)
![Page 38: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/38.jpg)
DOCUMENTATION
![Page 39: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/39.jpg)
![Page 40: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/40.jpg)
TRANSCRIPTION
![Page 41: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/41.jpg)
![Page 42: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/42.jpg)
STARING OFF INTO SPACE DESIGN
![Page 43: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/43.jpg)
Oh, and just one more thing...
![Page 44: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/44.jpg)
![Page 45: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/45.jpg)
CODING
![Page 46: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/46.jpg)
SOME TOOLS
![Page 47: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/47.jpg)
WIP PRS
![Page 48: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/48.jpg)
ALWAYS BE PAIRING
![Page 49: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/49.jpg)
CHATOPS
![Page 50: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/50.jpg)
/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](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/51.jpg)
WHY IS THIS STUPID CHAT BOT SO IMPORTANT?
![Page 52: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/52.jpg)
What if we don't have a Hubot?
![Page 53: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/53.jpg)
A SELF-REPORTING CULTURE
![Page 54: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/54.jpg)
EMBRACE GOOD TOOLS
![Page 55: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/55.jpg)
YOUR TOOLS=
YOUR OFFICE
![Page 56: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/56.jpg)
BE PREDICTABLE
![Page 57: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/57.jpg)
prefer communication
![Page 58: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/58.jpg)
DON'T BLOCK
![Page 59: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/59.jpg)
TELL ME WHY
![Page 60: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/60.jpg)
TRULY PRODUCTIVE REMOTE WORK
![Page 61: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/61.jpg)
FAST ONBOARDING
![Page 62: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/62.jpg)
TRANSPARENT STRATEGIES
&#REALTALK
![Page 63: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/63.jpg)
NO ONE GETS LOST
![Page 64: Developing in Public](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/64.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052504/554ba086b4c905b3618b4a10/html5/thumbnails/65.jpg)
Daniel HengeveldSoftwaresman, GitHub
@thedanielthedaniel.github.io