Honestly speaking, I didn’t expect much of the book. What is there new about CustDev, problem interview and various lean-things? We talk to a client, do what they want, everything is clear. However, the book was a pleasant surprise. The topic is discussed in all details. After reading it and practicing a little bit, you can conduct trainings on the topic.
But here’s a small introduction. CustDev solves a very important problem connected with the fact that developers like to do their job but don’t like to talk with users of a product. Usually, in order to solve this problem, there are people in a project team who find out clients’ needs — system analytics. They communicate with clients, write requirements specifications, according to which an architect makes a technical project — a document with a decomposition of modules, a description of interfaces among systems, solution architecture. A project manager cuts functionality on iterations, make priorities, forms a team and a development starts. There are some problems in the case:
- requirements in specifications got old and a client had many new ideas, changed the priorities already made.
- a solution was changed in the process, developers made their own decisions (for example, format of borders) while introducing it, that’s why requirements should have been synchronized.
- it’s difficult to observe a balance of interests — for a good designing, planning of teamwork a big detailed specification is needed at the beginning of the work, and for a quick bugfix you need work in an Agile style, not a change of priorities in specifications.
The reasons of a problem why developers don’t like to communicate with clients lead to a myth about “garage programming” which appeared in 1975. The idea is that any 1-3 people who lock themselves in a garage for 1-12 months will create a super thing which will conquer the world and make them incredibly rich. It’s not true. There’s a search for a solvent client who will buy the product and quickly and efficiently solve his/her important problem in the basis of any good idea which has won the market. The most difficult is to get money from a client for a non-existing product til it’s ready.
Agile (XP, Scrum, Continuous integration) was such a great success in software development before CustDev practice. It solved the previous huge pain of developers — aging of specifications, changing of functions priorities, delay in delivery of a working product (or its part) to a client.
TDD was a major insight before Agile. It solved a problem of a big number of bugs and non-fitment of modules.
Active development of SourceControl systems was a great break-through before TDD. It solved problems of group development and a code backup.
UML, RUP, DesignPatterns appeared earlier for designing software and avoiding of creating bicycles.
Before it, code guidelines, reverse engineering were used in order to have a possibility to maintain the systems written earlier.
Some things appeared almost simultaneously and developed at the same time but this is the idea — there’s a solution for every problem. Possibly, Lean will get outdated soon and something new will appear. But at the moment it seems to be the best way to find, realize and release an idea to a market spending minimum of time, money and team efforts.
I had quite significant insights from the book.
1) It’s important to understand how the market works in reality without you and without trying to impose your vision of reality.
2) It’s important to make clear all types of ambiguity in a product — the number of clients, conversion, where they find out about your product from, how often they use it. Generate and check solution variants on each question — product hypotheses. A good tempo is to check 50+ of them in 3 months, i.e. to constantly analyse everything and communicate with clients.
3) It’s important to find out client segments in order to spend less money on advertising, i.e. create advertisements for a definite group of people.
4) Listen more and talk less to a client. Ask about the past, not about future. Talk about their lives, not about your idea.
5) A very unpleasant insight for many people. To ask a client what the consequences of a situation when a problem appears (meaning there’s no your solution). Every entrepreneur dreams to hear that without his/her solution all clients chakras will close and he/she will die suffering. It sounds sad but the world will do without your genius idea in 99.99% of cases.
Understanding that the idea isn’t very painful decreases motivation of the team a lot but it’s better to hear it as soon as possible. Entrepreneur’s Stockholm syndrome is a separate problem when a failed idea eats his/her time and resources many years — a project doesn’t develop but isn’t closed.
6) Love bad news (a product, a realised function isn’t needed) as a search for the truth is more important than a compliment and will save your efforts in future, if you don’t do unnecessary things.
7) A typical mistake in a conversation with a client is to start pressing and explaining what a great idea you have without seeing an interest.
8) Ask a question an answer to which isn’t evident (for example, you can’t google it). “Would you pay X money, if it’ll bring you 3*? money?” — is a bad question. Ask “How much will you pay for a solution now?”
9) There’s a plan for each communication — 3 most important questions.
10)A meeting is successful if you understand what to do next:
a) plan — there are obligation concerning time till next meeting.
b) reputation — a promise to give it to directors/other experts.
c) money — a preorder or an agreement signed. I.e. each new meeting with one and the same client should be a promotion in a sales funnel — from defining a problem to buying a solution.
12) The most difficult is to conduct an interview without making an appointment but during a simple communication.
13) Good ways to make cold phone calls less cold (so you don’t search for clients/partners) — lead a blog, acquaintances via third parties, makes speeches on conferences, ask contacts from branch experts, mentors and investors.
14) A great letter pattern:
a) vision (we’re trying to solve problems in some sphere)
b) statement (we want to understand how it works)
c) weakness (but we don’t understand it)
d) importance (but you understand it)
e) request (let’s meet)
15) Continue meeting until you hear something new, sometimes 3-5 meetings are enough to check a hypothesis.
16) Client segmentation is important as you won’t have to realise many functions in order to satisfy everybody (=nobody).
17) Client segments are not demography only but other characteristics as well — critics and admirers of a product, the rich/the poor and so on. It’s better to work in one segment. The best segment is the rich admirers.