跳到主要内容

德鲁克的七个创新之源与四个创新战略

· 阅读需 8 分钟

为什么有些人想要通过成为企业家挣钱?因为他们想打败市场——以低于市场的成本,获得超出市场的回报——即获得高于市场的利润率。而超出市场的价格源自产品或者服务的稀缺性/独特性,想要有独特性就必须创新,所以,想要成为企业家必须至少是创新者。

大多数的公司之所以可以成功,都是因为他们知道如何持续地在对的事物上受到启发,持续地产生新想法。如何辨别最合适的创新之源,以战胜对手,从产业中脱颖而出?

七个创新之源

  • 内部

    • 意外之事:比如面对家用电器的购买量的突升,梅西限量销售,而 Bloomingdale's 利用这个机会扩充了电器部门,从而提升了利润。

    • 市场和行业的发展:比如汽车市场全球化的时候,沃尔沃也跟着全球化,从而比没有快速全球化的雪铁龙做得好。

    • 流程中薄弱的环节:医药销售商William Connor在意识到了眼科手术的一个麻烦环节 : 眼韧带出血。所以他建议用酶溶解韧带代替切割韧带,这大大减少了手术风险,并被眼科医学领域广泛接受。这次针对短处的革新使他的公司获得了极大的利润。

    • 现实与感知之沟(难道 TK 也是德鲁克的使徒?):比如轮渡货运早年误以为缩短时间的关键在于提高航行速度,但实际上这样做会导致成本剧增,问题的关键其实在于降低船闲置在港口的时间。

  • 外部:比如政治、学术、科学

    • 社会观念的变化:对于环保和高科技的趋之若鹜让电车市场火热。
    • 人口结构变化:比如中国数字原住民的增多和对线上社区的需求催生了 Bilibili。
    • 新知识的杂交:比如计算机是数百年来数学、电子、编程技术的杂交产物。

大小公司都需要创新

一个新起步的公司需要具体目标和计划,具体见打造公司的五个阶段

在创业初期,企业家应该要在尝试不同领域后,找到合适的市场。因为很有可能你会在一个你从未想过的领域最终创业成功。第二步则是确立好正确的财政重心。保证公司在遇到问题时有足够的解决资金是极其重要的。最后一步是为公司建立一个可信赖的管理团队。这个团队应该要在公司团队壮大之前就完善起来。

不仅是小商人需要改革创新,大产业也同样需要注入新鲜的血液。初始阶段,他们应该标准化企业内铸新淘旧的规则。其次,革新后的项目由全新的负责人管控。最后一点是,企业应该要设置褒奖机制,这样可以帮助提高员工的生产表现,并有效回顾创新的效果。

四个创新战略

孤注一掷(Fustest with the mostest)

一个有智慧的企业家应该目标成为该行业的先行者,倾其所有敢为人先。Hoffmann-La Roche 拥有一个小的化工公司,但他机智地发现了维生素行业的商机。所以为了生产和销售维生素,他投资了一大笔钱雇了许多专家。虽然听起来十分有风险,但这次“赌博”最终有了好结果,他在60年间都是维他命行业的领军者。

攻其软肋 (Hit them where they ain’t)

发现对手注意不到的漏洞是十分不容易的,但有两种方法可以实现。第一个是用更新颖和吸引人的手法模仿对手的想法。举个例子,IBM 公司模仿对手 ENIAC 电脑公司的想法,并在此之上加以更创新的点子,最终从中获利。不仅如此,有些公司还可以通过痛击对方的短处而赢得胜利。这对于目中无人的大公司尤其奏效。

生态位 (Ecological Niches)

这原本是一个生物学概念:生态位是一个物种所处的环境以及其本身生活习性的总称。每个物种都有自己独特的生态位,借以跟其他物种作出区别。

一个公司如果专攻于不可替代的领域,则更容易成功。一个很好的例子就是 William Connors 开发的酶类。这类酶在后来成为了消除白内障手术中至关重要的一步。但是值得注意的是,这个公司也有很可能在对手研发出可替代的药物后,失去在该产业中的绝对优势。

变价值和特征 (Changing values and characteristics)

