精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

高質量的缺陷分析:讓自己少寫 bug

開發 開發工具
缺陷分析做得好,bug 寫得少。阿里資深技術專家和你分享如何進行高質量的缺陷分析,總結了 5 個要點,通過缺陷分析消除開發中的各種盲點,打造一個學習型的團隊。

缺陷分析做得好,bug 寫得少。阿里資深技術專家和你分享如何進行高質量的缺陷分析,總結了 5 個要點,通過缺陷分析消除開發中的各種盲點,打造一個學習型的團隊。

軟件開發中的缺陷隱含著極高的價值,但是許多組織都僅僅忍受了缺陷帶來的成本和后果,卻讓價值白白溜掉了。

缺陷的價值是其觸發的學習和成長的機會。把握缺陷帶來的學習機會,可以快速提高組織的能力,未來的缺陷更少,成本更低,更容易成功。但同時,有效的缺陷分析和跟蹤行動需要有效的方法和相應的組織的支持。

缺陷隱含著極高的價值

最近我們做了一次關于缺陷分析的工作坊。

“發生缺陷是一件好事嗎?” 在工作坊開始的時候,我這么問參與的同學。

“那當然是一件壞事了。”

“不管是不是好事,它就在那兒。我覺得無所謂好不好,這是一件正常的事情。”

“這么說好像也對,但是缺陷很麻煩,我沒法喜歡缺陷。”

是的,沒有人喜歡缺陷,它消耗研發成本,影響開發周期,但同時,缺陷又和軟件開發如影隨形,無論多少,始終都在。這是為什么呢?

看下面的這張圖:

??

??

軟件開發是消除不確定性的過程

 

軟件開發和工業生產完全不同。工業生產通過消除過程中的各種可變性,能夠逐步逼近零缺陷的目標。所以,六西格瑪方法在工業生產中非常行之有效。

軟件開發的過程則恰恰相反。每一次開發,都是不確定的,我們往往都是在項目臨近結束的時候,對整個項目的各種問題和細節才變得清晰。在這種假設下,與其追求零缺陷,倒不如說是我們應該追求降低缺陷的影響,比如,在缺陷產生的第一時間(注入時間甚至注入之前)就發現缺陷——因為這時候缺陷的成本幾乎為零,這也就可以等價為“零缺陷”了吧。

如果說工業生產中的六西格瑪方法來自于對生產系統的打造,那么,在軟件開發中,“零缺陷”對應的系統是什么呢?它當然包含軟件研發的流程和工具,但是,在我看來,最重要的,應該是打造軟件的核心主體——人。通過缺陷分析來持續學習,才能不浪費缺陷所消耗的成本。

為什么會重復踩坑

有不少團隊是有缺陷原因分析的。我曾經仔細分析過一個團隊的缺陷原因分析,發現了下面這些缺陷原因的高頻詞:

  • 編碼有問題,下次寫代碼的時候想的更仔細一些。
  • 代碼評審做的不好。下次代碼評審要充分。
  • 業務場景分析不全面,下次分析的更全面一些。
  • ......

我相信,寫下上述原因分析的同學,內心一定是很真誠的,也是真心覺得自己當時代碼寫的不夠好,業務場景分析的不全面,代碼評審不夠充分。但是,這個分析帶來的行動,卻往往是不可達成的。是真的想的不仔細嗎,還是就是想不到?這次評審做的不好,下次就肯定能做好了嗎?這次場景分析不全,那么怎么才能更全呢?

這種原因分析過于寬泛了,以至于很難產生實際有效的改進行動,下次往往還是會在同樣的地方跌倒——大家只要看一下在既往的原因分析中,有多少次類似的答案?每一次重復,就是一次新的踩坑。

還有一類原因分析,恰恰相反,又過于具體化了,具體化到了沒有學習價值的層面上。例如,這是當時設計的不對,A 服務就不該調用 B 服務,A 服務應該考慮到B服務調用中的異常場景,等等。好吧,缺陷現在已經修復了,A 服務調用 B 服務出現的異常場景已經固化在代碼中了,下一次如果是 C 服務調用 D 服務的異常場景應該怎么辦呢?

