Process

Beginning Outside-In Rails Development with Cucumber and RSpec

The RSpec Book defines outside-in Rails development as starting with views and working your way in toward the models. By developing from the outside in, you are always taking a client perspective at each layer of the application. The end … Continue reading

Posted in Process, Web | Tagged , , , , | 5 Comments

Why We Are an Agile Shop

Last week we had a lively discussion about Agile development at Carbon Five. It was fun telling the story of how we got started with Agile nearly a decade ago. We discussed how it helps us deliver value and deal … Continue reading

Posted in Process | Tagged , , , | 6 Comments

Event: Our Experience Building OVEE on 12/6

We just wrapped up the first phase of a project for ITVS, the Independent Television Service, and want to share the experience. We built OVEE, the online video engagement experience, on a short schedule with a small team. OVEE is … Continue reading

Posted in Process | Leave a comment

Modern Cucumber and Rails: No More Training Wheels

Last month, cucumber-rails 1.1 was released. This release removed web_steps.rb, a collection of step definitions for interacting with a web app. For months, web_steps.rb contained a warning of its negative effects on feature maintenance. Like most developers, I ignored the … Continue reading

Posted in Process, Web | Tagged , | 13 Comments

Why Your Daily Standup Sucks (and how to fix it)

The daily standup is the “Hello World” of agile development. It’s a daily, 15-minute meeting, about the current status of a project. Each participant answers three questions: what did I do yesterday, what am I doing today, what is in … Continue reading

Posted in Process | Tagged , | 37 Comments

There’s a (Vim Plugin) for That! Part I: Fuzzy Finder

One of the most popular features of TextMate and RubyMine is Command-T, the ability to jump to a file with just a couple of keystrokes. Vim lacks this feature out of the box, leaving Vim newcomers less efficient. For the … Continue reading

Posted in Process | Tagged , | 7 Comments

Vim Text Objects: The Definitive Guide

To edit efficiently in Vim, you have to edit beyond individual characters. Instead, edit by word, sentence, and paragraph. In Vim, these higher-level contexts are called text objects. Vim provides text objects for both plaintext and common programming language constructs. … Continue reading

Posted in Process | Tagged | 29 Comments

Crafting Commits in Git

A commit, like a well-designed function or class, should represent a single concept. A distinct, cohesive commit is easy to understand, review, and, if necessary, revert. Git’s powerful staging area allows you to finely craft your commits. You decide which … Continue reading

Posted in Design, Process | Tagged | 8 Comments

Testing Doesn’t Scale

The Ruby community’s obsession with testing is unrivaled. Over the years, Rubyists have gone from old school TDD using test/unit, to modern BDD with RSpec and finally to comprehensive integration testing, including JavaScript support, via Cucumber. The goal was tests … Continue reading

Posted in Design, Process | 33 Comments

Behavior Driven Development for node.js

On Tuesday night, the San Francisco Server Side JavaScripters had an excellent meetup hosted by the folks at CBS Interactive. I gave a short talk on using zombie.js with jasmine-node to test drive your node.js application under automation. Here is … Continue reading

Posted in Process, Web | Tagged , , , , , | 1 Comment