Despite considering myself a “project person” for years, I have little evidence to show for it. Plenty of ideas have crossed my mind, yet somehow instead of a laundry list to display, there’s just a pile of half-baked or untouched ideas. Articles, YouTube videos, web applications, small electronics, the category matters not. After getting frustrated looking at the unfinished mound once again, I needed to pull together my thoughts on what keeps going wrong, and noticed a number of common issues kept occurring no matter the category. After learning of ‘Not-To-Do’ lists, I cobbled together a new approach to projects based on the wisdom of the internet.
Making quick decisions has never been a strength of mine. Drive-thrus with their tiny font menus and cars stacking behind me are a little slice of hell. Given a blank canvas like a new project, there are a million different directions you can take, and each choice you make opens up a new set. Lots of time is wasted trying to make the best, most efficient choice at each junction. This is compounded when I get really excited about a project and let my imagination run free. Not only am I pondering the questions which need to be answered to complete a first version, I’m also considering what happens if I turn that article into a book series, scaling that web app to handle traffic from 10,000 users, or how this video will get my YouTube channel 30,000 subscribers and how my content will change to better fit the new audience. It’s fun to imagine the potential, but when you look too far ahead, all you get is a list of “what ifs” and another half-baked project. Other blockers are human ego and the fear of failure. As long as it’s still in progress, it has the potential to be a wild success. If I call it finished and put it out into the world, I have to face reality. The letter to my friend with a long list of unfinished side projects is a great read discussing ego and projects if you have the time. With these issues before me, it’s obvious if I want to be a prolific creative something will need to change.
To combat the pile of half-baked ideas, I pulled together a few different concepts from the great wide web into a short process which can be used when tackling a project. This is not just for new ideas, existing projects should benefit from applying this as well.
Imagine the perfect version as the user/reader, not creator - Use that fancy imagination*, and explore what the perfect version of your project would look like if you could snap your fingers and make it appear this instant. Do this not from the nitty gritty creator side of things, but as the user/reader. Try it even if you’re the only one who will use it. Users don’t care about how you made it or the effort involved, they care what it does for them. What should they be capable of doing? What does the final product provide when they interact with it? Don’t spend all day doing this, but give yourself enough time to fully flesh out the project.
*Imagination was listed as part of the problem, why is it here? It is part of the problem when it is left to run unchecked and diverts you from making progress, here it is used intentionally.
Clearly define minimum requirements for a first version - Using your previous notes, define the requirements necessary for a Simple, Lovable, Complete (SLC) first version. If it’s an article, decide what the most important information the reader should take away. For a coding project, figure out the most critical functionality. It won’t include everything you dreamed for the idea, but it should handle the simple case without feeling like it’s missing a core component. All the “Nice-to-Haves” will come later, right now you should be 80/20ing it.
HEY! GET YOUR HANDS OFF THAT KEYBOARD! I SEE YOU SKIMMING THIS AND IGNORING DEFINING REQUIREMENTS, GET BACK UP TO STEP 2!
Respect the requirements with a ‘Not-To-Do’ list - If you’re creative enough to build something, odds are you’ll keep having ideas while working on it. The best requirements in the world won’t save you if you fall prey to shiny objects and jump to implement whatever new piece you came up with. Take the concept of a ‘ Not-To-Do’ list and apply it to your project as a ‘Not in the first version’ list. Every time a new idea pops into your head, check if it fits in your requirements, and if not drop it into this list so you can stop thinking about it. Once you’ve successfully completed the first version, you can start to pull ideas from this list, though odds are so much will have changed many ideas won’t be applicable anymore.
If 3 steps is too many and you want just a single action item, just add the ‘Not-To-Do’ list to all of your projects. You don’t need minimum requirements defined to know when something is way beyond the current state. The best part of the list is it helps no matter the size. Anything on the list is an idea you don’t waste energy mulling over.
This new approach will unfortunately not be a silver bullet. It will surely need to be adjusted in the future, and that’s ok. This is my SLC version, and it’s ready to use despite its imperfection. There are a number of projects living rent-free in my head, so I will be putting it into use over the next few months to clear them out and get closure fsf< dflsdjf;aflsjfsjfl;f>.
I’ll leave you with a bonus question I plan to start asking myself throughout projects, especially when my mind goes soaring off with wild imagination for a project’s potential.
“Would you rather have something inefficient, imperfect, and real, or a perfect version with infinite potential in your head?”
A personal theme for my year of 26 to guide me to a fulfilling year.
Stockpiling your best ideas for a future audience won’t make you a better writer.
Desiring to be creative, but defaulting to consuming content to the extreme.