Intro: Focusing on Obstacles #

A strategy is like designing and throwing a bunch of punching combos: where is the enemy? Where to punch? Where NOT to punch? How to punch? How does your first punch help the second and third ones?

Fighting Combos

The key idea of this book is the kernel of good strategy. Kernel of strategy = diagnosis + guiding policy + coherent actions.

kernel-of-strategy-1Guiding PolicyCoherent Actions Coherent Actions Diagnosis



A good strategy is surprising but reasonable. For example, when Steve Jobs returned to Apple, he cut the product lines to a few profitable ones. When asked how to compete against the Wintel standard, he just smiled and said, “I am going to wait for the next big thing.”

Another example is Desert Storm. While the media exposure was focusing on the main troops moving slowly in the frontline, another group of military force was moving across the empty desert of southern Iraq as a “left hook.”

Doing everything and thinking everything is important means everything is equally unimportant. Good leaders are supposed to know what to do and what NOT to do.


When we ask what a strategy 101 is, a fundamental answer is SO strategy (Strength + Opportunity).

Shakespeare says in Helmet: there is nothing either good or bad, but thinking makes it so. From a dynamic perspective, strength and weakness are relative. The story of David and Goliath is a good example. People may think that David, the small and the inexperienced, can never fight against Goliath, the giant and the experienced. However, the truth is that David leverages the shepherd’s sling to beat the slow and clumsy Goliath.

Walmart vs. Kmart is another example of finding strength out of where people hardly see. The traditional wisdom of retailing believes that a full-category grocery store has to be placed in an area with the population of at least 100K. However, Walmart can launch its store where there is less population than 100k. How could this happen? It is because that Walmart has a way more efficient supply management system, which makes those stores into an organic network; on the contrary, Kmart does not have close relationships between stores, and they cannot get united, cannot lower inventory costs, and cannot negotiate against suppliers as a whole.

In Cold War, Andrew Marshall designs the strategy to compete against the Soviet Union with comparative advantages - back by the economic and technological advantages of the US, developing things with huge costs but cannot establish actual offensive threats, like increasing the accuracy of missiles or quiet submarines.


Bad strategy is formalism. People mistakenly think the form of the strategy is the most important and cannot embrace the reality. There are four hallmarks to detect bad strategy.

  1. fluff: strategy should not be just a collection of fancy buzzwords.

    • e.g. a major bank says, “Our fundamental strategy is one of customer-centric intermediation.” = “Our bank’s fundamental strategy is being a bank.”.
  2. failure to face the challenge:

    • If you fail to identify and analyze the obstacles, you don’t have a strategy. Instead, you have either a stretch goal, a budget, or a list of things you wish would happen.
    • It takes caution to establish =root-level metrics. If you can’t measure it; you can’t improve it. However, are you improving the right thing?
      • OKR-driven Google vs. KPI-driven Baidu
    • A successful example is DARPA.
  3. mistaking goals for strategy.

    • e.g., a 20/20 goal - We will grow revenue by at least 20% each year. We will maintain a profit margin of at least 20%.
    • metrics themselves are not a strategy.
  4. bad strategic objectives

    • Objectives are sub-goals of your goal.
    • A good strategy works by focusing energy and resources on one, or a very few, pivotal objectives whose accomplishment will lead to a cascade of favorable outcomes.
    • What are bad objectives?
      1. Dog’s Dinner Objectives. Again, everything important equals to everything unimportant.
      2. Blue-Sky Objectives.

Intro #

What are habits? Do things just like doing no brainers. Businesses cultivating customer habits gain a significant competitive advantage. This book proposes The Hook Model describing how to form a user habit with four steps:

  1. Trigger
  2. Action
  3. Variable reward
  4. Investment

The Habit Zone #

  1. Benefits of Habits

    1. Increasing LTV
    2. Providing Pricing Flexibility. Warren Buffett: People are less sensitive to the price of products they formed routines around.
    3. Supercharging growth. More is more principle: Linear decreasing of the Viral Cycle Time can speed up the user acquisition exponentially.
    4. Sharpening the competitive edge. 9x Effect: new product has to be 9x better than its existing competitor (which users have been familiar with) to win the market.
  2. Successful companies build the mind monopoly.

  3. How to identify the product’s habit-forming potential?

    • Not all software usage could form a habit. As presented above, only a behavior happens with enough 1) frequency and 2) perceived utility, a.k.a entering a habit zone, can help to make it a default behavior.
