Michael Jurewitz, former developer tools evangelist at Apple, has been blogging up a storm this week, with two great pieces on two important subjects for developers. First is the idea of minimal viable products, or how much you need to build in order to be able to start selling your current work, and supporting your future work. Jury says:
You need to get your product out the door and into your user's hands. The very act of someone touching and using your product will inherently change what you think you know about it and how you envision people using it. You will change your mind, you will change your plans, and things you used to think were important will melt away and be replaced by other needs and priorities. Having real users is a formative event for a product and one you shouldn't artificially delay.
The second, not unrelated topic is user focus, or understanding how your product will provide a delightful user experience before you type character one on code. Jury again:
Focus on the user. Focus on their life, their problems, and how you are helping them. Put down that database, put down that web server, put down that Core Data model and think. No, this step doesn't involve code. Yes, for many of you this will feel foreign and scary, but focusing on the user is liberating. It frees you from your technical shackles and puts the world in real perspective. Your focus becomes the things that matter, the things that change people's lives. Technology is a hindrance when it doesn't get out of the way. Technology is a hindrance when it becomes the point, as opposed to the human experiences we are trying to improve.
Back in a past life, when I was working in product marketing, I used to think of roadmaps like season arcs of Buffy the Vampire Slayer. I'd seen how Joss Whedon would graph out major character moments and beats on a white board, and I wanted that same sense of story, of major plot points, and of epic final releases that he brought to television.
In entertainment, you have to grab the audience. In software, you have to grab the user. Each major point release has to have something interesting in it, and it all has to build to the next major version number.
You can't and shouldn't blow the whole story in the first episode, and you can't and shouldn't blow all your features in a 1.0 release. You should create interest and get the job done, absolutely, but you should also leave people wanting more. And you should know how your next act, your 2.0 is going to premiere, and build towards it. (That's also how you attract and maintain press attention for your products, of course, because we're simply an extension of audience.)
Go read Jury's articles, then go make some more great stuff.