In this episode, I give an advice on a side project.
[blank_space height='3em']
Full transcript:
John: Hey, John Sonmez from simpleprogrammer.com. I got this question. It’s kind of a long email, so again, I’m going to summarize this here. It’s from Florian and he’s from Belgium which by the way, I got to visit Belgium and saw Bruges or Bruges I don’t know if it’s Bruges or Bruges. I could never figure that out, but anyway, it’s like a fairytale city. It’s pretty cool city. I don’t think I’ve ever seen anything like that.
Anyway, so Florian basically has this question and he said, “How’s life? Is the Europe trip going well?” I’m back now, but it was, it was fantastic. He says he’s a young software developer from Belgium. He read my book Soft Skills and watches my YouTube channel closely and he discovered my website from PluralSight courses.
He wants to know about side projects here. He basically says that he gave up on his side project. He was working with a colleague and they were working on this—an app around David Allen’s GTD philosophy which is Getting Things Done. You can check it out. I’ll put a link to the book. A really good book, a really good kind of process for managing your work and your life but that’s beside the point.
Anyway, he says he was working on the web app. They’ve been working on it for 1-1/2 years. They had no prototype at the end of that. They spent way too much time on anything. He said he didn’t even have a social life, wasted a lot of time, real overkill of meetings and he said the idea wasn’t bad. Which I agree, it’s probably not a bad idea. He wanted to know about the approach of a personal side project.
There’s a bunch of questions here: “Would you first create a full backlog with all features in it? Thinking things through, what happens if you delete (A) those kinds of things, like if you delete feature A. Perhaps not the Agile way, but I want to know what the workload is for MVP Minimal Viable Product. I’m using Visual Studio online to organize this. I want to have a bunch of metrics of progress achieved by charts.” He goes on to say, “Next, I want to create a full HTML mockup of the application to real show what the application does, all dummy data” and goes on and on talking about frameworks and all this stuff and should I write Unit Test and thinking about database design and web APIs and Build Server and using Jenkins.
Here’s my advice. You can probably see where I’m going with this is is basically don’t do that. You spent 1-1/2 years trying to create this product and you didn’t even have a prototype out. That’s the total wrong approach. All these questions you’re asking me these are not the questions that you need to be asking me, not at this point in time. These are the questions that someone working for a multimillion dollar organization with a team of 80 developers needs to be asked. Those are serious questions for that, but for 2 guys trying to figure out if an idea is going to work, working on it part time, don’t do all that. Instead what you need to do is try to create the simplest possible version of the product that you can put out and get it out there as soon as possible.
I don’t want to keep on hitting on the MVP Minimum Viable Product buzz word but it’s a true thing. You need to do that. Don’t even worry about how the code is organized. What you want to do is you want to fail fast if you’re going to fail. If you succeed you want to learn quickly and consider whatever you’re writing or creating right now. The version will be a throwaway. That’s my best advice. Get your idea out there and get it tested and get feedback as soon as possible and then you can do things right later.
One thing I’ve learned being an entrepreneur is when I first started my software development career I was all about doing things right all the time. What I’ve learned is that that’s fine when you’re working with someone else’s money, but when you’re working with your own money sometimes you got to do things quick and dirty because it’s just not profitable, it doesn’t make sense. When you’re burning up someone else’s money you can sit back and you can ponder all the intricacies of the architecture and should we use this unit testing framework or that one. That’s fine because someone else is paying you to do it, but when it’s your money and it’s your time your attitude kind of changes.
It doesn’t mean to just like, you know, to throw out all craftsmanship and do a crappy job but it means that you’re going to make tradeoffs and the biggest tradeoff that you have to make is getting something out there quickly and start to get income from it.
The best way to test a thing is ask someone to pay for it. What I would suggest if you do another side project or if you restart this one is get—set a deadline. Let’s say you start this project now, in 2 months you have V1 shipping that is your deadline. You must do that in 2 months. You’re not giving yourself anymore time than that. In 2 months you’re shipping something and you’re going to collect money for that thing. Put it out there. See if people will pay for it.
Even if you don’t have the full thing built out, if you say what you’re going to build and it’s a good idea people will give you money for it. If no one will give you money for it, it’s a bad idea, it’s not going to work, don’t waste another year and a half building something that no one is going to pay for. It doesn’t matter how good your architecture is and how much you plan this out and how much you have your ____[inaudible 00:05:36] charts and you got your metrics and all this stuff if no one ever actually buys it and if it never gets built all that is going to be totally wasted effort. Don’t waste time doing things that are going to be complete throwaway if you never ship. Instead, focus most of your effort on shipping and then you can add those other things later once you start making money, once it’s actually viable then you know you’re not wasting your time.
I feel like if it took you a year and a half and you never got to a prototype you probably wasted a whole lot of time worrying about things that are not actually important. It’s a good lesson though. I don’t mean to like totally harp on you. You got to learn this lesson, but that’s my advice on the situation. Hopefully your next project you can get it shipped very quickly. That gives you also—think about it, in a year a half you could have tried out 5 or 6 ideas and hopefully one of them would have worked instead of focusing on building just one and then you don’t even get it done. You give up because, hey, who has the endurance to work on a thing for 1-1/2 years without actually getting any money for it.
Anyway, great question and if you have a question for me, just email me at john@simpleprogrammer.com. I’d love to answer one of your questions in a video format. If you like these videos, if you like this podcast, subscribe. Talk to you next time.