Rapid Application Development vs. Big Design Up Front

I’m working on a new project which I regard as medium-large in scope, and I’ve decided to use BDUF instead of RAD on it. This is of course heresy in light of the effect XP and Ruby on Rails have had on the web startup zeitgeist. (“Isn’t it all about RAD these days?”) But I still think I’m making the right call here.
Continue reading “Rapid Application Development vs. Big Design Up Front”

OmniGraffle Pro and Subversion

I’m working on wireframes for a startup company, and I’m using the excellent OmniGraffle Pro to do it. Of course I’m keeping all my artifacts in Subversion. But there’s a problem: OmniGraffle sometimes changes a file’s format from a single flat file to a “bundle”, which is a directory that Mac OS X pretends is a single entity (as is seen with all the .app bundles in the /Applications directory). OmniGraffle bundles contain a file with a hideously awful filename, which I’ve seen in the old Classic MacOS if I remember correctly: Icon^M. Like, 5 characters, 5th is a carriage return. Subversion can’t check it in, svn:ignore can’t ignore it. Ugh. Here’s the fix: Using OmniGraffle with Subversion without Sadness

Choosing Your Battles in Software Architecture

When you’re starting a software project, you have to make some technology choices. You have to pick a technology stack, but you also have to pick the tools that your team will use to manage code, track issues, write specs, and collaborate over long distances, among other things.

Some of these things are more important than others, but they all matter. If the majority of the team is using PowerBooks but the UI specs are all done in Visio, that’s going to be annoying. If you’re working on something involving trade secrets (or national security), using AIM is probably a bad choice. But whether you do page wireframe drawings in PowerPoint or OmniGraffle on those PowerBooks, or whether you use IRC or Jabber over a secure connection for collaboration, is less important.
Continue reading “Choosing Your Battles in Software Architecture”