最合適的缺陷原因應該基于這樣的標準:這些原因需要形成系統化的可行動的結果。這個標準的檢驗方式是:下一次如果發生某某場景,我們的應對方案是否有效?

做好缺陷分析的 5 個要點

在實踐中,我們總結了 5 個要點,來最大化出于學習目的的缺陷分析的實踐操作。它們是:

  • 及時總結,設置卡點
  • 結對分析,小組總結
  • 負面清單支持下的全量分析
  • 可操作的結果
  • 團體學習,機制建設

及時總結,設置卡點

“缺陷分析很重要,但是研發同學都太忙了,我們兩個月集中做一次怎么樣?”

別那么緊張——及時才是最節約的方式。要從忙碌中解放出來,每次花 15 分鐘,做一次有效的缺陷分析,時間已經妥妥的啦。

缺陷分析的最好時間是缺陷修復完成的時間。此時記憶最新鮮、也能早收益。如果一個缺陷已經過去了兩個月,那么缺陷分析的成本就變高了,得找回原來的記憶和當時的上下文,這個記憶準確不準確還是另一回事。

怎樣才能保證及時地做,從而保證這些重要而不緊急的事情發生呢?一個比較有效的方式,是設置流程中的卡點:當缺陷被設定為已修復狀態、或者設定為已關閉狀態時,強制把缺陷分析設定為一個流程卡點,這樣就能形成比較好的驅動。

結對分析,小組總結

誰來負責缺陷分析?是讓具體這個缺陷的同學來做,還是召集整個團隊一起?

召集整個團隊來做缺陷分析,有時候代價過于高昂。即使僅僅分析比較后期的線上問題,即使每個缺陷僅僅分析 15 分鐘:100 個缺陷,每個團隊 8 個人,乘積就是 12,000分鐘,合 200 個小時,也是一個驚人的數字,投入產出不成比例。

解決缺陷的同學確實是對這個缺陷理解最好。但是,這會不會形成“單點問題”,降低問題分析的有效性?

我們的方案是:

把結對分析作為制度

讓解決缺陷的同學擔任負責人,搭配上一個小伙伴。結對既形成了知識方面的互補,一定程度上消除了思維盲點,也通過結對形成了更深入的討論,也提前進行結果的“驗收”,提高分析的質量。如果有必要,結對的小組可以自主決定是否引入其他人參與。

團隊定期討論學習

團隊定期對重要的缺陷分析結果進行討論,既是對小組成果的驗收,更有利于在團隊成員間形成傳播,互相學習。

負面清單支持下的全量分析

缺陷分析的目的是提升,所以,重在解決那些“未知的未知”的問題。顯然不是每個缺陷都應該深入分析。但是,如果我們針對每個缺陷都定義它該不該分析,又會導致決策成本過高,而且質量也不可靠。所以,我們的做法是在默認全量的基礎上,使用負面清單進行過濾。凡是負面清單不存在的,都進行缺陷分析。負面清單是團隊級別的。每個團隊都應該維護自己的列表,例如:

  • 偶發問題
  • 已經列在改進項中的問題(不斷擴充)

這個事情和淘金有些類似,明確不要什么,能更高效地避免那些真正值得做的事情不被淹沒。事實上,每次缺陷分析都會擴充負面清單的長度,所需的缺陷分析數量將越來越少,問題越來越聚焦,時間也越來越節省。

可操作的結果

缺陷分析應該產生有價值的洞見,足夠的深度是重點。在如何產生深度洞見方面已經有非常多成熟的方法,最典型的是 5 Whys,此外還有魚骨圖等著名工具可用。為了控制篇幅,本文略去對這些方法的介紹,只通過一個實例來說明在實際的缺陷分析中,我們是如何產生深度洞見的。

某缺陷描述了如下的場景(該實例在不影響問題說明的情況下做了適度抽象):

用戶持有某個虛擬設備,該設備有一些附屬資源,當用戶刪除設備時,該設備的附屬資源應該被釋放。但是,發現在一種特殊場景下,這個附屬資源并沒有得到釋放。

代碼如下:

void releaseResources (resoure_id){     
if (failedOfHardwareResourceRelease(resource_id)){
writeLog("resource release failed");
}
}

