We started our business in 2014. Our company has been working for 1.5 years in the IT industry, and we’ve made a lot of mistakes. To prevent mistakes in the future, we’ve collected our experiences into notes.
Building the business of your dreams takes time
We thought that we could build a company with a remote team, clear and stable processes, and great culture in a month—or in a year, at the most. We have never been so wrong. It takes a lot of time to tune every process step by step. Everything takes time. And sometimes that’s really depressing.
Don’t be mad because of that. Be patient, take small steps, and remember that you will not build the business of your dreams in a just a little time.
Automate as much as possible
Some tasks take a lot of time and energy. Even ordering coffee, tea, or stationery for the office may take a week if you don’t have any process for that. We automated some of our processes with Trello, which helps us save time.
Set up processes and make sure that everyone follows them. Delegate tasks that can be done by others. Don’t try to control everything, or you will end up with a bottleneck.
Development of your product will be expensive
When you work on projects for your clients, you probably dream about your own product. Just remember that it’s easy to invest a lot of money and get nothing in return.
People should work on a product full-time. Don’t create a team that consists of only junior developers. Someone should manage tasks and be responsible for delivering the results on time.
Don’t forget about marketing and product support. Be realistic—it’s expensive.
Customers may not pay
You can complete your work perfectly and on time. But the customer may not pay you. It is a business, and nothing can guarantee that you’ll receive your money.
Improve your agreement templates and take prepayments to minimize such risks.
Invoicing is a process
If you don’t remind people about payments, they may think that you don’t need the money right now and may delay payment.
When sending an invoice, ask about the payment date. Remind customers a day before the payment is due. Have a system in place in case of payment delays. Don’t be afraid of pinging the debtor every day.
Don’t work for free
You don’t help anyone when you are working for free. Your quality of work will become worse, because “it doesn’t matter, this customer doesn’t pay anyway.” If a client has accumulated debt, don’t accept offers to finalize things. It will not help the customer to pay his or her due balance.
If you have free time, it is better to invest it in company development.
Don’t create discounts
Your rates should be justified. Only when you charge the predetermined rates can you pay taxes, salaries, and develop your business further. Don’t establish any discounts; otherwise, you will not be satisfied with your work, and this leads to poor-quality products, as described in the previous note.
It’s easy to forget about sales if you have enough projects at the moment. However, you will suddenly find yourself on the chopping block when one of your projects ends suddenly for some reason.
Allocate time and people to work on sales every day. Formalize this process.
Stay in contact with past customers
Returning customers and recommendations are the most effective sales sources.
Make progress visible
We believe in remote and async work. We were saying, “Hey, we provide the opportunity to work remotely and async,” but we failed. Move communications to public chats, which will remind everyone about your commitments and progress. Make your progress visible and encourage teammates to do the same.
Send out a public chat detailing what you’ve just done, what you plan to do next, and what obstacles you may encounter. Set up notifications from your task tracker to feed into the chat.
Everyone wants to earn more money
Work with employees personally to prepare their development plan and responsibility milestones. Completion of the milestones should lead to salary raises. Pay for the work the employee actually performs and the responsibility he or she actually takes.
Don’t hesitate to fire people
If you don’t like how someone works, don’t give them that 3rd chance. To make firing more comfortable, formalize this process:
- Give feedback and prepare milestones.
- Warn the employee that if the goals are not met, he or she will be fired.
- Come to a mutual conclusion about the results.
Don’t hire friends
It’s a pleasure to work with friends as colleagues. It’s hard to work with friends as employer and employee.
Stay in contact with employees
Give feedback to employees often. Discuss mistakes and learning plans. Ask for feedback from them. Set up a process for that.
Write a playbook
Describe your values in one document. Describe the human qualities you expect from all the people you work with. Don’t hire people who don’t believe in your values.
You don’t control products if you work as a dedicated team
You have no influence on project development if you don’t manage that project. Sometimes we see good products with a great business idea, but they turn out unsuccessful because of bad decisions we don’t have a say in.
Give priority to the projects you can manage.
Outsourced managers don’t care
Outsourced managers don’t think about the product and work based on the CYA (Cover Your Ass) rule.
Management is important
Management is not always related to managers directly. But someone should oversee tasks, development risks, and records of work performed for a client. Allocate time for that kind of work.
Don’t create positive expectations
Nobody likes when their expectations differ from reality. Be careful when talking about estimations and possible delivery times.
Small fixes cost a lot
Even a small change or fix takes a lot of time and energy. Usually, you’ll decide to do it in unison with your major project. And usually, you waste a lot of time switching between the tasks and communication.
Don’t repeat this mistake.
Show progress to the client
Write a task description using words that the client understands. Present new features personally, answer questions, and ask for feedback. Don’t send a changelog as your text.