I am a regular listener to the startups for the rest of us podcast and often find I have a slew of actionable tips at the end of an episode. Their most recent episode, entitled The Founder Test: 11 Founder Attributes that will determine the success of your product really struct a chord with me.
Essentially the episode was talking about if you wanted to gauge how successful a product might be you need to look at 11 of your attributes regarding the product. Basically put it might not matter if your domain knowledge isn't great so long as you were doing well in the other areas.
It really highlighted for me the point that things like this aren't binary, they have a tonne of variables and grey areas to consider.
I am sure most people's takeaway was that this would maybe be a nice tool to help track an idea you have as a very quick success metric, and to a point I did too but my main takeaway was that I took it as a personal attack every time I thought I would be scoring low in one area of this 11 point test.
This blog post is taking each point in turn and answering the question "How could I score better in this", some answers are going to be more obvious that others but hopefully it will help in increasing the potential success of your software product.
Your knowledge of the niche or the problem to be solved
This point obviously refers to your domain knowledge, the more you know about the problem to be solved the better you are going to be at solving it for people. This is probably one of the easier items to change - We have this thing called the internet now and it is pretty good at researching stuff!
These are the things I would consider doing;
- Hit up Wikipedia to get some high level domain knowledge.
- Search for communities around the issue, sign up or even just lurk for a while and absorb the community. Possible places would be Stack Exchange sites, Sub-Reddits or online forums.
- Reach out to your network and see if it is maybe a hobby or interest of someone you know.
- Subscribe to the top 5 blogs on the subject.
Your technical and programming knowledge
This shouldn't be an issue for any of my readers, we are all a pretty technical bunch, but certainly when dealing with software even if you aren't the one writing the code, the more technical knowledge you have the better. Luckily there are a load of places you can learn to code these days and once you do learn even more places to get help.
If you need to learn or improve, these are the things I could consider doing;
- Sign up for a course or two at one or more of these CodeSchool, TreeHouse, Codecademy.
- Don't be afraid to ask questions on Stackoverflow.
- Just build stuff, the more things the better, build stupid apps, build one pager websites for your pets, anything, just build!
- Think about anything specific technical knowledge you may need in your problem space, is there a reason why all competitors are making .net applications?
Your skill as a project manager
Regular listeners to the podcast will know that Rob and Mike are big fans of outsourcing work which they feel would take away from their time adding real value to the business and of course if that is the case you are going to need decent project management skills, even if you are planning on doing everything yourself, keeping tabs on how the project is going and planning ahead are going to be core to the success of the project.
If you need to learn more about managing projects better I would do the following;
- Read up on what Project Management is, I think a lot of us think of project management in terms of some of the project managers we know, and not with a high level view of the subject.
- Learn about Agile (I cannot personally recommend any links or books as my reading hasn't been that thourough)
- Start managing projects - Start with your life, pick something and manage it, practice makes perfect and all that!
- Are there going to be any third parties involved in what you are building? If so learn how they work and what is going to be the best way to work with them on the project.
Your skill with outsourcing or delegating
This builds on what I was saying in the previous point, outsourcing or delegating work out means that you can concentrate on providing some of the core value that will be required in the product.
This is something I am terrible at, so I would welcome any comments from people on ways to improve, but here is my advice;
- Start delegating! If there is some task at work or at home you think could be better served by someone else, just ask them, the more you delegate the better you will get.
- Learn how places like oDesk work for outsourcing work.
- Make sure you know if any of your friends or network are freelancers or do remote working.
- Maybe you could even look within your family. Do you have an out of work cousin who would appreciate some extra money for doing some basic admin work?
- If you need to delegate out a specific role based on the problem domain, be sure you properly understand the task that will need to be accomplished, if you don't know how to do it well it will be hard for you to explain it to the outsourcer.
Your passion for the problem to be solved
This point could maybe be reworded to include your passion for what the solved problem could potentially do for you, but essentially we are talking about how excited the project makes you. On the podcast they mentioned that some people have different opinions on how much this matters, for me it matters a lot, if I don't have a real itch to work on something, I will find something from my massive todo list to do instead (case in point, this blog post is bumping so much other stuff, but I am itching to write it!).
Passion is a very hard thing to get more of, but here is what I would do;
- Speak to people who are passionate about that problem, let their passion rub off on you.
- Speak to the people who you are trying to solve the problem for, realise how much better you would make their day.
- Write out a for and against list, include things like the potential financial reward you will get, the kudos from peers, things like that.
Your ability to build something that people want
It stands to reason that people who have built something awesome in the past are likely to build something awesome in the future, they have already made the mistakes and cut their teeth on other projects.
This is a pretty massive task, it doesn't just mean making something functional, it means making something people want to use, which incorporates design, copy writing and all the other skills that go into making great software products.
There are a few things I think you can do here to help stack the chips in your favour;
- Learn good design - I would recommend Design for Hackers and taking the Hack Design course.
- Fake it until you make it - Don't try and reinvent the wheel, draw inspiration and patterns from known things you know work.
- Look at the competitors in the domain, are there things that can be improved upon?
- Start making stuff - If you have only ever worked on personal stuff before then bite the bullet and make something for someone else, 10 minutes searching twitter will find you thousands of ideas people want made, most will suck but some won't. Build, build, build!
Your skills as a marketer
Without good marketing a great product could sit in obscurity until the domain name runs out, and with good marketing an average product can out perform a great one.
Marketing is a huge industry, but here is what I would suggest you do to improve your skills;
- Read this post by State of Search on Learning Digital Marketing.
- Read and absorb work by Seth Godin (the man knows his marketing, and this was actually mentioned in the podcast as well).
- Market youself more, get into the habbit of bigging up yourself and the things you are working on, practice on your personal social networks.
- Find out how your competitors are marketing themselves, have they ignored online? have they ignored offline? Try and find out why.
Who you know
I had to re-listen to this point when writing because I was in a shop buying some breakfast during this part of the podcast(!!) but essentially this point is talking about your network of contacts, obviously the more quality people you know (related to the problem domain) the better.
Here are some things I would do to try and expand this;
- Do searches on Social Networks relating to the problem domain and connect with people talking about it (and don't just follow them, speak to them, introduce yourself).
- Ask your current network if anyone has any contacts in your desired area and ask for introductions, the more personal the better.
- Find out if there are any related meetups happening, get involved in the scene.
- Start talking about the problem domain within your network and people will find you.
This area tackles how much time you could spend working on the problem, obviously the more free time you have the better.
Nobody ever has any free time ever, I get that, but here are some things you might want to consider;
- Delegate some of your current time sinks (see the section on delegation above if you want to improve upon it!).
- Kill off something else - Maybe you have something you put a lot of time into but you don't really enjoy it or it isn't really going anywhere, perhaps you need to chop it.
- Learn to say no to things - A lot of your time is probably like mine, spent doing things you agreed to with people, sometimes you just need to say no in order to make time for things you want to get done.
- Read and follow the advice laid out by Getting Things Done, you will find you have more time to focus on what you find important if you are effective at getting stuff done!
- Learn to plan your work properly (see the section on project management) if you can do that then you should be able to limit the damage not having a huge amount of time can do.
Naturally if you have capital that you can invest into an idea, the smoother things could go for you, or if you have a good chunk of savings it means you could maybe invest a little more time into the project and less on consulting work or your 9-5.
There are entire industries dedicated to making you more money, but here is my meagre offering of suggestions;
- If you do consulting work, increase your rates.
- If you do 9-5 work, ask for a raise. (It is pretty much that simple, just ask, where is the harm?)
- If you have monthly outgoings that involve paying off a loan or something, try and pay it off in one chunk now, it will hurt in the short term but each month you have less going out, plus interest etc.
- Learn from the Money Saving Expert.
- Have a clearout and sell stuff you don't want or need.
- Review your monthly outgoings, is there anything that can be killed or reduced? (A lovefilm account you no longer use, for example).
How much focus you can put into the project will greatly affect the effectiveness of it, you could have all the time in the world to spend on it, but if your mind is on other things then it is not time being well spent.
There are the few things I do when I really need to focus, I am still trying to form them into habits;
- Stop visiting stupid websites and websites that eat up your day with pointless next next next clicking.
- Plan your time well so you aren't likely to get distracted by things like friends and other external entities.
- Map out your day and break it down into small, manageable sections. It is easier to complete lots of little small things than one large task, this also helps reduce the issues that come up from context switching.
- As I said in the Time section, following GTD principles will help a lot.
Focus can also mean how focused and committed you are to shipping the project and getting it over the line months after the initial excitement of starting a new project, my tips for this really come back to what was outlined in the section about your passion for the project, revisit the reason why you were so passionate about the project to begin with.
Hopefully you found this list useful and if nothing else hopefully I have introduced you to an excellent podcast!