下面是關于這個問題的對話:

“原因是什么?”

“我們沒有在需求分析階段考慮到這種釋放不成功的場景。”

“OK。需求分析是問題,這是一個改進點。——但是更重要的:最后發現這個問題的最直接的機會點是哪個時間點?”

“寫代碼的時候。”

“寫代碼的時候我們注意到這個問題了嗎?”

“注意到了啊,所以寫了 log,但是沒仔細想應該怎么處理。這說明我們對這段代碼的職責定義不清晰。”

“也許我們可以在編程規范中加入一條:出現異常場景時不應該只記錄 log,而應該和負責人澄清場景和處理方案。在未來,當出現了僅僅出現寫錯誤 log,但是沒有其他處理的時候,我們就能注意到這一點。”

檢驗分析深度是否足夠,最直接的指標就是產生的結果是否是“可行動的”。如果一個結果是不可行動的,往往意味著深度或者抽象不夠。

團體學習,機制建設

學習型組織并不總是容易建立。除了上述心智模型和操作方法之外,組織機制往往是成功的重點。我們總結了如下幾點:

  • 是長期存在的團隊
  • 建立持續學習的心智模型
  • 持續維護和利用本組織的智力資產

這幾點似乎都毋需多言。但是關于智力資產,還是要多強調一下:分析結果最后可能會是流程改進、編程習慣和編程規范、代碼評審的檢查單、設計能力的提升、引入某些新的工程實踐如實例化需求等,不外乎有兩類:

短期的行動

例如引入實例化需求實踐、 建設自動化測試機制等。對于這類具體行動,要定義責任人和結束日期,并且把它們和管理需求等工作項同等管理起來,確保其發生。

長期的規則

這類是需要持續關注的東西,例如代碼評審的常見問題列表、采納某種設計思想如契約式設計、防御式編程等。對于這類問題,由于需要持續關注,需要維護它們,并把它們作為團隊資產的一部分。當然了,如果技術上可行,還是要把其中的一部分盡早做成工具,減少記憶負擔,提升可操作性。

這種資產維護的越多,就會發現未來需要繼續分析的缺陷越少——當然了,這也是一切資產的共性所在。

總結

現實情況紛繁復雜,統一的方法往往并不存在。但是心智模型和一定的規律、思路還是存在的。本文聚焦于通過缺陷分析進行學習。

通過適當的方法,它可以在可控的時間投入下,為組織積累寶貴的財富,并且在未來的開發中得到數倍、數十倍上百倍的回報。忙碌不是理由,在未來少掉一個新 bug,就賺回來了。

通過缺陷分析,我們可以形成如下的產出:

  • 建立團隊關于需求分析、軟件設計、編程、測試、運維等方面的共同心智
  • 形成常見問題的檢查單
  • 采用或者開發新的工具
  • 改進既有流程
  • 形成針對特定問題的行動計劃

最最重要的,通過消除各種盲點,我們的能力也就越來越強,開發也就越來越順暢,距離零缺陷的目標,就越來越近了。

 

 

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2017-07-14 09:54:47

代碼函數程序

2015-11-03 20:41:07

華為

2021-08-08 14:26:24

SQL數據庫開發

2011-05-31 13:43:46

外鏈

2012-09-13 10:44:18

Python代碼

2011-03-04 10:11:09

JavascriptAPI

2023-07-06 14:51:30

開發高質量軟件

2020-06-16 14:21:25

Windows 10微軟bug

2023-07-28 22:27:41

PromptGPT

2015-08-25 08:29:11

編寫高質量命名

2011-12-29 15:02:27

JavaScript

2015-08-03 10:40:59

程序員代碼質量Quora

2025-07-01 00:45:00

2024-03-07 11:39:24

HadolintDockerfile工具

2022-10-24 08:10:21

SQL代碼業務

2015-08-25 08:42:36

高質量代碼命名

2019-05-06 15:20:31

華為

2020-09-18 07:57:10

代碼編碼開發

2023-06-07 12:30:28

數據分析項目
點贊
收藏

51CTO技術棧公眾號

