I’m reading The Mythical Man Month, and I also happened to read this post on just getting something started this morning. I’ve got two (conflicting?) messages in my head at the moment:
From the Mythical Man Month, I’m hearing about how much planning used to go into development and testing of software systems. That sort of rigour just doesn’t seem to be present any more, and I am taking a desire away from the book to be a little bit more careful and systematic and thoughtful when approaching a new project. Kind of like that (perhaps apocryphal) Einstein quote about solving a problem in an hour: “If I had an hour to solve a problem I’d spend 55 minutes thinking about the problem and 5 minutes thinking about solutions.” It’s allegedly beneficial to sit down and think before you start doing.
Against that, from the Lean Startup and Fail Fast sort of camp, I have the suggestion to just get something out there. Write anything down, acknowledging that it’s awful, just to get started. Step 2 is easier, and iteration is what drives progress. You won’t know most of the problem until you really dive into solving it. That kind of thing.
These both seem right, but they also seem incompatible. There’s probably a middle road — I wonder whether it’s best to think out how to find it, or to just start trying things and hash something out?