为了增加对于你的产品的需求量,你不一定需要改变产品本身。相反,找到一个更符合消费者利益的方法可能是更重要的。企业家应该要了解是什么让消费者愿意买单。举个例子,吉列公司之所以剃须刀免费、刀片付费,正是因为当时该公司意识到,消费者根本不愿意花高于刮胡刀本身得钱买刀片。

解决公司间支付问题的初创公司 Routable

· 阅读需 1 分钟

公司间支付流程繁复,需要与各种不同的系统,尤其是记账软件整合。Routable 致力于帮 middle market (companies with 100m 100m ~ 500m in revenue) 解决这个问题。Routable 的特色在于,它既帮你管理工作流,也帮你管理钱的实际流动。最近账单管理的初创公司有点火,要不要买点 bill.com 的股票呢?

专业人士的生产力技巧

· 阅读需 3 分钟

麻省理工学院对来自全球近 20,000 名专业人士进行了调查 - 50% 来自北美,21% 来自欧洲,19% 来自亚洲,其余来自澳大利亚、南美和非洲。要点包括 ...

1. 按重要性排序任务,并以明确的目标行动。

  • 在写任何长度的内容之前,准备一个逻辑顺序的提纲,以帮助你保持正轨。
  • 在前一天晚上修订你的日历,以强调你的优先事项。在你的日程安排旁边写下你的目标。
  • 在任何会议之前向所有参与者发送详细的议程。
  • 开始大型项目时,尽早勾勒出初步结论。
  • 在阅读任何冗长的材料之前,确定你具体的目的。

2. 处理信息和任务过载。

  • 通过查看主题和发件人跳过大多数消息。
  • 将日常过程(如穿衣或吃早餐)变成例行公事,这样你就不必花时间思考它们。
  • 每小时检查一次设备屏幕,而不是每几分钟检查一次。
  • 将大型项目分成几个部分,并在完成每个部分时奖励自己。
  • 在可行的情况下,委派那些不干扰你主要优先事项的任务。
  • 在你的日常日程中留出时间来处理紧急情况和意外事件。

3. 你的同事需要简短的会议、及时的沟通和明确的方向。

  • 立即回复来自重要人士的消息。
  • 为了吸引观众的注意力,尽量从一些笔记中发言,而不是阅读准备好的文本。
  • 将任何会议限制在 90 分钟或更少,但最好更少。在每个会议结束时,划定下一步的措施和责任。
  • 为了提高团队的表现,建立程序以防止未来的错误,而不是进行指责游戏。
  • 为任何团队工作设定明确的目标和成功指标。

是什么让一些人比其他人更有效率?

· 阅读需 3 分钟

MIT 调研了来自全世界的近两万专业人士,他们 50% 来自北美,21% 来自欧洲,19% 来自亚洲,剩下的来自澳大利亚、南美和非洲。最后归纳出了这些让人的生产率脱颖而出的方法。

1. 根据任务的重要性来规划你的工作,然后带着明确的目标行动。

  • 在前一天晚上修改你每天的日程表,强调你的优先事项。在日历上的每个日程旁边,写下你的目标。
  • 在任何会议之前,将详细的议程发给所有与会者。
  • 当着手进行大型项目时,尽快勾画出初步结论。
  • 在阅读任何长篇材料之前,先确定你对它的具体目的。
  • 在写任何长度的东西之前,编写一个有逻辑顺序的大纲,以帮助你按部就班。

2. 制定有效的技巧来管理超负荷的信息和任务。

  • 把每天的流程,比如穿衣服或吃早餐,变成例行公事,这样你就不会花时间去想这些事情。
  • 在你的日常日程中留出时间来处理紧急事件和意外事件。
  • 每小时检查一次设备的屏幕,而不是每隔几分钟检查一次。
  • 通过查看主题和发件人,跳过大部分的信息。
  • 将大型项目分成若干个部分,并在完成每个部分后奖励自己。
  • 在可行的情况下,将那些不影响你首要任务的任务委托给他人。