habit zone
  1. Habit-forming technologies often start as vitamins, but once the habit is formed, they become painkillers.

The Hook Model #

Trigger #

What cues people to take action? Triggers.

  1. External triggers to attract users first
    1. Paid triggers
    2. Earned triggers
    3. Relationship triggers
    4. Owned triggers
  2. Internal triggers
    1. Related to thoughts, emotions (particularly negative ones), or preexisting routines
    2. people suffering from symptoms of depression used the Internet more.
  3. The goal of a habit-forming product is to kill or relieve the user’s pain.

Action #

How to initiate any behavior?

B = MAT (behavior = motivation + ability + trigger)
  1. Motivation
    1. Three Core Motivators. all humans are motivated
      1. to seek pleasure and avoid pain;
      2. to seek hope and avoid fear;
      3. and finally, to seek social acceptance and avoid rejection.
    2. examples
      1. Barack Obama’s Hope Poster
      2. Sex Sells
      3. Sports Ads
      4. Ads trigger negative emotions such as fear
  2. Ability
    1. Easier task leads to the higher adoption rate
    2. Six elements of simplicity
      1. Time
      2. Money
      3. Physical effort
      4. Brain cycles
      5. Social deviance
      6. Non-routine
    3. examples
      1. Login with Facebook
      2. Share with twitter
      3. Search with Google
      4. Snap a picture with iPhone lock screen
      5. Pinterest infinite scroll
      6. Twitter uses the homepage to encourage certain behaviors
  3. Daniel Kahneman: Four mental biases
    1. The Scarcity Effect: The appearance of scarcity affected their perception of value
      • e.g. Amazon “Only 6 left in stock.”
    2. The Framing Effect: The mind takes shortcuts informed by our surroundings to make quick and sometimes erroneous judgments.
      • e.g. Tasting the same wine, the higher the price, the more pleasure people will feel.
    3. The Anchoring Effect: People tend to anchor to one piece of information when making a decision.
      • e.g. 30% off
    4. The Endowed Progress Effect: people are more motivated when they believe they are nearing a goal.
      • e.g. Linkedin Progress Bar near to finish to improve your profile strength.

Variable Reward #

  1. Principles in our brains
    1. When do people feel happy about rewards?
      • People feel happy not when they receive the reward itself but when in anticipation of it.
    2. Same rewards do not work over time. Fondness = familiarity + novelty.
  2. Three variable reward types
    1. The tribe: We seek rewards that make us feel accepted, attractive, important, and included.
    2. The hunt: We need to acquire physical objects, such as food and other supplies that aid our survival.
    3. The self: We desire to gain a sense of competency.
  3. Finding the proper variable rewards is not easy. Gamification is effective only when they really scratch the user’s itch.
  4. Maintain a sense of autonomy. Let the user choose what to do.
  5. Finite variability leads less engagement because they eventually become predictable. e.g. Zynga’s FarmVille. People usually don’t watch the Breaking Bad twice. Thus UGC is super valuable.

Investment #

  1. The escalation of commitment: The more users invest time and effort into a product or service, the more they value it. Our labor leads to love.
    • e.g. The origami bidding game: those who made their own origami animals valued their creation five times higher than the second group’s valuation and nearly as high as the expert-made origami values
    • e.g. IKEA effect is a kind of cognitive dissonance. The more effort we put into something, the more likely we are to value it; we are more likely to be consistent with our past behaviors; and finally, we change our preferences to avoid cognitive dissonance.
    • E.g. social game mafia war
  2. People tend to use the product again if it stores values, which are
    • Content
    • Data
    • Followers
    • Reputation
    • Skill
  3. How to compound user retention? Loading the Next Trigger with virtuous loops.

Should I use the hook model? #

manipulation matrix

