7 mistakes I've learned during 7 years of software development
I was doing custom software development for 7 years. I started as a freelancer. I was coding website front-end, creating the design, and running marketing campaigns occasionally. Later, I founded a dev agency with 9 people in our team. We focused mainly on mobile applications both for Android and iOS. During the time I’ve worked on numerous projects for clients all around the world. Everyone had a different approach, different requirements, and different business goals. However, they were making the same or similar mistakes again and again. I decided to sum up and share 7 mistakes many of my clients were doing building their products.
#1 They don’t validate the idea
This seems to be the most common problem. They have a project idea that they think is unique and it will make a fortune for them. They don’t even talk to people about the project idea because they were afraid someone steals the idea from them. Of course, those people wanted to sign NDA as soon as possible.
When you have an idea but you are sharing it with no one you can’t receive feedback and therefore validate the concept. You should do the opposite. Talk to as many people as you can. Listen to their thoughts and be open to their feedback. The best feedback you can get is when someone criticizes your idea. That’s the turning point that might open your eyes. Don’t get me wrong. I’m not saying you should give up on the idea after one or two negative feedbacks. No. From my experience, the best ideas are those where 50% of people think it won’t work but the other half like it very much.
#2 They skip a minimum viable product
The scope of the project was usually huge. They don’t think about some basic version where they can test their assumptions and onboard first customers. They want the product with all features they thought of straight away. No landing page. No contact gathering. It takes months to build a product they dream of. On top of that, they often came up with other “essential” feature requests during the development. We spent hours trying to negotiate with clients and persuade them to stick to the plan and don’t add more features into the first product version. Usually, it was useless and they insisted on that. My advice is to start with a simple product. An essential feature. Something that your project can’t exist with. Find that feature that is helping your customers and build a product around it later on. It allows you to get first users, receive feedback, and build functionality based on that.
#3 They focus too much on details early on
I understand everybody wants to have a perfect product. They want to have a beautiful logo, a nice user interface, rocket speed website loading, pixel-perfect web design. We all want that. But ask yourself how is it important in the early stages of your project? Unless your competitive advantage is better useability and fast loading you shouldn’t put much effort into it. That’s something you can tune-up later.
Don’t waste time playing with the product and ship it as soon as possible.
#4 They don’t plan a budget for future development
They are paying to get a final product. Or at least, they think it is a final product. But software development is not like making bread. Your product will never be final. You have to work continuously and invest your time or money into it. They are missing these future expenses or they think paying the server will be enough.
You need to have a bigger plan about how much time or money you are going to invest in your product regularly.
In terms of software development, it equals to an agile approach. You start with a small product and then you are shipping new features continuously on a regular basis. The plan is to deliver some new functionality or improvement in each iteration.
#5 They don’t have a business plan
As I mentioned earlier, they don’t plan so much. They don’t count their running costs or think their product will be in the final stage of development right after the launch. Usually, they don’t have any business plan, cashflow plan, product development plan, nothing. They trust their gut and invest money into it. Sometimes, I even shared my business and cash flow templates with them so they can copy and use it for their project as well.
It is very important to create some “tangible” plan in the beginning. Sure you can modify it later based on new circumstances but you need to know how much time or money you are putting in and how your investment will return.
#6 They don’t listen
Some clients just ignore feedback and inputs they received from the outside of their bubble. They are living a dream, loving their own product, thinking it’s the best software out there. The problem is their ego.
Sometimes, we don’t want to admit failure. I know it’s hard. But you need to have your ears opened and listen to signals you are getting from others. It’s the best way to move forward, pivot the product, and find a market fit in the end.
It’s highly probable you won’t succeed with the first version of your product. The key is to learn and iterate fast. I know many success stories when the founders decided to pivot their project because they saw an opportunity on the market. It’s easier to change the direction of your tool or service while you are in an early stage. Be open to indicators you find during your startup journey. Listen to users and try to fulfill market needs.
#7 They expect to get rich immediately
Building a product is one thing, monetizing is another. They believe their idea is worth a million and forget about the execution. Which I believe is a crucial part of building a successful business.
I learned that you shouldn’t waste much time trying to come up with a million-dollar idea and just go for it. Validate it as soon as possible and ship an MVP quickly. You won’t be successful overnight. It’s a long term process. I think it’s more than a process, it’s commitment. You decide to build projects, learn on your mistakes, and get better every time. Then, I think it’s just about persistence and I believe you will figure it out.
Summary
I hope you’ve learned something from these mistakes and it will help you with your project or ideas.
To summarize the outcome of this article, I would like to point out a few highlights:
- Talk to people share the project ideas with them and ask for feedback.
- Start with a small product or feature.
- Don’t waste time focusing on things are not essential for your product
- Plan your product development. Iterate. Bring new features in cycles.
- Create a simple business plan, calculate your expenses, and expected revenue.
- Listen to your customers, be open to feedback, and don’t be afraid to pivot.
- Be patient. Success doesn’t come overnight. Persistence is the key.