3. 了解同事对简短会议、响应式沟通和明确方向的需求。

  • 将任何会议的时间限制在90分钟以内,但最好是更短。在每次会议结束时,划定下一步的步骤和这些步骤的责任。
  • 对那些对你来说很重要的人的信息,要立即做出回应。
  • 为了吸引听众的注意力,根据一些笔记发言,而不是读准备好的文本。
  • 为任何团队的工作建立明确的目标和成功指标。
  • 为了提高你的团队的表现,建立程序来防止未来的错误,而不是玩责备游戏。

设计在线评测系统或 Leetcode

· 阅读需 4 分钟

需求

在线评测系统主要是一个可以远程执行代码的地方,用于教育或招聘目的。在这个设计中,我们专注于设计一个用于面试准备的 OJ,类似于 Leetcode,具有以下需求:

  • 它应该具有核心的 OJ 功能,如获取问题、提交解决方案、必要时编译和执行。
  • 它应该具有高可用性,采用 异步 设计,因为运行代码可能需要时间。
  • 它应该具备水平扩展性,简单易扩展。
  • 它应该稳健且安全,以执行不受信任的源代码。

架构

下面的架构以异步执行的队列和安全执行的沙箱为特色。每个组件都是可单独部署和扩展的。

设计在线评测系统

组件

表现层

用户代理通常是一个像 coderoma.com 这样的网页或移动应用。它显示问题描述,并为用户提供一个代码编辑器来编写和提交代码。

当用户提交代码时,客户端将获得一个令牌,因为这是一个异步调用。然后客户端轮询服务器以获取提交状态。

API

请参见 公共 API 选择 以了解我们可以选择的协议。让我们在这里设计接口本身,并以 GraphQL 为例:

type Query {
problems(id: String): [Problem]
languageSetup(id: String!, languageId: LanguageId!): LanguageSetup
submission(token: String!) Submission
}

type Mutation {
createSubmission(
problemId: String!
code: String!
languageId: LanguageId!
): CreatedSubmission!
}

enum LanguageId {
JAVA
JS
ELIXIR
# ...
}


type Problem {
id: String!
title: String!
description: String!
supportedLanguages: [Float!]!
}

type LanguageSetup {
languageId: LanguageId!
template: String!
solutions: [String!]!
}

type Status {
id: Float!
description: String!
}

type Submission {
compileOutput: String
memory: Float
message: String
status: Status
stderr: String
stdout: String
time: String
token: String
}

type CreatedSubmission {
token: String!
}

API 层将提交记录在数据库中,将其发布到队列中,并返回一个令牌供客户端将来参考。

代码执行引擎

代码执行引擎 (CEE) 轮询队列以获取代码,使用沙箱来编译和运行代码,并解析编译和执行的元数据。

沙箱可以是 LXC 容器、Docker、虚拟机等。我们可以选择 Docker,因为它易于部署。

Coderoma.com

我最近在学习 Elixir 并创建一个在线评测系统 coderoma.com 以进行日常练习。它现在支持 Elixir 和 JavaScript。我正在添加更多语言(如 Java)和问题。

我们可能会举办未来的活动来提高您的编码技能。请加入我们,访问 https://t.me/coderoma 以获取英语社区,或使用您的微信扫描以下二维码 onetptp 并回复 刷题 以加入中文社区。

onetptp

为什么选择 PWA?

· 阅读需 2 分钟

PWA 代表渐进式网页应用。早在 2014 年,W3C 发布了服务工作者的草案,随后在 2015 年,Chrome 在生产环境中支持了它。如果我们将服务工作者的出现视为 PWA 的核心技术之一,那么 PWA 的诞生年份就是 2015 年。在关注 PWA 是什么之前,让我们先了解一下我们为什么需要它。

  1. 用户体验。回到 2015 年,前端开发者花费大量时间通过加快初始页面的渲染、使动画更流畅等方式来优化网页。然而,在用户体验方面,原生应用仍然占据优势。

  2. 用户留存。原生应用可以固定在手机的主屏幕上,并通过通知将用户带回应用,而网页应用则无法做到这一点。

  3. 利用设备 API。Android 和 iOS 提供了丰富的设备 API,原生应用可以轻松在用户许可下使用。然而,当时浏览器并未完全支持这些 API。

