Fork me on GitHub

Why continuous deployment may cause continuous customer dissatisfaction

Why continuous deployment may cause continuous customer dissatisfaction

EN/US

Steve Blank gave example of Adobe in his blog post, which has now moved all products to the cloud and labeled them the Adobe Creative Cloud. Instead of paying for new products, customers now buy an annual subscription. It is good from the perspective of getting predictable annuity but not good from consumers’ perspective.

He described Adobe’s problem in using continuous deployment as follows:

While creating a predictable revenue stream from high-end users, Adobe has created two problems. First, not all Adobe customers believe that Adobe’s new subscription business model is an improvement for them. If customers stop paying their monthly subscription they don’t just lose access to the Adobe Creative Suite software used to create their work, they may lose access to the work they created.

Second, they unintentionally overshot the needs of students, small business and casual users, driving them to good-enough replacements like GIMP for PhotoShop and Artboard for Illustrator.

The consequence of discarding low margin customers and optimizing revenue and margin in the short-term, Adobe risks enabling future competitors.

CN

引用Steve Blank 在他的博文 里举的Adobe的例子,Adobe现在把整个产品线迁移到了云端,称之为 Adobe Creative Cloud。用户不再需要为新产品付钱,而是支付每年的订阅费用。这种做法使公司的年收入更趋向于稳定,但是从消费者的角度来讲,却是不好的。

他描述了 Adobe 在运用持续部署过程中遇到的问题:

虽然持续部署让 Adobe 从高端用户身上不断获得稳定的年收入,但是他们也制造了两个问题。首先,不是所有客户都相信 Adobe 新的订阅式商业模式能给自己带来好处。如果客户停止支付每月的订阅费用,那他们不但会失去工作所依赖的 Adobe Creative Suite 软件,同时还可能无法访问已经完成的作品。

其次,Adobe 这种定位过高的策略无意中伤害了要求比较低的学生、小公司和轻度个人用户,把他们送到了优秀竞争对手的怀抱,比如用GIMP 替代 PhotoShop,用 Artboard 替代 Illustrator。

抛弃低价值客户、增加年收入和短期利润的结果就是,Adobe 培养了未来的竞争对手。

其实同样的例子还有很多,比如MS Office -> Office 365.

Reference

  1. continuous-deployment
Continue reading →

The Devops Handbook Reading Notes

Reading Notes: The DevOps Handbook

Chapter 5 - Selecting Which Value Stream to Start With

  • GREENFIELD VS. BROWNFIELD 绿地项目 与 棕地项目
  • SYSTEMS OF RECORD AND SYSTEMS OF ENGAGEMENT
    • 记录型系统
      • 强调正确性和稳定性 Do it right
      • 比如一些ERP系统,人力资源系统, 财务报表系统
      • 变化速度慢
    • 交互性系统
      • 强调快速响应和反馈,侧重Do it fast
      • 比如一些电子商务系统
      • 变化速度快
  • Little fish learn to be big fish in little ponds.

Chapter 7: How to Design Our Organization and Architecture with Conway’s Law in Mind

  • Conway’s Law 康威定律

    • Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. — Melvin Conway(1967) 系统设计受限于组织自身的沟通结构。
    • 康威定律奠定了微服务架构的理论基础
  • ORGANIZATIONAL ARCHETYPES

    • Functional-oriented (OPTIMIZING FOR COST)
    • Market-oriented (OPTIMIZING FOR SPEED)
    • 起决定性作用的并不是组织形式,而是人们的行为和反应。
    • 系统的架构应该保证小团队能够独立运作,彼此充分解耦,避免不必要的沟通和协调。

STEP ONE: Flow

Chapter 9 - Create the Foundations of Our Deployment Pipeline

  • On demand creating consistent production-like environments. (including DEV, TEST, STAGE)
  • Put back environment specific change into version control.
  • Manual changes to the production environment are no longer allowed. The only way production changes can be made is to put the changes into version control.
  • CD to rebuild instead of repairing application using pipeline.

Chapter 10 - Enable Fast and Reliable Automated Testing

  • Test Pyramid
  • Integrate performance testing into our test suit

Chapter 12 - Automate and Enable Low-Risk Releases

  • Deployment vs Release

Deployment is the installation of a specified version of software to a given environment (for example, deploying code into an integration test environment or deploying code into production). Specifically, a deployment may or may not be associated with a release of a feature to customers.

Release is when we make a feature (or set of features) available to all our customers or a segment of customers (for example, we enable the feature to be used by 5% of our customer base). Our code and environments should be built in such a way that the release of functionality does not require changing our application code.

  • Release patterns
    • Environment-based release patterns
    • Application-based release patterns
  • Decoupling deployments from releases

    For environment-based release, we can:

    • The Blue-Green Deployment Pattern
    • The Canary Release pattern

    For application-based release, we can:

    • Implement Feature Toggles
    • Dark Launch Process

Chapter 13: Architect for Low-Risk Releases

  • Evolutionary architecture “Any successful product or organization will necessarily evolve over its life cycle.”
    • strangler pattern

STEP TWO: Feedback

Chapter 14 - Create Telemetry to Enable Seeing and Solving Problems

