本文首發(fā)地址:https://qualityfocus.club/quality-story-1
故事1 - “我不是故意上傳的……”
多年前哪廓,當(dāng)時(shí)所在的公司為各類(lèi)建筑工程提供項(xiàng)目管理系統(tǒng)呢诬。
研發(fā)部的項(xiàng)目經(jīng)理大剛為剛?cè)肼毜膶?shí)施工程師小王提供了工時(shí)數(shù)據(jù)導(dǎo)入的測(cè)試表格文檔丈莺,便于他熟悉工時(shí)管理系統(tǒng)的功能鹿驼。小王拿到測(cè)試數(shù)據(jù)具滴,在預(yù)發(fā)布環(huán)境進(jìn)行了數(shù)據(jù)上傳測(cè)試输钩。
次日反镇,大剛接到某大客戶(hù)的重要干系人投訴:“你們?cè)趺茨茈S意上傳真實(shí)的工時(shí)數(shù)據(jù)奋蔚?” 大剛一邊安撫客戶(hù)势腮,一邊快速分析滿(mǎn)腦子的疑問(wèn):數(shù)據(jù)是被誰(shuí)上傳的联贩?在哪個(gè)環(huán)境上傳了被客戶(hù)看到?遍查一圈捎拯,發(fā)現(xiàn)這個(gè)事故有兩個(gè)坑點(diǎn):
- 數(shù)據(jù)被新人小王誤上傳泪幌,原因是發(fā)給小王的測(cè)試數(shù)據(jù)里面包含了不該有的真實(shí)生產(chǎn)數(shù)據(jù)。
- 小王在預(yù)發(fā)布環(huán)境測(cè)試,理論上客戶(hù)不會(huì)看到這個(gè)數(shù)據(jù)祸泪。那客戶(hù)是如何訪問(wèn)到預(yù)發(fā)布環(huán)境看到這份數(shù)據(jù)的呢吗浩?原來(lái)是研發(fā)經(jīng)理張工把預(yù)發(fā)布環(huán)境地址和賬號(hào)發(fā)給了客戶(hù),用于做客戶(hù)側(cè)的驗(yàn)收測(cè)試浴滴。
大剛?cè)嘀煌坏奶?yáng)穴拓萌,緊急關(guān)停了預(yù)發(fā)布環(huán)境,刪除了不該有的數(shù)據(jù)升略,并給客戶(hù)創(chuàng)建了獨(dú)立的測(cè)試賬號(hào)用于驗(yàn)收測(cè)試微王,同時(shí)啟動(dòng)了這次事故的復(fù)盤(pán)。發(fā)生事故不可怕品嚣,問(wèn)責(zé)個(gè)體或糾結(jié)情緒都無(wú)益于持續(xù)進(jìn)步炕倘,及時(shí)處理并思考未來(lái)怎么避免再次發(fā)生,才是最大化事故價(jià)值的方式翰撑。大剛作為資深管理人員罩旋,這點(diǎn)覺(jué)悟還是非常具備的,于是帶著團(tuán)隊(duì)進(jìn)行事故復(fù)盤(pán)眶诈。
團(tuán)隊(duì)的進(jìn)一步分析:
- 大剛發(fā)送前未檢查數(shù)據(jù):這是表面現(xiàn)象涨醋,底層問(wèn)題可能是新人的入職培訓(xùn)比較隨意,沒(méi)有一套成熟內(nèi)容能讓新人快速上手逝撬;另一方面也表現(xiàn)出數(shù)據(jù)管理相對(duì)混亂浴骂。
- 小王上傳時(shí)未檢查數(shù)據(jù):這也是表面現(xiàn)象,底層問(wèn)題是小王未獲得足夠的知識(shí)宪潮,不足以判斷各環(huán)境溯警、數(shù)據(jù)的用途,進(jìn)一步講狡相,現(xiàn)有環(huán)境不足以幫其快速建立起專(zhuān)業(yè)勝任力梯轻。
- 客戶(hù)在預(yù)發(fā)布環(huán)境做UAT,未建立獨(dú)立的賬號(hào):同樣是表面現(xiàn)象尽棕,底層問(wèn)題首先是項(xiàng)目經(jīng)理不知道客戶(hù)被授權(quán)了預(yù)發(fā)布環(huán)境喳挑,然后是使用賬號(hào)未隔離,不同多方人員使用相同的賬號(hào)進(jìn)行不同目的的測(cè)試滔悉,勢(shì)必會(huì)造成混亂蟀悦,這次的事故正好暴露了問(wèn)題,不在這次暴露氧敢,以后也會(huì)在其他方面暴露這個(gè)問(wèn)題。
針對(duì)不同的問(wèn)題询张,分別制定改進(jìn)項(xiàng):
- 制定新人崗位培訓(xùn)體系孙乖,為新人提供合適內(nèi)容和環(huán)境進(jìn)行安全的探索 - 項(xiàng)目經(jīng)理大剛
- 明確不同環(huán)境的用戶(hù)和用途,盤(pán)點(diǎn)現(xiàn)有環(huán)境使用情況,進(jìn)行“專(zhuān)物專(zhuān)用”改造 - 研發(fā)經(jīng)理張工
- 開(kāi)展全體培訓(xùn)唯袄,對(duì)環(huán)境用途弯屈、不同環(huán)境用戶(hù)管理和使用申請(qǐng)流程等信息進(jìn)行全員同步,務(wù)必確保信息透明和及時(shí)同步 - 項(xiàng)目經(jīng)理大剛
- 編寫(xiě)系統(tǒng)使用入門(mén)指南恋拷,持續(xù)維護(hù)并用于后續(xù)培訓(xùn)和學(xué)習(xí)過(guò)程 - 新人實(shí)施工程師小王
經(jīng)過(guò)這次復(fù)盤(pán)和改進(jìn)资厉,研發(fā)部再也沒(méi)有發(fā)生過(guò)類(lèi)似的事故,這真是從失敗中學(xué)習(xí)和成長(zhǎng)的優(yōu)秀典范蔬顾。另一方面宴偿,這個(gè)故事也充分說(shuō)明,流程實(shí)踐的不規(guī)范或缺失诀豁,非常容易引發(fā)類(lèi)似的項(xiàng)目事故窄刘,降低外部對(duì)我們產(chǎn)品質(zhì)量、項(xiàng)目管理乃至專(zhuān)業(yè)度的信任舷胜。 而信任的構(gòu)建何其艱難娩践,破壞它卻只一件事即可。這樣深遠(yuǎn)的長(zhǎng)久損失是我們不愿看到的烹骨。
尚未建立規(guī)范的團(tuán)隊(duì)翻伺,可以防患于未然,基于風(fēng)險(xiǎn)建立高質(zhì)量的過(guò)程管理辦法沮焕,同時(shí)增強(qiáng)團(tuán)隊(duì)成員間的協(xié)作和信息透明度吨岭。而已經(jīng)發(fā)生事故的團(tuán)隊(duì),也可以學(xué)習(xí)其中的經(jīng)驗(yàn)遇汞,通過(guò)事故復(fù)盤(pán)未妹、提升過(guò)程質(zhì)量、精細(xì)化管理等手段來(lái)避免事故再次發(fā)生空入。
故事2 - “防我之術(shù)络它,皆可為我所用⊥嵊”
這個(gè)故事來(lái)自于社區(qū)朋友的分享化戳,原始出處難以追溯:
某家在線購(gòu)物網(wǎng)站為了對(duì)抗密碼暴力破解,規(guī)定短時(shí)間內(nèi)賬戶(hù)登錄失敗5次埋凯,就將鎖定賬戶(hù)一個(gè)小時(shí)点楼。該網(wǎng)站的業(yè)務(wù)中,提供了一個(gè)在線競(jìng)拍的功能白对,用戶(hù)可以給喜歡的商品出價(jià)掠廓,后來(lái)者必須給出一個(gè)更高的價(jià)格。在拍賣(mài)時(shí)間截止后甩恼,商品將為出價(jià)高者所得蟀瞧。某黑客在給商品出價(jià)后沉颂,在網(wǎng)站上繼續(xù)觀察誰(shuí)出了一個(gè)更高的價(jià)格,當(dāng)他發(fā)現(xiàn)有人出價(jià)更高時(shí)悦污,就去惡意登錄這個(gè)用戶(hù)的賬戶(hù):當(dāng)?shù)卿浭〈螖?shù)達(dá)到5次铸屉,該賬戶(hù)就被系統(tǒng)鎖定了。訂單系統(tǒng)和賬戶(hù)安全系統(tǒng)是相關(guān)聯(lián)的切端,當(dāng)訂單系統(tǒng)發(fā)現(xiàn)賬戶(hù)被鎖定后彻坛,該用戶(hù)的出價(jià)也同時(shí)作廢。這樣踏枣,黑客就能以極低的價(jià)格昌屉,獲取他所想競(jìng)拍的物品。
我非常喜歡這個(gè)故事椰于,驚嘆于人類(lèi)發(fā)揮在孜孜不倦薅羊毛上的聰明才智怠益。如果我們也像故事1中那樣來(lái)拆解這個(gè)故事線,會(huì)發(fā)現(xiàn)其中的明線暗線非常滿(mǎn)足一個(gè)好故事的必備要素瘾婿,起承轉(zhuǎn)合蜻牢,精彩紛呈。
進(jìn)一步分析偏陪,黑客之所以成功的關(guān)鍵在于抢呆,他能發(fā)現(xiàn)看似不相關(guān)的登錄業(yè)務(wù)和競(jìng)拍業(yè)務(wù)之間隱秘的關(guān)聯(lián),利用登錄業(yè)務(wù)的正常功能去攻擊拍賣(mài)業(yè)務(wù)的邏輯漏洞笛谦,行云流水一氣呵成抱虐。而我們?cè)谠O(shè)計(jì)、研發(fā)和驗(yàn)證業(yè)務(wù)邏輯的時(shí)候饥脑,都相對(duì)局限在當(dāng)下的業(yè)務(wù)中恳邀,沒(méi)有用全局視角整體審視業(yè)務(wù)之間的關(guān)聯(lián),進(jìn)而產(chǎn)生能被別有用心之人所利用的業(yè)務(wù)邏輯缺陷灶轰。
這個(gè)故事告訴我們谣沸,不了解業(yè)務(wù)之間的關(guān)聯(lián),只是在局部?jī)?yōu)化和增強(qiáng)笋颤,也非常容易引發(fā)質(zhì)量問(wèn)題或安全漏洞乳附。
探索質(zhì)量外延
在管理復(fù)雜度高的項(xiàng)目中,提升質(zhì)量的有效方式在于提升過(guò)程的精細(xì)化管理伴澄,把可能造成風(fēng)險(xiǎn)的因素扼殺在全程可控可追溯的完善流程中赋除。
在做日常的業(yè)務(wù)增強(qiáng)時(shí),每新增或變更一個(gè)功能非凌,都需要考慮和原有業(yè)務(wù)之間的關(guān)聯(lián)举农,思考業(yè)務(wù)、用戶(hù)敞嗡、數(shù)據(jù)等因素內(nèi)部或彼此之間的相互關(guān)系并蝗,有助于預(yù)防深層次的意想不到的重大缺陷祭犯,從而獲得較好的質(zhì)量。