谷歌的教程 为什么构建渐进式网页应用 将这个问题总结为“广泛覆盖,低参与度”。

网站与原生应用的 UV 和用户时长比较

为了应对移动时代网页应用的劣势,PWA 应运而生。

什么是 PWA?

· 阅读需 4 分钟

当谷歌提出 PWA 时,并没有一个精确的定义。它不是一种特定的技术,而是一种组合技术,旨在改善用户体验。这些技术包括 Web 应用清单、服务工作者、网络推送等。

PWA 的主要特性如下:

  • 可靠性 - 即使在不稳定或断开的网络环境中也能快速加载。
  • 用户体验 - 响应迅速,具有流畅的过渡动画和用户操作反馈。
  • 粘性 - 像原生应用一样,可以添加到主屏幕并接收离线通知。

PWA 本身在两个方面强调了 渐进性

  1. PWA 仍在不断发展;
  2. PWA 向下兼容且不具侵入性。开发者使用新特性几乎没有成本 - 开发者可以逐步将其添加到现有网站中。

谷歌的 "渐进式网络应用检查表" 定义了 PWA 的最低要求。

  • 通过 HTTPS 提供服务。
  • 页面在桌面、平板和移动设备上应具有响应性。
  • 所有 URL 在断开连接时应有内容显示,而不是默认的浏览器页面。
  • 需要将 Web 应用清单添加到桌面。
  • 页面加载更快,延迟更短,即使在 3G 网络上。
  • 在所有主要浏览器中正确显示。
  • 流畅的动画和即时反馈。
  • 每个页面都有自己的 URL。

PWA 的特性

PWA 结合了网络应用和原生应用的优点,给我们带来了以下特性。

  • 渐进性 - 适用于所有浏览器,因为它是在考虑渐进增强的情况下开发的。
  • 连接无关 - 能够利用服务工作者实现离线或低网络连接。
  • 原生体验 - 基于应用外壳模型,应该具有原生应用的交互。
  • 持续更新 - 始终保持最新,没有版本或更新问题。
  • 安全性 - 通过 HTTPS 提供服务。
  • 可索引 - 清单文件和服务工作者可以被搜索引擎识别和索引。
  • 粘性 - 通过推送离线通知等,可以让用户回到您的应用中。
  • 可安装 - 用户可以轻松将网络应用添加到主屏幕或桌面,而无需前往应用商店。
  • 可链接 - 通过链接分享内容,无需下载和安装。

更具体地说,PWA 相较于原生应用的优势是什么?开放性和可索引性。用户几乎无法即时安装原生应用,也无法无缝搜索原生应用。

下表展示了传统网络应用、原生应用和 PWA 在各个特性上的比较。

可安装可链接用户体验用户粘性
传统网络应用
原生应用😐✅️
PWA

重写 Facebook.com

· 阅读需 4 分钟

Facebook 从最初的 PHP 服务端渲染网站发展至今已经 16 个年头,Web 开发的外部环境已经是沧海桑田,在老构架上开发新 Feature 的成本也越来越高。为了得到“App 的体验”以及卓越的性能, 他们用 React 和 Relay 重写了整个主网站,基于两个原则 —— “尽可能少尽可能早”、“提升开发体验以服务用户体验”。

