Today, Josh Knowles, Grant Hutchins, and I visited Franklin W. Olin College of Engineering in Needham, MA to talk to Prof. Mark L. Chang’s amazing new dotcom course. We talked about agile development, and more specifically how Pivotal does agile and why. We went through an example of test-driven development for a simple Rails app, and had a miniature inception for a fictitious product.
Some students asked for some resources, particularly for documentation, so I put together a collection of resources for anyone looking to pick up agile, TDD and Ruby on Rails. This is intentionally not an exhaustive list. I wanted to include the bare minimum for getting started on each topic as a jumping off point and include further references at the end.
You can think of Pivotal Tracker as a digital card wall. It’s our most indispensable project tool.
This talk by Kerry Buckley is probably the best RSpec overview and tutorial I’ve seen. Read this and follow along with the code and you will know more than just the basics of how TDD with RSpec works.
The Pivotal Labs TDD framework for Android development with a great Getting Started Guide and JavaDoc.
A great interactive tutorial on git.
Learn Ruby through test-driven development. This tutorial covers a huge number of features of the Ruby language in a fun and interactive way.
Includes video tutorials and interactive exercises that go over the core concepts of Rails.
We commonly use the following gems on Pivotal projects:
- devise for authentication — check out their README and Wiki for documentation
- cancan for role-based authorization — again, check the README and wiki for documentation
- rspec-rails for TDD — see Wiki for installation, see above RSpec presentation for how to use it
- cucumber-rails for BDD and integration testing — see README for installation, this Railscast for an introduction
- paperclip for file attachment and storage — see README for documentation
- will_paginate for index pagination (ie: “Showing results for Page 1 of 30″) — check out the README