| Michael's profileBrownie PointsBlogLists | Help |
|
February 24 Refactoring to Patterns: WPF Edition Part 1 The VisionI need to come up with a shorter title. I know there has been a lot of disdain lately for "”Big Process” or over documentation. But there are some documents that are worthwhile whatever methodology your subscribe to. One of those documents is the project vision and scope. Essentially, your project vision provides guidance for what the goals of the system are. As a rule of thumb, when considering a requirement ask “does this align with the project vision?” I don’t believe much in process for process’ sake. I think Jeff Atwood said it best (in a post that I read as a result of my experiment), there is no recipe for the perfect program. Patterns, practices, and principles are not prescriptive, blindly following them is akin to trusting Google maps to get you to a destination in a strange town during construction season. In many cases, you’ll be just fine, but there will be those times when you wish you were more familiar with That being said, I feel that creating a project vision is an essential first step in starting a software project. The process (like making a business plan) makes you think, “Why am I doing this?” In many cases, a well-written vision will help you sell a project to management. In other cases, the vision serves as little more than than a daily reminder of what you’re trying to do. From a project management perspective the scope portion of the vision helps the PM decide if a feature is in or out for a project. Of course it can be adapted to fit whatever process you’re using. So if you’re doing agile or iterative development, you’d have a broad project vision and scope as well as a more narrowly focused iteration scope that says what’s in for a given iteration. Up until now, my vision has been somewhat amorphous. The summary on the project page for “Flow” on codeplex is the closest I have to a project vision. Let’s rectify that situation. First Draft“Flow will be the most awesome software ever created. It will be able to read the user’s mind, anticipating what they want to do and respond accordingly. Flow will be so perfect that people will be willing to spend their life savings to acquire it.” Although it would be great for “Flow” to possess these qualities, this doesn’t work very well as a product vision. Before we dissect it, we need to know what qualities make a product vision good. Fortunately, there is a lot of material available for someone learning about project management. Of course, one of my favorite starting points over the past few years has been Wikipedia. After a few steps of searching (which would be shareable within a completed version of “Flow”), I found the SMART acronym. Basically the product vision should be:
I hope you can see why my original vision isn’t very SMART. Usually faulty goals within a vision aren’t that obvious. They’re more insidious like “…the best toaster on the market”. (Coincidentally, if you’re asked that question on an interview, they want you to question the definition of the best, not go about proving that it is.) Once More With FeelingAnyway, let’s try again to envision “Flow”.
There we are, I think our vision meets the SMART guidelines, with the exception of Timely. We haven’t placed a time frame on the release of Flow. It’s somewhat difficult for me to time this. I have a day job and family. (Including a new child on the way.) My heart wants to have the first version available by June. Reality says it will most likely be a Beta in September and V1 at year’s end. Of course all of that could change should more people volunteer to help (it is an open source project after all). Even then, there is a limit to how effectively the work can be distributed. We’ll see what happens though. Comments (2)
TrackbacksThe trackback URL for this entry is: http://mbrownchicago.spaces.live.com/blog/cns!2221DC39E0C749A4!1291.trak Weblogs that reference this entry
|
|
|