将这两个原则应用到四个主要元素 (CSS,JavaScript,数据,导航) 上,得到如下经验

  1. 改进 CSS
    1. Atomic CSS: 使用 Build 时生成的原子类 CSS 将首页的 CSS 减少 80% - 因为这种 CSS 的条目的数量接近 log N——样式的总量是随着独特的样式增长的,而不是跟着代码里面写的样式和 feature 的数量增长的。我们 Uber 就使用的 Styletron 来做这件事情。
    2. CSS-in-JavaScript: 用类似于 stylex.create({}) 这种方法来为组件生成 Style,跟组件放到一起,以增加可删除性,让样式更容易被维护。
    3. 统一使用 rem 让缩放的时候体验更好, Build 时自动将 px 转化成 rem.
    4. 使用 CSS 变量实现黑暗模式
    5. 使用 HTML 内嵌 SVG 作为图标,解决图标延迟渲染的一闪问题
  2. 分拆 JavaScript 以优化性能
    1. 增量式加载代码,把 500 KB 的总代码,分成 50KB Tier 1,150KB Tier 2, 300KB Tier 3,分别对应骨架内容、首屏内容 、非 UI 内容,然后按需加载。
    2. 只在需要的时候加载实验代码
    3. 根据数据加载相应的代码,比如图片数据加载图片组件、视频数据加载视频组件
    4. 给 JavaScript 的大小做预算,严格监视代码尺寸的变化
  3. 尽早载入数据
    1. 预加载:用 Relay 能够立马知道首屏所需要的数据,在下载代码的同时,也 stream 这些数据
    2. 用 stream 的方式减少 round trips
    3. 延迟加载现在不需要的数据
  4. 定义路由 map 以加速导航
    1. 尽早获得路由的定义
    2. 尽早预先获取资源,在 hover 或者 focus 的时候就开始了,导航变化之后,如果还没有加载完,先用 React Suspense transitions 保留当前页面,只有加载完之后才真正切换。这样就能跟标准的浏览器体验保持一致。
    3. 并行下载代码和数据。通常是先下载代码再下载数据,这样是串行的;FB 让数据和代码在一个 round trip 里面同时下载。

如何不死?

· 阅读需 7 分钟

以正确的方式饮食可以显著影响你的健康。听到来自不同来源的各种建议,你可能会很难判断哪一个最有帮助。书籍《如何不死》提供了八个由科学研究支持的实用建议,帮助你建立健康的饮食习惯。

采用植物性饮食

植物性饮食已被证明对健康的积极影响远超美国社会中的其他食物。一项中美-康奈尔-牛津研究项目研究了 1980 年代中国人的饮食。研究发现,贵州省在 65 岁以下男性中冠心病的死亡率最低,而那里的人们消费的动物性食物最少。

此外,植物性饮食可以促进患者的康复。生活方式医学的先驱纳森·普里提金和迪恩·奥尔尼什将患有晚期心脏病的患者置于植物性饮食中,随后他们见证了症状显著改善。例如,患者动脉中的有害斑块溶解的速度比平常快。

多吃水果,尤其是浆果

每天四份水果,其中包括一种浆果,是健康饮食的关键。每天多吃一份水果已被证明可以使慢性阻塞性肺病的可能性降低 24%。值得注意的是,浆果对肝功能、抗癌和免疫系统的积极影响尤为重要。在 2014 年的一项研究中,14 名患者在食用黑覆盆子九个月后,发现其息肉负荷显著下降。

蔬菜不可或缺

蔬菜在预防疾病方面发挥着至关重要的作用。被称为“绿叶之王”的羽衣甘蓝可以降低人们的胆固醇水平。在 2008 年进行的一项为期三个月的研究中,高胆固醇患者每天被要求饮用三到四杯羽衣甘蓝汁。益胆固醇的比例显著增加,相当于跑步 300 英里的效果。此外,十字花科蔬菜有助于增强肝脏和肺部功能。

因此,建议每天五份蔬菜中有两份应为绿叶蔬菜(例如羽衣甘蓝、芝麻菜和瑞士甜菜)。另外两份可以是胡萝卜、甜菜或蘑菇。最后一份应为十字花科蔬菜,如西兰花、卷心菜或花椰菜。

每餐推荐豆类和全谷物

美国癌症研究所建议每餐应包含豆类或豆科植物,因为它们含有无动物成分的蛋白质和纤维。海军豆和斑豆也是降低不良胆固醇的良好替代品,适合不喜欢大豆的人。它们还可以减缓糖的吸收并放松胃部。与豆类类似,人们每天应摄入三次全谷物。2015 年的研究发现,饮食中包含全谷物的人寿命更长。

多吃坚果和种子以获得更好的营养

