Technical Workflow

(for a startup)
@ssaunier
Context
Lean Startup
a
is a
formed to
for a
and
Startup
temporary organization
search
repeatable
scalable
business model
Steve Blank, 2010
Disclaimer: no « best » method, find the one that works for you
Versionning
Timeline
How to read a repo
- Contributors
- Commits
- The Code
Branching &

Pull Requests
GitHub Flow
- https://guides.github.com/introduction/flow/index.html
- http://scottchacon.com/2011/08/31/github-flow.html
Let’s look at the
Create a branch
Work and Commit
Open a Pull Request
Discuss and Review
Merge
Commit Graph
Live Code
github.com/lewagon/www/issues
What next?
Deployment
« Anything in the master branch is
deployable »
- Scott Chacon, 2011
master changed
Your laptop GitHub
Heroku
repo repo
repo
push
push
Automated
Deployment
a tool to
at
of the
automatically deploy
every change
master branch
becomes the "Ship" button
Ship Often
What if you break
something?
Rollback!
Testing
+
TravisCI automatically test
every commit pushed on
every branch
Continuous Delivery
Now we have
«  The key test is that a business sponsor
could request that the current development
version of the software can be deployed into
production at a moment's notice - and
nobody would bat an eyelid, let alone
panic. »
- Martin Fowler, 2013
Advantages
- Reduced Deployment Risk
- Real Progress (Done)
- User Feedback
What if I have
a Database?
Backups
Rollback Data!
heroku pg:backups schedule DATABASE_URL --at '02:00 Europe/London'
heroku pg:backups restore b111
heroku pg:backups
=== Backups
ID Backup Time Status Size Database
---- ------------------------- ---------------------------------- ------ --------
b013 2015-03-18 19:03:16 +0000 Running IVORY
b011 2015-02-18 17:55:38 +0000 Finished 2015-02-18 17:55:39 +0000 1.9GB IVORY
b010 2015-02-17 19:14:43 +0000 Finished 2015-02-17 19:14:48 +0000 1.9GB IVORY
b004 2015-02-11 19:00:55 +0000 Finished 2015-02-17 19:14:48 +0000 1.9GB IVORY
==== Restores
ID Restore Time Status Size Database
---- ------------------------- ---------------------------------- ------ --------
r002 2015-03-16 17:33:19 +0000 Finished 2015-03-16 17:33:19 +0000 1.9GB IVORY
r001 2015-03-15 12:13:44 +0000 Failed 2015-03-15 12:13:47 +0000 1.7GB IVORY
Monitoring
Tools
Issue Tracker /
Project Management
Embrace Simplicity
Issues
Advices from a Developer
- Resist Meta-Work
- Avoid Meetings
- Write everything
- Embrace Asynchronicity
- Don’t pull me from The
Zone
Thank you!
@ssaunier
Photo Credits
• https://www.flickr.com/photos/betsyweber/6719452305
• https://www.flickr.com/photos/iamted7/11697845826
• https://octodex.github.com/codercat/
• https://www.flickr.com/photos/msankar/8133893440/
• https://www.flickr.com/photos/107342453@N02/10614978976/
• https://www.flickr.com/photos/katedowding/4847072561/
• https://www.flickr.com/photos/plasticmadness/4109705161
• https://www.flickr.com/photos/nancyandwayne/5361008419/
• https://www.flickr.com/photos/tamdong/4740575064/
• https://www.flickr.com/photos/electrofreeze/5361172656/
• https://www.flickr.com/photos/trayay/2255153547/
• https://www.flickr.com/photos/eurocontrol/5240845216/
• https://www.flickr.com/photos/36247316@N00/3108399560/

Techical Workflow for a Startup