To go faster in a car, you need not only a powerful engine, but also safety mechanisms like brakes, air bags, and seat belts. This is a talk about the safety mechanisms that allow you to build software faster. It's based on the book "Hello, Startup" (http://www.hello-startup.net/). You can find the video of the talk here: https://www.youtube.com/watch?v=4fKm6ImKml8
72. With continuous integration,
your software is proven to
work (assuming a sufficiently
comprehensive set of
automated tests) with every
new change—and you know
the moment it breaks and can
fix it immediately.”
92. Disadvantages of services:
1. Operational overhead
2. Performance overhead
3. I/O, error handling
4. Backwards compatibility
5. Hard to make global changes
127. <section id="new-section">
<!-- Code for new section-->
</div>
<section id="original-section">
<!-- Code for original section-->
</section>
Let’s say you were adding a new
section to your website.
128. <% if toggles.enabled("new-section") %>
<section id="new-section">
<!-- Code for new section-->
</div>
<% end %>
<section id="original-section">
<!-- Code for original section-->
</section>
Wrap new code in a conditional
that looks up a feature toggle
129. <% if toggles.enabled("new-section") %>
<section id="new-section">
<!-- Code for new section-->
</div>
<% end %>
<section id="original-section">
<!-- Code for original section-->
</section>
Toggles are off by default, so
users won’t see unfinished work
135. <% if toggles.get("new-section") == "A" %>
<section id="new-section-bucket-a">
<!-- Code for new section, version A -->
</div>
<% elsif toggles.get("new-section") == "B" %>
<section id="new-section-bucket-b">
<!-- Code for new section, version B -->
</div>
<% end %>
This allows A/B testing
176. F1 racecar: Takayuki Suzuki
Highway traffic: Oran Viriyincy
Car accident: ER24 EMS (Pty) Ltd.
Road: Nicolas Raymond
BWM: Andy Durst
Self-driving car: Steve Jurvetson
Bus: Roland Tanglao
Tail lights: Tony Webster
USS South Dakota: Wikimedia
Crash test dummy: Wikimedia
Elisha Otis: Wikimedia
Otis Elevator: Wikimedia
Speedometer: Dawn Hopkins
Dashboard lights: Jim Larrison
Seat belt: Wikimedia
Google repo stats: Rachel Potvin
ISS: Wikimedia
Fire: Pete
Martin Fowler: Wikimedia
Image credits