📜 ⬆️ ⬇️

Principles of Getting Real (Part 2)

In the first part of the article, we touched upon the first 25 principles described in the book Getting Real by 37signals. The book is very concentrated, and contains the entire set of recommendations necessary for the successful launch of a small team. So I had to put everything in two articles. We continue.



26. Keep the program code simple.


When we write twice as much code, this does not mean that the program will become twice as complicated. The complexity of the program grows exponentially. How to keep a small amount of code? - Less functions, less code, less waste. Redefine the task that requires a lot of code so that 80% of the requirements can be solved by spending 20% ​​of the effort. This is a very big win.

37signals find solutions to simple problems. Instead of developing products that do more, they develop products that do less.
')
Encourage counter offers from programmers. Let them tell you what is wrong and how to do it differently: faster and better. The ideal phrase of the programmer: “If you do it the way you propose, it will take 12 hours. But I can do it in an hour. Then the program will do X, but it will not do Y. Let the programmers defend their point of view on how best to write the program.

Remember: no code is more flexible than no code.

27. Tools that give happiness


A happy programmer is a productive programmer. Choose tools based not only on standards and performance, but also on whether the tool gives programmatic happiness. For example, if you chose to build birt reports, be prepared that there will never be happiness. See if passion, pride and skill are felt in the instrument? Small details of current work should bring joy. 37Signals found programming happiness in the Ruby language and created the Rails framework.

28. Listen to your code


Your code will resist inelegant solutions. Perhaps he will tell you that there is an easier solution. Choose a function that is easy to do. Perhaps it will not be exactly as you imagined it at the beginning, but if it works well enough and leaves time for other things, leave it.

29. Pay off code and design debts.


Have you written a block of code that works but is untidy? —This is a debt.
Sketched design on the principle of "and so come down"? —This is another debt.
In fact, this is a normal approach when you make a product by a certain date in order to make users happy. But debts need to be closed, so regularly allocate time to pay off the accumulated debts. Otherwise, you will accumulate tons of a crutch code, which will be very difficult to disassemble. You do not remember how and why it works that way?

30. Open the API. Freely admit and release data


So you make life easier for everyone. Give people the opportunity to share data with your product. The API will allow many developers to extend the functionality of your product. Do not underestimate the contribution that other developers can make to your product.

31. No functional specifications.


These are just words on paper. It is better to write a short story in one page instead of a specification. Describe what the application should do. Write in simple language and do it quickly. If you did not have one page, it means you are very complicated. This process should not take more than one day.

As soon as you write this short story, start building the interface. It will be an alternative to the functional specification. Everything is visible on it and everything is clear. First draw a few sketches on paper, then encode in html. Ambiguity goes away when everyone starts to see the same thing on the screen. Build an interface that people can poke with the mouse. Do this before you start worrying about the internal code.

32. Normal words, instead of lorem ipsum


Standard fish will allow you to understand how the design will look. But real words will let you know if a design should look like this. Text content is not just a part of visual design, but it is important and meaningful information. Dummy text is the veil between you and reality.

Take this information to see how the table will stretch. Enter the real data in the form in order to understand how convenient it will be for users. When you check the form to send data - do not enter something like “asdf” in the fields. If you are too lazy to fill in all these fields each time, what will happen to the users?

33. Humanize your product.


Determine the type of identity of your product. It can be strict, humorous, playful, passionless, demanding, etc. When you make a decision about a character, follow this character and bear in mind these features during product development. Whenever you make changes, consider how this change corresponds to the nature of your application.
Your product has a voice and it talks to your customers 24 hours a day.

34. Price and registration


Give something for free. There are a lot of things around and they won't notice you if you don't give anything for free. In smart companies, it is so accepted: to give something for free / as a gift / for shares, in order to increase customer loyalty, and, with it, profit.
37signals provide free basecamp use for 60 days. During this time, users feel delight, get used to the product and it becomes much easier for them to switch to one of the paid tariffs.

35. Make registration and rejection painless.


The registration process should be “for dummies”. Put a large and clear button on every page of your marketing site. Tell us what is easy: from registration to use 1 minute! By itself, registration should always be free so that the user can log in and understand what he needs. Do not ask for registration information that you do not need. Just ask email, in most cases this is enough.

It happens that people want to close your account. This is unpleasant, but normal. Do not hinder this. Just show the link: “Close my account”. Allow the person to upload their data so that it does not turn out that he is forever sharpened in your system because of this data. This is a critical factor that directly affects the trust of users to you.

36. Avoid long-term contracts, connection fees, etc.


It's one thing when we are demanded money for the year ahead, and another thing when for a month. This greatly affects sales. Just make the payment in small portions. Basecamp debits money from the card every month.
Connection fees are also evil. This is just a trick to collect more money from customers. Earn their money and they will use your product.

37. Bad news


If you have bad news - tell us about it as soon as possible. When you increase tariffs, sweeten the pill to your old users. Tell us what you value them, so they can use your product for some time at the old prices.
Sometimes feil occurs. Admit it and donate something. For example, I am a Yandex-Disk user. When they had a big joint in one of the versions of the program, the Yandex disk team presented the users who installed this version with 250 GB of space each. I must say that this place in the cloud is more than enough for me, so I am satisfied.

38. Product Release


Launch the product in a Hollywood style. If you release a product without prior preparation, nobody will ever know about it. Hollywood does this:


39. Start a blog