在 1990 年至 2010 年间进行的全球疾病负担研究发现,摄入过少的种子和坚果是全球死亡和残疾的第三大饮食原因。即使是一份巴西坚果也相当于降胆固醇药物的效果。坚果和种子有助于排毒多余的铁。它们还可以增强骨密度。在所有种子中,推荐奇亚籽、麻籽、南瓜籽、芝麻和葵花籽。它们是日常餐点中调味酱和沙拉酱的绝佳替代品。

在食物中加入香草和香料

香草和香料不仅可以为菜肴增添风味,而且在预防疾病(尤其是癌症)方面也至关重要。在所有食物中,它们的抗氧化剂含量最高。在 2010 年进行的一项研究中,服用藏红花的阿尔茨海默病参与者的认知功能结果优于服用安慰剂的参与者。此外,丁香和肉桂等香料可以因其抑制的酶而减轻抑郁。

值得一提的是,姜黄被证明是所有香草和香料中预防癌症效果最好的。由于姜黄迅速消失,与黑胡椒一起食用可以减缓这一过程并帮助吸收。咖喱粉是一个不错的选择,因为它通常含有胡椒和姜黄。然而,姜黄并不适合所有人。患有胆结石和肾结石的人应限制其摄入。

让水成为首选饮品

理论上,人类每天应饮用五杯 12 盎司的饮料,而纯水始终是最佳选择。许多文章声称每天喝八杯水是必须的,但几乎没有科学证据支持这一点。我们的每日水分摄入不仅来自饮料,还来自水果和蔬菜。

除了水,咖啡和茶也可以是不错的替代品,因为它们在某种程度上都有益于健康。例如,塔夫茨大学进行的研究显示,茶在降低血压方面发挥了显著作用。

四步搞定理性决策

· 阅读需 5 分钟

普通人在生活和工作中做决策机会并不多,也很难有机会练习和提高自己的决策水平。大多数人的决策靠直觉,而理性的决策靠流程。《决断力》一书提出了理性决策的四步流程 —— 为了提高做出最佳决策的概率,我们需要 1.拓宽选项、2. 用事实检测假设、3. 跳出自己看自己、4. 为错误决定做准备。

1.拓宽选项

人们误以为做选择就好像考试做选择题,从三五个选项里选一个那么简单,然而世界之大,选项又何止三五?例如,一家广告设计公司在工作中会同时开展多个设计方案,并在每一轮的反馈中将有用的元素组合为最终的设计成果。这样不仅使工作效率变得更高,还也节省了决策的耗时成本。除此之外,还可以参考他人面对类似状况时做的选择的基础比率。沃尔玛的创始人 Sam Walton,就在职业生涯中一直密切关注着竞争对手的动向,从而适时调整决策。作为决策者,应要在创造更多选项和参考他人的选择中,找到最佳方案。

2. 用事实检测假设

如果说实践是检验真理的唯一标准,那么做最终决策前的实验,也能相对准确地预估出想法能否奏效。很多公司已经从仅仅通过面试来雇佣员工,发展到要求他们通过短时间的试用期,正是为了避免面试的局限性,从而增加决策的准确性。我朋友买房前去房子里试着住了一个晚上,发现能够听到火车的鸣笛,从而花小的成本避免了大的失误。

3. 跳出自己看自己

当决策者过于沉浸于自己的观点时,往往会忽略外部视角。所以,想要判断决策的可能结果应该去调查决策所基于的客观情况。可以考虑从更远的时间和空间的维度来衡量选项,比如安迪格鲁夫假装自己是新的 CEO 从大门进来然后砍掉内存条业务;李开复假设明天有两份报纸头条报道自己的两个选择——有情但不公正、公正但无情,继而作为领导者选择了要公正;杰夫贝索斯假设自己 80 岁回头看自己,运用"遗憾最小化框架"。

4. 为错误决定做准备

对于决策的结果,你应该考虑到最好和最坏的两种结果,以便了解自己所处的位置。如果情况接近最糟糕的结果,你也能及时地做出反应。除此之外,还可以建立一种能使你意识到自己行为的信号,从而削弱行为的惯性,及时地纠正决策。值得注意的是,为了提高做决策的速度,贝索斯认为,决策与决策之间生而不平等,绝对不要一碗水端平 —— 可逆的决策用轻量级的决策过程。