Don't miss a post! Subscribe to my mailing list.
How to Conduct an Iteration Planning Meeting
A couple of weeks ago I wrote an article about how to conduct a Release Planning meeting. This is the follow-up to that piece.
The purpose of an Iteration Planning Meeting is to break down a list of User Stories into tasks to be completed for the...
Pester
A few days ago a colleague and I were having a discussion. We work for Cyrus, an Agile consulting company. Another co-worker of ours is (among a myriad of other things) in charge of making sure our clients are billed correctly. As part of that job...
How to Conduct a Release Planning Meeting
The purpose of a Release Planning meeting is to have a team commit to a release goal in a set of iterations. The output of the meeting will be a tentative release date, a roadmap of time-boxed iterations with User Stories, and a rough estimate for...
Command Pattern for Sinatra Handlers
One useful pattern I've found when writing Sinatra applications is the command pattern. For those that are not familiar with it, here is a simple example to start with:
class MyCommand
def initialize
# initialize some stuff
end
def call
The Rule of Three
If you're not familiar with it, the "Rule of Three" (aka "Three strikes and you refactor") is a guideline attributed to Don Roberts. I first ran across it a few years ago while reading Martin Fowler's Refactoring. Here's the full quote from the book...
Driving Technical Change
I purchased Driving Technical Change by Terrence Ryan as part of a Pragmatic Bookshelf sale a few months ago. Overall I thought it was a good book, though a bit basic. One handy tool I got out of it was the "Skeptic / Technique Matrix". In the book...
Heroku Slug Compiler Optimizations
Using .slugignore
to reduce your slug size
This may be old news to some, but I recently learned about a cool Heroku feature: the .slugignore
file.
What is it?
A .slugignore
is like a .gitignore
file for your app. It is used to reduce the size of...
RubyMotion: Clearing Out motion-stump Mocks
Update: The pull request mentioned below has been merged and motion-stump
clears mocks automatically now, so this after
block is no longer necessary.
This one had me "stumped" for awhile. When using motion-stump mocks, you need to clear them in an...
Turn a Ruby Array into a Hash
I always forget the syntax for this:
ary = [:a, 1, :b, 2, :c, 3]
Hash[*ary] # => { :a => 1, :b => 2, :c => 3 }
sed in-place editing gotcha in OS X
I just started learning about sed and came across one "gotcha" when using the -i
option in OS X. The -i
option allows you to edit a file in-place. It takes an optional parameter - a string to use as the extension for the backup file. If this parameter...