How to apply the hook model? #

  1. Pros and cons analysis based on the model
  2. Habit Testing
    1. Identify the user workflow
    2. Identify the habitual users’ workflow
    3. Experiment with promoting the habitual users’ workflow to more users.
  3. Observe yourself
  4. Find nascent behaviors that can go popular in the future

The 9x Effect

19505 2019-05-15 21:45

New products fail at the stunning rate of between 40% and 90%. Why? The 9x Effect: You have to be 9x better than the existing alternatives to win their market.

  • companies often overweight the new product’s benefits by a factor of 3.
    • dissatisfied with the status quo and convinced the innovation works.
    • IKEA effect: labor alone can be sufficient to induce greater liking for the fruits of one’s labor.
    • view the innovation as the benchmark.
  • consumers often overweight the old product’s benefits by a factor of 3.
    • satisfied with the status quo and have change aversion.
    • don’t know the product and are skeptical about the new product’s performance.

Warning Signs of Economic Recession #

How did Resilient Company Prepare? #

Back in 2008, companies turning out to have higher total shareholder return(TSR) did these things:

  • By the time of reaching the lowest point of the recession, they had increased EBITDA(Earnings Before Interest, Taxes, Depreciation, and Amortization) by 10%.
    • By reducing operating costs earlier in the recession, and more deeply.
  • Introduce more flexibility into the investment-planing
    • Reduce > $1 per $1 of total capital on their balance sheet
  • Prepare far more cash than peers for acquiring assets once on the upswing of the economy.
  • Maintain high-value customers’ loyalty.
    • Forgo revenues from price changes, while peers are reducing the price.

However, slashing costs may hurt the brand and the company moral.

Finally, getting ahead of peers create a huge advantage.

What is architecture? #

Architecture is the shape of the software system. Thinking it as a big picture of physical buildings.

  • paradigms are bricks.
  • design principles are rooms.
  • components are buildings.

Together they serve a specific purpose like a hospital is for curing patents and a school is for educating students.

Why do we need architecture? #

Behavior vs. Structure #

Every software system provides two different values to the stakeholders: behavior and structure. Software developers are responsible for ensuring that both those values remain high.

Software architects are, by virtue of their job description, more focused on the structure of the system than on its features and functions.

Ultimate Goal - saving human resources costs per feature #

Architecture serves the full lifecycle of the software system to make it easy to understand, develop, test, deploy, and operate. The goal is to minimize the human resources costs per business use-case.

The O’Reilly book Software Architecture Patterns by Mark Richards is a simple but effective introduction to these five fundamental architectures.

1. Layered Architecture #

The layered architecture is the most common in adoption, well-known among developers, and hence the de facto standard for applications. If you do not know what architecture to use, use it.


  • TCP / IP Model: Application layer > transport layer > internet layer > network access layer
  • Facebook TAO: web layer > cache layer (follower + leader) > database layer

Pros and Cons

  • Pros
    • ease of use
    • separation of responsibility
    • testability
  • Cons
    • monolithic
      • hard to adjust, extend or update. You have to make changes to all the layers.

2. Event-Driven Architecture #

A state change will emit an event to the system. All the components communicate with each other through events.

A simple project can combine the mediator, event queue, and channel. Then we get a simplified architecture:


  • QT: Signals and Slots
  • Payment Infrastructure: Bank gateways usually have very high latencies, so they adopt async technologies in their architecture design.

3. Micro-kernel Architecture (aka Plug-in Architecture) #

The software’s responsibilities are divided into one “core” and multiple “plugins”. The core contains the bare minimum functionality. Plugins are independent of each other and implement shared interfaces to achieve different goals.


  • Visual Studio Code, Eclipse
  • MINIX operating system

4. Microservices Architecture #

A massive system is decoupled to multiple micro-services, each of which is a separately deployed unit, and they communicate with each other via RPCs.

uber architecture


5. Space-based Architecture #

This pattern gets its name from “tuple space”, which means “distributed shared memory". There is no database or synchronous database access, and thus no database bottleneck. All the processing units share the replicated application data in memory. These processing units can be started up and shut down elastically.

Examples: See Wikipedia

  • Mostly adopted among Java users: e.g., JavaSpaces

Software Engineering and Startup
© 2010-2018 Tian
Built with ❤️ in San Francisco