Clemens Helm
Profile_image?user_id=458756236&size=bigger
Ranked 37 in Phase 1 with 42 unique views, 15 counted upvotes and 6 counted downvotes

About the author

Clemens mustachified

I’m a passionate web application developer, Ruby enthusiast and (long|snow|wake) boarder. I love travelling, especially to warm countries, which is another reason that I’m exited about Euruko 2013. But most of all I’m looking forward to connecting with Ruby folks from all across Europe to share experiences, learn new stuff and have a good time.

I’m responsible for the web development of Codeship where we’re constantly trying to make our software development more sustainable, efficient and fun. We’ve elaborated a work flow that’s simple and lets us focus on what we really love: Coding Ruby.

The Ruby workflow or: Less workflow, more Ruby.

This talk is about how we set up a beautiful development process using Ruby, Git and Continuous Integration & Deployment.

Our team deploys new versions of our product 10 times a day or more. That’s because we develop in tiny iterations, building tiny features and release them as soon as possible. Even our designers deploy – without even noticing it. All of us develop their tiny features on their own Git branches. As soon as we are done, we push them to GitHub and let someone code-review what we’ve done. Our Continuous Integration system displays on GitHub if everything works in this feature, so the code-reviewer can securely merge the feature into master. That’s where the process ends already. Continuous Deployment picks up the new version and it is online within minutes.

Although this process is simple, we love it. It just works and it has got plenty of advantages:

  • It only takes hours from a feature idea to shipping it. This way we get customer feedback instantly without spending weeks on something our customers don't even want.
  • Everybody can contribute instantly. New developers can deploy on their first day. Designers can change the application without needing a developer at all.
  • Code reviews don't only ensure the quality of our code: Everybody is informed about each other's work and learns by looking at other developers' code.
  • If there's a bug we can deploy a fix within 20 minutes. And there is no risk that we will break another part of the app on the way.
  • Deployment is no task anymore. It just happens.
  • It is a lot of fun. For us there's no greater pleasure than seeing customers use the code that was at our fingertips a few minutes ago.
  • And most of all: We don't need to care about tedious repetitive tasks anymore. We can focus on what we do best and love most: coding Ruby.

Previous Next

Suggestions

  • The proposal author responded 8 months ago

    Thanks, Nikos. I think I made a list of tools instead of really describing the process. I will post a new version in a bit!

  • D87dddeb300217e6c6574f5ffae220be?d=retro Nikos Dimitrakopoulos suggested 8 months ago

    Hey author! This talk looks really promising, but can you give some more examples on how you achieved all this? I'm pretty sure that by just having git, a full test suite and a CI server is not enough...