- We design and build extraordinary applications for companies looking to make the next great idea a reality.
- learn more
Agile R&D: If you don’t have a client, invent one
I'm working on an internal project at Pathfinder: a cool little Rails app originally developed by one team and now being dusted off and extended by another team. Because this is an R&D project, specifications are a little vague. My colleagues and I spent several hours talking about which direction we should take the app we'd inherited. Each person's idea, of course, was subtly different from everybody else's. By the time we were done, we had a backlog the size of the monster from "Cloverfield" and no clear idea how to turn it into actionable user stories for our first iteration.
Then our CEO stepped in to act as a proxy client. At our iteration kickoff, we briefly summarized all of the directions in which we thought the application could be taken. He immediately reframed the discussion for us, prioritizing one particular feature that would differentiate our project from other applications in the market we're targeting. Suddenly, it was glaringly obvious what needed to be done first and what could wait until later - or never. Within an hour, we had a wall full of assigned and estimated user stories.
The obvious lesson here is that client engagement is central to the agile method of software development. You can have all of the great ideas in the world, but without somebody to cut through the jumble, you'll end up paralyzed. The less obvious lesson is that minimalism is the key to successful iteration planning. Once you're focused on a specific feature set, pare away anything that's not absolutely essential to getting that feature set out the door. Don't focus on the platonic ideal of your application, but rather on the concrete version of your application that you plan to deliver in the current iteration. You'll probably discover that seemingly essential functionality is actually low-priority - or totally unnecessary.
Topics: Agile Development
Leave a comment
About Pathfinder
Recent
- iPhone SDK: UIViewController Testing & TDD
- Icons are evil; so are menus - unless you do them right
- The Truth About Designing For Security
- GWT, Gadgets and OpenSocial, Part 2
- Has Many has_many: A Refactoring Story
- The Hidden Power of Canvas
- Review of fixture_replacement2 plugin
- Chess Game Viewer in GWT
- From JSP to Ruby on Rails: First thoughts on front-end coding conventions
- Helpers and Partials
Archives
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006


