37. <intent > !"#$%
Feature: Proposal notification
In order to reduce time spent on emailing
Administrators should be able to mail
all proposals owners depending on status
Scenario: Email accepted proposal
Given aslak.hellesoy@gmail.com proposed Cucumber
And the Cucumber proposal is approved
When I send mass proposal email
Then aslak.hellesoy@gmail.com should get email
"""
Hi aslak.hellesoy@gmail.com
Congratulations, Cucumber was accepted.
See you at RailsConf!
"""
28
Any big software project has to integrate a bunch of pieces.
Want it to go like this
...assume that it&#x2019;s going to go like this.
Get all of the different parts running in sync
Usually ends up like this
All continuous integration is is putting all of the cars on the road everyday multiple times a day
Causes small accidents to prevent big pile ups.
But more importantly...
Why would you do this:
-happier developers
-less time fixing bugs
Mark Striebeck - XPDay 2009 Keynote - Google:
Estimated that a bug found during TDD costs $5 to fix, which surges to $50 for tests during a full build and $500 during an integration test. It goes to $5000 during a system test.
<Next slide>
Fixing bugs earlier would save them an estimated $160M per year.
Reduced risk and less bugs
What do I need to do Continuous Integration?
- Need to be fast
- Don&#x2019;t get a false sense of security
- Unit tests
- More importantly, integration tests (harder to write, slower to run)
If a build breaks and no one knows, is it broken?
One of those things, like a bug tracker, that everyone seems to write
Need to collectively own.
Need buy in from developers and the organization
&#x201C;1 month to write a single integration test&#x201D;
&#x201C;How did you fix your breaking builds?&#x201D; &#x201C;We turned off the CI server&#x201D;
Just do it
Get it visible in front of your developers
Things that enabled once you have a strong CI infrastructure in place