色多多在线观看| 精品人妻一区二区三区换脸明星 | 国产精品一区二区三区在线| 福利所第一导航| 欧美一级一片| 欧美日韩午夜精品| 青青在线视频免费观看| 天天操天天操天天| 久久av资源网| 欧美怡春院一区二区三区| 日本一二三不卡视频| 精品一区二区三区亚洲| 色综合天天天天做夜夜夜夜做| 亚洲三区四区| 男人天堂资源在线| 国产一区二区在线观看视频| 日本韩国欧美精品大片卡二| 中国一级片在线观看| 一区二区三区视频免费观看| 欧美一区二区精品| 别急慢慢来1978如如2| 曰本三级在线| 国产精品久久久久婷婷| 免费一区二区三区| 精品国产无码AV| 美女网站色91| 热久久这里只有精品| 久久久精品国产sm调教网站| 日韩精品dvd| 亚洲人线精品午夜| 免费黄色三级网站| 日韩精品一区二区三区中文| 欧美亚洲图片小说| 欧美日韩在线视频一区二区三区| 污视频网站在线免费| 国产精品久久久久久久久免费丝袜 | 一区二区欧美在线| 熟女丰满老熟女熟妇| **爰片久久毛片| 欧美一区在线视频| 色婷婷激情视频| 成人久久网站| 欧美性色黄大片| www黄色在线| 超级碰碰久久| 欧美午夜www高清视频| 九九热只有这里有精品| 日韩三级电影视频| 亚洲美女在线一区| 99re6这里有精品热视频| 日本精品在线| 亚洲视频中文字幕| 国产高清免费在线| а√天堂官网中文在线| 最新欧美精品一区二区三区| 一级做a爰片久久| 亚洲图片88| 国产精品国产三级国产| 亚洲最新在线| 91中文在线| 亚洲午夜国产一区99re久久| 六月婷婷在线视频| 国产调教在线| 欧美性xxxxx| 色一情一乱一伦一区二区三区日本| 成人美女视频| 欧美性三三影院| 日韩av加勒比| 中文字幕久久精品一区二区 | 国产精品久久久久久久9999| 成人一二三四区| 老司机免费视频一区二区三区| 国产欧美va欧美va香蕉在| 一级淫片免费看| 国产福利不卡视频| 久久国产精品亚洲va麻豆| 日韩成人黄色| 国产精品成人网| 人妻激情另类乱人伦人妻| 黄页网站在线| 色国产精品一区在线观看| 天天干天天草天天| 亚洲精品18| 亚洲精品一区二区网址| 日韩一卡二卡在线观看| 国产伊人精品| 国产不卡av在线免费观看| 一区二区国产欧美| 不卡的av中国片| 日韩精品久久久毛片一区二区| 成人资源www网在线最新版| 一区二区三区在线观看国产 | 美国一区二区三区在线播放| 91亚洲精品一区二区| 少妇又色又爽又黄的视频| 国产女人18水真多18精品一级做| 超碰免费在线公开| 少妇在线看www| 欧美日本一区二区三区四区| 日本一级大毛片a一| 精品一二三区| 欧美极品欧美精品欧美视频 | 久久久久无码国产精品不卡| 国产欧美91| 91午夜在线播放| 日本韩国精品一区二区| 亚洲欧美一区二区不卡| 116极品美女午夜一级| 韩国一区二区三区视频| 亚洲欧洲国产伦综合| 欧美性猛交xxxxx少妇| 久久亚洲国产精品一区二区| 7777精品伊久久久大香线蕉语言| 色鬼7777久久| 亚洲一区二区精品久久av| 亚洲天堂2018av| 婷婷精品在线| 欧美精品福利在线| 国产精品久久无码一三区| 久久嫩草精品久久久久| 真人抽搐一进一出视频| 成人国产精品久久| 色系列之999| 激情五月婷婷网| 99热这里都是精品| 日韩激情视频一区二区| 成人国产精品久久| y97精品国产97久久久久久| 中文字幕69页| 99re在线精品| 男人日女人视频网站| 免费一区二区三区在线视频| 中文字幕在线观看日韩| 国产又粗又猛又黄视频| www国产亚洲精品久久麻豆| 精品久久久久久无码中文野结衣| 成人av在线播放| 久久精品国产清自在天天线 | 日韩影院精彩在线| 明星裸体视频一区二区| 免费高潮视频95在线观看网站| 欧美成人官网二区| 欧美精品99久久久| 高清在线不卡av| 黄色激情在线视频| 一本一道久久a久久| 久久99热这里只有精品国产| 一级淫片免费看| 亚洲美女淫视频| 手机在线观看日韩av| 欧美1区2区视频| 91成人免费观看| 天使と恶魔の榨精在线播放| 91精品国产免费| 久草视频免费在线| 成人午夜视频免费看| 人妻无码久久一区二区三区免费| 91久久偷偷做嫩草影院电| 欧美激情亚洲综合一区| 欧美天堂在线视频| 疯狂欧美牲乱大交777| 亚洲午夜久久久久久久久红桃| 亚洲专区一区二区三区| 欧美在线日韩精品| 欧美一区=区三区| 久久av资源网站| 亚洲精品免费在线观看视频| 亚洲国产成人精品视频| 亚洲精品乱码久久久久久久| 六月天综合网| 伊人色综合影院| 免费观看性欧美大片无片| 国内精品视频一区| 北岛玲一区二区三区| 制服丝袜一区二区三区| 精品处破女学生| xnxx国产精品| 国产精品久久久久久久99| 欧美午夜在线视频| 欧美系列一区| 99精品视频在线免费播放| 久久久日本电影| 国产精品一区在线看| 8x8x8国产精品| 在线观看精品国产| 中文字幕日韩精品一区| 五月天丁香社区| 日韩成人免费电影| 青青在线视频免费观看| 国产亚洲一区二区三区啪| 91精品久久久久久久久久久| 女人天堂av在线播放| 亚洲区一区二区| 国产成人免费看一级大黄| 精品久久久久久久中文字幕| 国产成人福利在线| 懂色中文一区二区在线播放| 少妇人妻互换不带套| 午夜国产精品视频| 日产精品久久久一区二区| avtt久久| 国产精品电影在线观看| 黄污视频在线观看| 中文字幕亚洲国产| 天堂av手机版| 日韩一区二区三区免费看 | 亚洲影音先锋| www.18av.com| 欧美国产美女| 日本不卡久久| 激情小说一区| 亚洲一区二区中文字幕| 成人精品国产亚洲| 日本三级久久久| 91豆花视频在线播放| 久久天天躁狠狠躁老女人| 黄色av网址在线免费观看| 亚洲成人网av| 成人久久久精品国产乱码一区二区| 在线观看一区二区视频| 特一级黄色大片| 亚洲一区二区在线免费看| 亚洲区一区二区三| 欧美国产一区视频在线观看| 亚洲成av人片在线观看无| 国产精品一区二区在线观看网站| 日本人视频jizz页码69| 日韩国产精品91| 国产成人无码一二三区视频| 99在线精品免费视频九九视| 日韩人妻一区二区三区蜜桃视频| 久久人人99| 亚洲精品中文字幕乱码三区不卡 | 亚洲欧美日韩国产中文专区| 丰满人妻一区二区| 欧美一区二区三区啪啪| 国产精品久久久久久久久久久久久久久久久久 | 国产欧美日韩卡一| 亚洲一级中文字幕| 久久久久久久久免费| 中文字幕在线观看的网站| 成人午夜看片网址| 中国xxxx性xxxx产国| 国产98色在线|日韩| 国产精品久久久久野外| 国产精品77777| 真实乱偷全部视频| 国产**成人网毛片九色| 欧洲熟妇的性久久久久久| 成人精品一区二区三区四区| 亚洲美女精品视频| 成人av在线影院| 中文字幕在线观看网址| 久久综合色天天久久综合图片| 在线免费观看成年人视频| 91美女片黄在线观看| 永久免费成人代码| 国产精品久久久久aaaa樱花| 午夜激情福利电影| 一区二区不卡在线播放| 国产午夜福利片| 欧美性xxxx极品hd满灌| 欧美在线视频精品| 777欧美精品| 丰满熟妇人妻中文字幕| 日韩精品免费在线视频| 国产精品久久久久久久龚玥菲| 中国日韩欧美久久久久久久久| 亚洲成人三级| 欧美激情一区二区三级高清视频| 超碰成人av| 国产精品大陆在线观看| 国产电影一区二区| 含羞草久久爱69一区| 在线观看欧美理论a影院| 视频一区视频二区视频三区视频四区国产| 久久精品播放| 国产精品va在线观看无码| 亚洲欧美日本国产专区一区| 北条麻妃av高潮尖叫在线观看| 久久精品国产在热久久| 亚洲精品激情视频| 国产亚洲制服色| 欧美 日韩 国产 一区二区三区| 亚洲国产va精品久久久不卡综合 | 5月丁香婷婷综合| 亚洲男人第一天堂| 一区二区在线免费视频| 亚洲妇熟xxxx妇色黄| 欧美一性一乱一交一视频| 羞羞视频在线观看一区二区| 国产一区二区三区奇米久涩 | www.69av| 日产国产欧美视频一区精品| 女同性αv亚洲女同志| 久久女同精品一区二区| 激情五月少妇a| 在线精品国精品国产尤物884a| 国产v在线观看| 国产亚洲激情视频在线| 乱插在线www| 国产精品永久免费在线| 久久婷婷国产| 熟妇熟女乱妇乱女网站| 国产模特精品视频久久久久| 一区二区三区四区毛片| 91蜜桃免费观看视频| 久久精品99国产精| 欧美日韩一二三| 久久视频www| 韩国福利视频一区| 免费一区二区三区四区| 欧美aaaaa喷水| 亚洲承认在线| 亚洲精品鲁一鲁一区二区三区 | 国产一区二区三区在线观看免费视频| 欧美 变态 另类 人妖| 亚洲欧美韩国综合色| 福利网址在线观看| 日韩av影视在线| 俺来俺也去www色在线观看| 亚洲xxxx在线| 天天做天天爱天天综合网2021| 欧美成人黑人猛交| 91网址在线看| 日韩精品一区二区不卡| 日韩免费高清视频| 二区三区在线观看| 成人国产精品av| 日韩av在线中文字幕| 亚洲人成无码www久久久| 久久免费视频一区| 国产又色又爽又黄的| 精品国产乱码久久久久久影片| 国产在线高清视频| 91欧美精品午夜性色福利在线| 区一区二视频| 三上悠亚在线一区| 欧美国产精品v| 在线观看一二三区| 中文字幕亚洲二区| 婷婷精品久久久久久久久久不卡| 视频一区三区| 国内外成人在线视频| 成人做爰视频网站| 制服丝袜一区二区三区| av免费看在线| 国产精品乱码| 亚洲人体大胆视频| 日本黄色特级片| 色综合久久99| 自拍视频在线| 91久久精品国产91性色| 欧美在线观看天堂一区二区三区| 亚洲第一成肉网| 亚洲综合在线免费观看| 好吊视频一二三区| 51久久精品夜色国产麻豆| 亚洲老女人视频免费| mm1313亚洲国产精品无码试看| 亚洲国产激情av| 国产成人a人亚洲精品无码| 欧美精品在线播放| 另类图片第一页| 日韩视频免费在线播放| 亚洲婷婷国产精品电影人久久| 国产成人久久精品77777综合| 久久久久久久成人| 伊人久久大香线蕉无限次| 国产精品自拍视频在线| 亚洲精品videosex极品| 五月婷婷丁香花| 国产精品91久久久久久| 91精品亚洲| 亚洲成人av免费在线观看| 欧美中文字幕亚洲一区二区va在线| 午夜小视频在线| 爱情岛论坛亚洲入口| 免费在线成人| 在线观看亚洲网站| 亚洲国语精品自产拍在线观看| 97久久香蕉国产线看观看| 中文字幕中文字幕99 | 久久av一区二区| 看电视剧不卡顿的网站| 久久久久久久黄色| 亚洲色图美腿丝袜| 国产精品视频首页| av免费观看网| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲娇小xxxx欧美娇小| 日韩一区精品| 国产婷婷一区二区三区| 国产精品乱码一区二三区小蝌蚪| www.午夜激情| 国产精品成人久久久久| 亚洲国产一区二区三区高清| 日本污视频网站| 日韩精品极品毛片系列视频| 亚洲网站三级|