Chapter 16 - Enable Feedback So Development and Operations Can Safely Deploy Code

  • continuously improvement by small but frequent change sets. 增量迭代改进,持续小步前行
  • contextual inquiry & customer observation 情景访谈 & 客户体验观察

Chapter 17: Integrate Hypothesis-Driven Development and A/B Testing into Our Daily Work

Techniques such as hypothesis-driven development, defining and measuring out customer acquisition funnel (客户获取渠道), and A/B testing allow us to perform user-experiments safely and easily, enabling us to unleash creativity and innovation, and create organizational learning.

  • Two major marketing strategies:
    • Direct response marketing 直效营销
      • email
      • phone call
      • postcard
    • Mass marketing or brand marketing 大众营销或叫品牌营销
      • advertisement

A/B testing techniques were pioneered in direct response marketing. A/B 测试在直效营销中率先使用的。

Chapter 18 - Create Review and Coordination Processes to Increase Quality of Our Current Work

  • Pull Request

    Pull request are the mechanism that lets engineers tell others about changes they have pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary.

    It shifts our reliance away from periodic review,inspections and approvals from review board, and moving to integrated peer review performed continually as a part of our daily work. 将摆脱对评审委员会定期评审、审核和审批的依赖,用不间断的同行间评审取而代之。

    • Small batch sizes of each PR also applies to code reviews.

      “Ask a programmer to review ten lines of code, he’ll find ten issues. Ask him to do five hundred lines, and he’ll say it looks good.”

STEP THREE: Continual Learning And Experimentation

Chapter 19: Enable and Inject Learning into Daily Work

ESTABLISH A JUST, LEARNING CULTURE

The only sustainable competitive advantage is an organization’s ability to learn faster than the competition.

  • Blameless postmortem
  • Controlled introduction of failures into production to create opportunities to practice. Injecting faults into the production environment (such as Chaos Monkey) is one way we can increase our resilience.
  • Game Day 演练日

Chapter 20: Convert Local Discoveries into Global Improvements

Propagation of expertise and knowledge to rapidly enable and accumulate organizational learning.

  • ChatOps Tools: Use persistent chat room tools, such as Hubot, Slack, and MS Team. Instead of Lync and Outlook which are not broadly persisted.
  • Create a single, shared source code repository for entire organization.
  • Encourage experimentation. “buoys, not boundaries.”

    Instead of drawing hard boundaries that everyone has to stay within, we put buoys that indicate deep areas of the channel where you’re safe and supported. You can go past the buoys as long as you follow the organizational principles. After all, how are we ever going to see the next innovation that helps us win if we’re not exploring and testing at the edges? As leaders, we need to navigate the channel, mark the channel, and allow people to explore past it.

Chapter 23 - Protecting the Deployment Pipeline

  • Reduce reliance on separation of duty

减少对职责分离的依赖,比如我们作为开发人员登陆不了Production 服务器,无法获取Web服务器IIS的Logs, 其实减少了我们可以获得的产品运行时的反馈,妨碍了我们对质量,性能的负责。

Continue reading →

HOW TO WRITE

How To Write

Tips

  • use simple word
  • use short word
  • remove duplicate
  • keep sentence short
  • 多用主动式语句,少用被动式语句

Avoiding Common Mistakes

  • Jargon

    Use jargon when you are sure your audience can understand.

  • Unnecessary details

    Remove unnecessary words.

Planning What You’re Going To Write

  • Prepare

    Define the purpose of the writing, gather information and compose the outline.

  • Drafting
  • Revising
  • Proofreading
Continue reading →

名利驱使知识与娱乐泛滥

名利驱使知识与娱乐泛滥

这些年互联网正在发生一些变化,打着各种旗号来收费。

有人说知识付费是为了鼓励更多优质资源的产生,我不太同意这样的观点。 我认为那些默默耕耘的大师,会得到他所满足的回报,也许是金钱的,也许是名气,又或者是精神享受。

而现在的情况是,互联网大军利字当前,成不成名姑且不管,至少可以先弄点小利。这种先后顺序的变化导致了互联网上 知识和娱乐的泛滥。人们趋之若鹜,没有什么知识和创造,也要恶搞搏眼球获得 利益。这对我们的互联网世界是种污染……

于是直播火了,青年男女晒一晒,露一露就可得到鲜花和小礼物,
于是抖音火了,各种撩妹版本,
于是喜马拉雅有声付费节目限时促销,
于是各种知识付费的小密圈,
各种订阅和打赏。
很多人就像卖艺乞讨一样,求得打赏; 或者像江湖郎中和算命的一样,骗取钱财。

而且这还影响了本来好好搞知识和艺术创作的人,无心专心于本分,急于求名,迫切地让知识变现, 浪费了大量的精力在准备这些节目来讨好或诱骗听众或观众。我不反对真正有知识的大师给我们带来启发的同时,获得更好的社会回报。 但是不应该让至少付费的噱头忽悠大众趋之若鹜,为了金钱无病呻吟,污染网络环境和浪费我们的时间。

Continue reading →

All Tags

mindset

devops

book

ci

communication

jenkins

自媒体

hometown

geek life

cloud