We now have a written backlog for our product and we have completed our first few sprints. Velocity has been much higher than expected. This is partly a result of being in a low overhead startup and partly a result of finding good tools and applying kiss whenever possible.
Actually getting the backlog documented felt very good. The backlog and sprints are defined in Google docs to make cooperation between me and my co-founder easier since we are not sharing an office. Instead of maintaining sprint progress on a whiteboard, we maintain it in a shared spreadsheet and update once a day. We do not perform a daily scrum since I am the only one working full-time, but we do a face-to-face sync at least once a week.
The sprint length is one week. Most sprints have finished early as hinted to with the velocity comment earlier. The most extreme case was when the goal of the sprint was to demonstrate our product in an application similar to what one type of customer would have. The sprint was over Tuesday night. Some time on Monday that week, I realized that I needed an indexer and developed one using CouchDB map reduce. Phusion Passenger also made it easy to get my Rack application to run in Apache. In retrospect, CouchDB, Passenger and Rack saved me at least two weeks.
The current sprint should end with a demo of a customer application running Joomla talking to the Sincerial service and controlling the browser experience. Luckily, Joomla plugin development is straightforward and my rusty PHP foo seems to be sufficient. Too many uncertainties from the beginning and too much non-technical work this week doesn’t make me overly optimistic about having the demo this week.