Advertising is expensive. A blog is only worth your time and it usually pays off. Personally, I immediately remembered the blog Fedor Ovchinnikov sila-uma.ru in which the entrepreneur describes all his steps in the business. Reading this blog is fun and interesting.
Start by creating a blog that not only praises your product, but also gives you some useful tips, solutions, links, etc. 37 signals also run their own blog , which is visited by thousands of visitors per week.

40. Promotion through training


Share knowledge with others. This way you get an audience. Learning is the way for your name and the name of your product to appear in front of many people. Instead of imposing your product, you get attention for providing an educational service. Post on your site tips and solutions that readers want to share with others. Speak at conferences and stay to talk to the participants at the end. Hold seminars, write articles and books.

41. Food functionality


Adding new features is a good way to increase your conversations about your application. Basecamp adds RSS and they start talking about it. Basecamp actively use ajax (when it was released, ajax was a new technology) and 37signals are beginning to be talked about as one of the key players of ajax, along with microsoft, google, yahoo and amazon. Integration with iCal attracts Mac users.

42. Keep track of references


If they say about you, it is good. Keep track of what is being said about you and react in a timely manner. If you begin to actively talk on some forum, - join the conversation and answer the questions asked. I remembered an interesting case, when a representative of JetBrains answered some questions on a rutreker in a thread dedicated to Intellij Idea. Very nice of them and it really makes a good impression.

Appreciate any feedback, incl. and negative. You can respond with something like “we value your opinion, but we did it in this or that way, because ...” or so: “you have raised an important problem and we are working on it”.

43. Sales within the application


Offer a transition to advanced features in the application itself. Now it seems obvious, but Getting Real came out in 2006 and then there were few services offering this approach. The bottom line is that you should have several tariff plans for different categories of users. Someone needs a free version (like me with CRM bittrix24), but someone needs full functionality. Give people the opportunity to buy more features. Often they do this on shared hosting: this is an opportunity to purchase additional disk space or an additional MySQL database.

44. Easy name


Do not make a tricky title. It should be simple and easy to remember. What is easier to say in everyday conversation: Basecamp or Active Collab? Whiteboard or CollaborEdit?
Choose a short, bright title and go ahead. Do not get carried away with focus groups and other unnecessary things.

Do not worry if the domain name is busy. Pick up something close.

45. Feel the pain of support


Crush the walls between engineering and support. In 37signals, the developers themselves are engaged in support. This allows you to directly communicate with customers and understand what is happening with the product. They have answers to most requests come within a few hours. Do not give technical support to the call center or a third-party organization, but do it yourself.

46. ​​Zero learning


Make the help system built into the product. To use Yandex or Google you do not need reference books. Why don't you make your product as easy to use? Start with a simple program. The less complexity - the less effort for misguided users. A good help system and FAQ lists are a very good way to help.

47. First users


You can compete with large companies if and only if you pay attention to each user. The first users are those who will point you to errors in the program and to those needs that your program does not satisfy. And they will tell others about your program.
When users report bugs, be sure to respond to them as quickly as possible. They count on you to listen to them and take care of them.

Chat with people on the forum. First, you will answer all the questions yourself, but soon you will notice how more experienced users will start giving advice to less experienced ones. You will need to intervene in the process less and less, but you always need to be there and be ready to help.

48. Setting up in a month


Fast updates show movement and the fact that you listen to user requests. This suggests that you still have gunpowder in the flasks and berries in the buttocks. A quick update reinforces the positive impressions associated with the product and provides additional food for discussion in blogs.

Show that your product is alive. Continue to blog the product after its release. Do not stop writing. Include frequent questions, lifehacks, effective ways to work with the program, unusual tricks, tips and solutions, new features, updates, fixes.

49. Not beta, but better


Do not use the word "beta". This already nazolilos all eyes. When you say that you have released a beta version, you actually admit that the product is raw. It sounds like this: “Here you go. This is our new product and it is in beta testing. If there are any mistakes, we are not to blame, because this is, after all, a beta. ” It is normal to allow beta testing to a narrow circle of people by invitation. However, you can not make beta publicly available. It is much better to use a different approach: a good product with minimal functionality in the first version.

50. Prioritize mistakes


Determining the priorities of affairs is one of the most important qualities in life and this applies not only to programming, but also to any other affairs. Find out what is really important and act. When an error report comes to you, do not rush to immediately correct it. Perhaps you have better things to do. When business concerns small jambs with imposition in old browsers is not such a big trouble. If it comes to user data, this should be corrected immediately and be perceived as ahtung.

51. Wait out the storm


If you have changed something, wait this moment and do not pay any time for the reaction of users. For example, many people remember what happened when microblogging was entered on Vkontakte .

This is normal. Many people will swear until they get used. However, those who are usually satisfied with everything just remain silent. This is normal behavior and you will always be in a situation that there will be more negative reviews than positive ones. Do not roll back on the basis of such reviews and just continue your line if you are sure of it. Relax and do not move for a while.

52. Keep up with competitors


Sign up for competitor news and always know what they are doing. Read RSS, forums. You should always know what competitors are doing, what functions they implement and what their users think about it.

53. Go with the flow


Always be ready for new ways and changes of direction. If something has changed, do not be afraid to change yourself. If you are developing a network application, you can change it very easily. Accept the fact that your original idea might not be the best and, if it shows up, you can always change direction.

Embodiment


Very many people (although they are becoming less and less) are able to read and read. But very few people do something based on what they read. Try to bring your ideas to life.

After reading Getting Real, I decided to start a project that I started thinking about a year ago. In addition, I will try to apply most of the above ideas in this project.

Please write in the comments about your experience with GettingReal, your product blogs and rakes in the application. Thank.

Source: https://habr.com/ru/post/289976/


All Articles