科技愛好者週刊(第 270 期):"精益開發"的精益是什麼?

阮一峰發表於2023-09-08

這裡記錄每週值得分享的科技內容,週五釋出。

本雜誌開源,歡迎投稿。另有《誰在招人》服務,釋出程式設計師招聘資訊。合作請郵件聯絡[email protected])。

封面圖

南京證大喜瑪拉雅中心,是一個2020年竣工的地產專案。為了體現南京是"山水城市",它的外形模仿高山流水。(via

"精益開發"的精益是什麼?

最流行的軟體開發模式,現在是"敏捷開發"(agile development)。

但是,很多人不知道,敏捷只是一種價值觀,不是具體的方法。 它包含一些原則,實現這些原則有很多不同方法,下面是主要的幾種。

  • 極限程式設計(XP)
  • Scrum 開發
  • 看板開發(kanban)
  • 精益開發(lean)

初來乍到,看到這些奇怪的專有名詞,你會不會頭暈啊,它們什麼意思,跟程式設計有何關係?

我正好讀到一篇老外的文章,裡面提到"精益開發"的一些小故事,讀完豁然開朗,知道了"精益"的來歷,就掌握它的做法了。下面分享給大家。

"精益"(lean)這個詞來自1988年的一篇論文 《精益生產系統的勝利》,論文討論為什麼日本汽車擊敗了美國汽車?

論文作者以福特和豐田兩家公司為例,認為它們的生產方法完全不同。

福特是早期的汽車霸主,強調批次生產,追求極致的生產效率,以降低汽車價格。以前,汽車是3000美元一輛,福特 T 型車的上市價格竟然為850美元,最終還降到了260美元,佔領了美國大部分汽車市場。

傳說中,亨利·福特說過一句名言:"顧客可以選擇任何一種顏色,只要它是黑色。" T 型車就只有黑色車型,這並非由於福特喜歡黑色,而是黑色油漆幹得快,落地後可以最短時間出售,從而降低了成本。

為了壓低汽車價格,福特的生產流程是這樣的:

  1. 採購100輛汽車的原材料。
  2. 製造100輛汽車的所有零件(總共超過十萬個)。
  3. 組裝100輛汽車,然後出售。
  4. 接收顧客反饋,生產下一批次。

由於每個步驟都需要較長的時間,因此迭代週期很久,福特也很少改動車型。

豐田公司採用了完全不同的生產方法。剛成立時,豐田是一家小公司,無力囤積原材料,也買不起生產不同零件的專用機器,只能選擇通用機器,即同一臺機器生產多種零件。

因此,他們的方法就是一次製造一輛車,並儘快出售。如果有問題,就馬上修改,避免再次生產有缺陷的車。

  1. 獲取一輛車的原材料。
  2. 製造一輛汽車所需的零件。
  3. 組裝一輛車,然後出售。
  4. 接收顧客反饋,生產下一輛車。

這種流程有利於快速迭代和多次迭代,長期下來,豐田汽車逐漸變得更可靠耐用,更符合客戶需要。

雖然,單車成本上面,豐田依然高於大批次生產的福特,但是福特迭代緩慢,很多零件不符合需要,有缺陷還是被大量生產出來,造成巨大的浪費,公司的整體效益反而不如豐田。

豐田的生產方法,就被稱為"精益方法"(lean method)。英語單詞 lean 的原意是"瘦且健康",用在這裡表示追求實效、快速行動,沒有一絲浪費。

後來,這種方法就被用在各種領域,管理領域叫做"精益思維",生產領域叫做"精益製造",軟體開發領域叫做"精益開發"。

總結一下,"精益開發"指的是建立一個最小的產品原型,交付給客戶,觀察他們如何使用它,再快速推出小幅改進的下一代產品。這樣就能迎合快速變化的需求,不會引入無用功能。

作為比較,福特方法則是詳細計劃所有功能,全部開發出來,然後一次性交付。

科技動態

1、網站的 AI 翻譯

老牌的 IT 資訊網站 Gizmodo 宣佈,它的西班牙語版本全部改為 AI 翻譯,編輯都被解僱。

它的西班牙語網頁底部,現在有一行免責宣告:"本站內容為自動翻譯,可能會存在與原意的細微差異。"

Gizmodo 此前還嘗試,使用 AI 撰寫新聞:只要輸入一些基本事實,AI 就會自動生成一篇幾百字的報導。這樣的做法以後很可能會流行,翻譯和編輯將最早被 AI 替代。

2、ai 域名

頂級域名.ai屬於安圭拉(anguillas),它是英國控制的加勒比海小島,面積只比香港本島大一點。

AI 熱潮使得.ai域名炙手可熱,為安圭拉帶來巨大財富。一個 ai 域名的年費現在是80美元左右(約人民幣600元),還在上漲。

2021年安圭拉從.ai域名註冊獲得了740萬美元。現在出現了 ChatGPT,今年的收入估計可達3000萬美元,佔到當地 GDP 的10%。

安圭拉人口只有1.5萬,相當於每人每年分到2000美元,真的是天上掉下來的財富。

3、眾籌十年

10年前,眾籌是一種非常流行的產品釋出方式。發起人透過網路籌集資金,投產後再把產品寄給出資者。

但是,有些產品從來沒有發貨,還有些產品過了很久才發貨。最近就有一塊手錶,10年前眾籌,現在才發貨。

這塊手錶具有示波器功能,2013年眾籌,此後就沒了訊息。等到大家都忘了,它卻在今年7月30日宣佈開始發貨。

使用者等於拿到一個10年前的電子產品,但是無法退款或退貨。眾籌平臺 Kickstarter 很清楚地規定,眾籌是一種投資行為,不是購買行為。

"支持者必須明白,我們不是一家商店。當你支援一個專案時,是在幫助創造新的東西,而不是預訂已經存在的東西。我們不提供退款,我們鼓勵支持者要調查專案的想法和建立者,自行評估專案風險。"

4、擴增實境擋風玻璃

蘋果公司申請了一項專利,讓汽車的擋風玻璃變成一塊擴增實境(AR)螢幕。

這塊玻璃會顯示各種資訊,比如天氣、地圖、儀表資料等。它並不是投影上去的,而是玻璃本身就是一塊透明的螢幕。

最具創意的是,蘋果還設想,路上遇到外文招牌,它會自動疊加翻譯,使用者會看到翻譯後的招牌(上圖)。

文章

1、任正非:華為有業務邊界,人才要在邊界內研究探索(中文)

9月4日,華為釋出了任正非在高階技術人才使用工作組對標會上的最新講話。任正非談了華為的人才使用策略。

2、我是怎樣程式設計師入門的(中文)

知乎的一個回答,作者記錄大學四年,如何從完全不懂程式設計變成一個職業程式設計師。(@wind-liang 投稿)

3、如何將 iCloud 密碼用於 Chrome(繁體中文)

蘋果裝置自帶一個 iCloud 密碼管理器,只用於 Safari 瀏覽器。兩年前,它向 Windows 系統的 Chrome/Edge 瀏覽器開放,現在 Mac 系統的 Chrome/Edge 也能使用了。

4、如何自己寫一個前端框架(英文)

本文教你兩個技巧,用它們就可以寫一個簡單的前端框架。

5、維基百科 DNS(英文)

維基百科推出自己的 DNS,支援DNS-over-HTTPS(DoH)和 DNS-over-TLS(DoT)查詢。

6、如何終止無響應的 Linux 會話(英文)

使用 Linux 終端時,有時會卡住,失去響應,這時應該如何終止會話?

7、AWS 網路基礎知識(英文)

本文介紹亞馬遜雲服務的一些基礎網路知識,針對初學者,包括 VPC(虛擬私有云)、subnet(子網)、路由、安全組等,寫得很好。

8、財務安全的17條法則(英文)

本文跟技術無關,介紹個人財務的17個注意點。我覺得說得很好,有參考價值,就儲存一下連結吧。

工具

1、Gitstars

一個線上工具,用來管理你打過星的 GitHub 專案。(@dllen 投稿)

2、Figma.Pub

為 figma 設計稿生成可自動更新的圖片連結,支援 jpg 、png 、svg 格式和 scale 引數。(@airyland 投稿)

3、MusicFree 桌面版

一個開源的音樂播放器,透過外掛支援各種音源,參見示例外掛庫。(@maotoumao 投稿)

4、NiceShots

一個 iOS App,用來美化手機截圖,可以實現帶手機殼效果。(@JimmyByte 投稿)

5、TabX

一個 Chrome 外掛,用來管理 Tab 頁。(@Developer27149 投稿)

6、AI 小鎮

一個開源的網頁遊戲,人物都是 AI 驅動的,使用者加入這個虛擬小鎮,就可以跟這些角色互動。(@dllen 投稿)

7、Android-Touch-Helper

開源的安卓手機的開屏廣告自動跳過助手。(@Lyeragain 投稿)

8、MagicNotch

一款 MacOS 劉海屏工具,將快捷鍵藏在劉海里面,滑鼠移入時顯示。(@fengyiqicoder 投稿)

9、檔案橋

一個簡單的 JS 指令碼,用來架設靜態檔案伺服器。A 電腦在網頁上開啟一個本地檔案目錄,B 電腦就能下載裡面的檔案,兩者不必在同一區域網。(@daGaiGuanYu 投稿)

10、Whisper Web

不必登入,將英語音訊轉成文字的線上工具。(@Y024 投稿)

11、StableDiffusion XL 體驗站

SDXL 是 Stable Diffusion 最新發布的畫圖模型。這是網友架設的體驗站,不需要登陸也不需要付費,直接體驗文生圖。(@zengdamo 投稿)

資源

1、Hello 演算法

一本開源的中文電子書籍,介紹資料結構與演算法,配有動畫圖解。(@Y024 投稿)

2、AIHub

該網站收集各種 AI 工具和資源。(@liuluanping 投稿)

3、Web 音影片系列

一組系列文章,介紹如何在瀏覽器中處理音影片。(@hughfenghen 投稿)

4、yesicon

中文的圖示搜尋引擎,作者利用 ChatGPT 翻譯了 Iconify 的 18 萬個圖示名。(@dongnaebi 投稿)

5、Awesome Domain LLM

這個倉庫收集各種垂直領域的大語言模型。(@wuyifan18 投稿)

圖片

1、國際橙

國際橙是航空航天工業使用的一種醒目的顏色,用來將物體與周圍環境區分開來。它是一種純的橙色,但顏色更深,色調更偏紅。

NASA 的宇航服就採用過這種顏色。

金門大橋也採用這種顏色。

東京塔和很多高樓頂上的天線,也使用國際橙和白色相間的顏色。

2、手繪滑雪地圖

美國有一位藝術家,手工繪製高山滑雪地圖,追求高度還原真實地貌。這種地圖在滑雪者裡面非常受歡迎。

下面就是最後的成品。

相比高畫質衛星地圖,這種地圖現在只能當作藝術品。

文摘

1、為什麼塑膠無法再利用

塑膠是環境汙染的主要來源之一,很多人提出回收塑膠再利用,但是這很難起作用。

首先,塑膠有成千上萬種,每種都有自己的成分和特性,包含不同的化學新增劑和著色劑,無法一起回收再利用。

你只能將回收的塑膠,先分類成不同的型別,再進行加工。舉例來說,單單是飲料的寶特瓶,就有聚對苯二甲酸乙二醇酯 (PET#1)、高密度聚乙烯 (HDPE#2)、聚氯乙烯 (PVC#3)、低密度聚乙烯 (LDPE#4)、聚丙烯 (PP#5) 和聚苯乙烯 (PS#6)等多種型別,必須分開回收。

這就是為什麼寶特瓶的瓶蓋和瓶身,必須分開的原因。你在麥當勞吃快餐,一次性的杯子、杯蓋、托盤、袋子和餐具涉及到多種型別的塑膠,也必須分開,不能放在一起回收。

其次,塑膠廢物的再加工有很多限制。塑膠是易燃品,一旦發生火災,就會影響到附近的居民區,造成的損失比回收的好處還大。

而且,不同於金屬和玻璃,塑膠不是惰性物質,可能包含有毒新增劑和化學品,塑膠再生製品很可能有毒性。加拿大就禁止回收塑膠做成食品包裝。

最後,塑膠回收根本不經濟。塑膠的價格很低,但是收集、分類、運輸、再加工塑膠廢物付出的成本高得驚人。再生塑膠製品的價格降不下來,使用者根本沒有動力購買。

由於以上三個原因,塑膠回收不能解決塑膠汙染。

為了解決塑膠汙染,最終只能限制塑膠的使用,必須儘可能少用塑膠,並且將塑膠垃圾集中處理。

言論

1、

CSS 每年都新增眾多的新特性,對任何人來說都很難跟上,更不要說利用它們了。

基本上,CSS 的複雜度已經趕上了 JavaScript。

-- Hacker News 讀者

2、

生活就是當你忙著制定其他計劃時,發生在你身上的事情。

-- 約翰·列儂

3、

人類正在創造我們自己的繼任者:我們每天都讓機器變得更美麗和精緻,賦予它們更大的力量,並透過各種巧妙的設計,讓它們擁有自我調節、自我行動的力量,他們的智力逐漸變得跟人類一樣。

隨著歲月的流逝,我們將發現自己是劣等種族,而機器是一種不斷進化的"機械生命",最終可能取代人類成為主導物種。

-- 19世紀英國小說家塞繆爾·巴特勒,1863年6月13日發表的文章《機器中的達爾文》

4、

我們一直沒有釋出1.0版,因為有一些高階功能沒有完成。但是現在,我們決定釋出了,部分原因是那些沒有完成的功能,在現實世界中似乎並不重要(不過以後我仍然想完成它們。)

更重要的原因是,只有釋出了1.0版,我們才能開始開發2.0版。

-- 《Cap'n Proto 1.0 釋出說明》

5、

我曾經請了三年假,去玩電子遊戲(不是開玩笑)。後來重新回來,不得不從最低端的工資開始,好在工資很快又漲回來了。找工作的秘訣就是降低你的工資要求,只有降低很多,你才能被錄取,對於程式設計師來說,通常它可以漲回來。

-- Hacker News 讀者

往年回顧

程式設計師需要擔心裁員嗎?(2022 #223)

網路收音機的設計(2021 #173)

網際網路公司與湘軍的軍制(2020 #123)

資料統計的威力(2019 #73)

(完)

相關文章