I think a lot of people who participate in BarCamp are painfully transitioning from programmers to entrepreneurs. Although I myself have never been crazy yards (just shut myself down in the basement for a week, tossing out 100,000 lines of code like this. =), But I've also done this transformation. And in the years that HelpSpot was founded, I myself have come to some conclusions, and why people have failed.
1 code is only 5% of business
The biggest and most serious problem I've seen is that developers are kidnapped by code themselves, spending countless hours refining a feature or showing off the latest technology. Yes, your code obviously has to be of high quality and requires no serious bugs and security issues. However, you have to remember that, even the best code, if it is still no one to use then it is rubbish. And when the Inland Revenue Department comes in and goes into taxation, you will find that the code is useless, and when you receive the court summons for intellectual property, you will find the code is useless.
I've seen too many entrepreneurs discussing code issues in forums and blogs, but not in business. Of course, discussing the business problems may be more headaches, then, who let you go to start a business?
2. The interface is important, especially compared to competitors
Your product interface must be fine! Standard gray background and box controls are not enough. But you also need to pay attention to your interface only need to be more beautiful than your competitors on the line. So you are developing a back-office management system for IT systems, and you do not need to follow the standards of the end-user product. All you have to do is make your client aware that your interface is better than your competition. Remember, people often look at the cover to buy a book.
Think long-term
Programmers like to debug programs, find problems, and then destroy it! You can immediately see the results, this feeling so cool? But in the field of non-programming, many things are to rely on time to wear, not so much to see that The good deeds are waiting for you. So you need to think long term. To promote your product, gaining market share may take months or even years. Think about your product and the market more than 6 months later.
4. Admit you to the user's needs do not understand, and correct it
You are likely to develop software for a field you are unfamiliar with. This is an area of opportunity, but you also need to be aware that you need to do more than just market research. You need to understand real users and talk to them. I know you do not like to do this, but you have to do it. Otherwise you do not know which features are useless, which features are needed and you do not.
Many people at this point made the mistake of copying the features of their competitors. This is fainting, a bit like copying your friend's homework, and then the two wrong exactly the same. By talking to the user, you can avoid the mistakes made by your competitors.
5 love your users
Many developers are spent in technical support department. Their clients are company insiders who tend to disdain their customers. This is normal, because they do not directly proportional to the amount of income they earn.
But you have to leave these aside. I have seen some software developers bring this attitude to the field of commercial software, so can not survive. The only way to be successful is to fall in love with your client. You need to do their best to meet their needs, if not, you have to explain why. If they choose a competitor's product, you must respect their decision and tell them that you are as happy to serve if there are other needs. I've snatched the lost list several times because I feel good about them on the way to our customers.
6. Design to be simple, then advanced users also like simple
The user interface is not meant to show off technology. You want to make the interface simple. Like advanced users, advanced users like simple. The most important reason to keep the interface simple and easy to use is to attract experience users. Experience users will only give you a few minutes, if you can not let them quickly get started, then they will go to see other products.
Tell people in other fields about your thoughts
You should always show your newest products to people in different fields. You will be surprised that they can find a lot of interface and functional problems, even if they do not understand your field. This is called onlooker clear!
8 brave to delete useless features
Nothing is more painful than getting a programmer to delete a perfectly functioning piece of code. But you have to do that. In the development process, you will realize that some completely unnecessary function. You'd better find them before releasing your product. Once you find out, you have to delete them so that they do not cause any problems.
For example, when HelpSpot was developed in half, I found that there is a function of how to do well. This feature is used to allow users to import customer information. This is not a good idea, it helps HelpSpot looks like a CRM semi-finished products. It also means more complicated UIs. So I cut off this feature over, waste a few weeks time.
Facts have proved that my decision is wise. We cut out the sync feature, but added real-time customer query capabilities. With HelpSpot, users can query their existing CRM system for customer information. This feature is unique and is heavily used by my clients.
Patience is a virtue
Time is not enough. Often it only took a day's work to spend weeks praying. You need to be patient. I have found that I must always remind myself of this, or I will become irritable because I do not have enough progress. If possible, do not set a deadline with your clients, let alone complete a three-month commitment to work in a month. I myself still wondering this.
10. Always treat entrepreneurship as learning programming
Remember when you first started programming? You read every book. When you learn the first language, you buy eight different books. Although they speak about the same content, you read them all because you always feel that you have not learned enough. From a programmer to become an entrepreneur, you need to take this attitude out, or you will always reluctantly, never become rich and handsome. You need to read as much information as you can about the target market, the business, the day-to-day management, the time management