<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          技術(shù)改進(jìn)項(xiàng)目的質(zhì)量保障思路丨IDCF

          共 3168字,需瀏覽 7分鐘

           ·

          2022-07-22 13:11

          來源:圓小豆的美夢工場
          作者:于曉南


          本文分享一些技術(shù)改進(jìn)類項(xiàng)目(以下簡稱“技改項(xiàng)目”)的質(zhì)量保障思路。


          技改項(xiàng)目的質(zhì)量挑戰(zhàn)



          何為技改項(xiàng)目? 即目標(biāo)是服務(wù)于技術(shù)改進(jìn)或架構(gòu)升級,而非服務(wù)于常規(guī)的業(yè)務(wù)功能更新。常見的技改項(xiàng)目有:大規(guī)模的前端重構(gòu)或后端重構(gòu)、技術(shù)架構(gòu)升級、數(shù)據(jù)庫拆分、數(shù)據(jù)遷移、系統(tǒng)上云和云遷移、非對客的支撐性項(xiàng)目等。(非對客:不直接面對前端用戶的功能,通常是系統(tǒng)的支撐性需求)

          為什么這類項(xiàng)目的質(zhì)量保障思路值得單獨(dú)討論? 區(qū)別于常見的業(yè)務(wù)功能更新,這類項(xiàng)目往往都是在保持原有業(yè)務(wù)的基礎(chǔ)上進(jìn)行的底層支持或改造,與以往業(yè)務(wù)功能測試的角度不同,更多的是針對非功能需求的測試。而團(tuán)隊整體缺乏業(yè)務(wù)視角,或?qū)Ψ枪δ苄枨蟮馁|(zhì)量認(rèn)知不足,可能會引發(fā)大量的質(zhì)量風(fēng)險或缺陷,破壞已有功能的正常運(yùn)轉(zhuǎn)。

          另外,技改項(xiàng)目面臨的情況往往比較復(fù)雜,缺失的大量業(yè)務(wù)上下文,難以償還的技術(shù)債遺產(chǎn),項(xiàng)目人員往往面臨著一邊做技改、一邊理業(yè)務(wù)的困境。難上加難的是,還可能同步進(jìn)行著現(xiàn)有業(yè)務(wù)的擴(kuò)充或變更,這就更為技術(shù)改進(jìn)類項(xiàng)目的質(zhì)量保障過程雪上加霜。

          因此,這類項(xiàng)目的質(zhì)量保障任重而道遠(yuǎn),需要特別對待,從長計議。


          兵馬未動,策略先行



          2.1風(fēng)險驅(qū)動整個過程

          技改項(xiàng)目好比暗潮涌動的平靜海面,平時不出事,一出就是大事。因此,風(fēng)險分析和干預(yù)應(yīng)貫穿始終。

          常見的質(zhì)量風(fēng)險盤點(diǎn)如下:

          1. 低估工作量或研發(fā)過程中的工作量膨脹,不能如期上線

          2. 上線過程不可逆,有失敗風(fēng)險

          3. 破壞既有穩(wěn)定功能

          4. 影響外部集成系統(tǒng)

          5. 不可抗力導(dǎo)致上線時間變動,提前或延后

          6. 質(zhì)量較差造成的大量返工

          我們把這些風(fēng)險放到風(fēng)險狀態(tài)矩陣中,可針對不同等級的風(fēng)險制定不同程度的干預(yù)或響應(yīng)機(jī)制。

          風(fēng)險狀態(tài)矩陣:盡早分析 Over 走一步看一步

          2.2構(gòu)建質(zhì)量防護(hù)網(wǎng)

          按理來說技改類的代碼變動,類比重構(gòu),應(yīng)保證原有功能不被破壞。但現(xiàn)實(shí)往往是“動一行、掛一片”,“動兩段,修半年”。

          在做大規(guī)模的技改前,構(gòu)建質(zhì)量防護(hù)網(wǎng)尤為重要。 設(shè)計良好的自動化測試能被頻繁執(zhí)行,這就構(gòu)成了質(zhì)量保障的基礎(chǔ)。我們詬病于自動化測試的投資回報率低,通常是因?yàn)橛缅e了地方。自動化測試應(yīng)用于需要大量回歸測試的場景,如業(yè)務(wù)變量較少的技改類項(xiàng)目,會比應(yīng)用于頻繁開發(fā)新功能的場景更見效也更經(jīng)濟(jì)。

          除了自動化測試給代碼質(zhì)量的保障,還需要人工干預(yù)的流程保障。 測試人員應(yīng)堅守質(zhì)量門禁,即使是一張技術(shù)卡或任務(wù)卡,也要像對待用戶故事一樣,堅持開結(jié)卡的流程,明確驗(yàn)收標(biāo)準(zhǔn)和完成定義,確保已經(jīng)做了的事情都是有效且高質(zhì)量的。

          質(zhì)量門禁的意義:破壞引入問題的回路

          2.3為“不可逆”而設(shè)計和預(yù)演

          試想這樣的場景:常規(guī)的功能發(fā)布,經(jīng)過緊鑼密鼓的上線部署和驗(yàn)證,突然發(fā)現(xiàn)存在重大問題,來不及臨時修復(fù),只能回滾。于是相關(guān)的服務(wù)回滾后,測試人員又進(jìn)行了回歸驗(yàn)證,確保服務(wù)回滾不會造成重大的影響。為了不影響業(yè)務(wù)運(yùn)轉(zhuǎn),往往只能在非工作時間進(jìn)行部署,折騰完這一圈可能都是后半夜了,好在有驚無險。大家盯著轉(zhuǎn)危為安的軟件,露出了欣慰的笑容。

          如果是技改類項(xiàng)目呢?一樣的過程,上線→發(fā)現(xiàn)問題→回滾?無法回滾!若此時遇到問題,內(nèi)心只有兩個字:“絕望”。技改類項(xiàng)目的特點(diǎn)決定了上線過程基本都是不可逆的一錘子買賣,很少具備有多套生產(chǎn)備份或?yàn)?zāi)備的條件。因此,技改類項(xiàng)目的開發(fā)、測試、部署、基礎(chǔ)設(shè)施、上線過程等等一系列研發(fā)活動,都需要為“不可逆”而設(shè)計,并且應(yīng)在類生產(chǎn)環(huán)境進(jìn)行多輪具備多樣性的部署預(yù)演。 不能事后補(bǔ)救,只能事前預(yù)防。


          業(yè)務(wù)視角不能丟



          技術(shù)改進(jìn),并不只是技術(shù)范圍內(nèi)的事。 除非這部分代碼完全不會在生產(chǎn)環(huán)境運(yùn)行(當(dāng)然這種情況也不需要上線),否則都需要帶著業(yè)務(wù)視角來看待技術(shù)改進(jìn)。在改進(jìn)過程中,如何邊改邊保持業(yè)務(wù)的穩(wěn)定運(yùn)行,如何確保遷移后的數(shù)據(jù)能在業(yè)務(wù)系統(tǒng)里順利流轉(zhuǎn),如何保證非對客項(xiàng)目的架構(gòu)設(shè)計滿足業(yè)務(wù)系統(tǒng)的支撐性需求?這些問題的探討都不能獨(dú)立于技術(shù)范圍,而需要更多業(yè)務(wù)側(cè)的輸入。

          3.1業(yè)務(wù)輸入與業(yè)務(wù)評審

          業(yè)務(wù)人員天然具備業(yè)務(wù)視角,可以從保證業(yè)務(wù)連續(xù)性的角度給技改類項(xiàng)目兩類輸入,一類是業(yè)務(wù)知識本身,項(xiàng)目背后的業(yè)務(wù)沉淀和業(yè)務(wù)重點(diǎn);另一類是為了保證業(yè)務(wù)連續(xù)性,需要提供的支撐性需求,如可追蹤/留痕、容錯性、高可用需求等。

          在技改過程中,識別到任何可能影響本系統(tǒng)業(yè)務(wù)或集成系統(tǒng)業(yè)務(wù)的改動內(nèi)容,都需要組織業(yè)務(wù)評審,充分理解業(yè)務(wù)背景,再評估改動范圍和風(fēng)險。

          3.2基于風(fēng)險的業(yè)務(wù)優(yōu)先級判斷

          資源總是受限,以追求經(jīng)濟(jì)的投資角度來看,應(yīng)基于風(fēng)險來判斷業(yè)務(wù)優(yōu)先級,給不同風(fēng)險等級的業(yè)務(wù),投入與之匹配的質(zhì)量資源。 如下圖,呈現(xiàn)了基于業(yè)務(wù)優(yōu)先級的自動化測試設(shè)計。

          基于業(yè)務(wù)優(yōu)先級的自動化測試設(shè)計

          3.3業(yè)務(wù)集成要趁早

          如有可能,盡早集成。 應(yīng)從設(shè)計時就進(jìn)行思考,驗(yàn)收時依賴的內(nèi)部服務(wù)盡量不用mock。盤點(diǎn)改進(jìn)點(diǎn)或遷移數(shù)據(jù)的業(yè)務(wù)含義;所需覆蓋的業(yè)務(wù)場景,盡量以端到端的視角去做技改部分的驗(yàn)證。如果早期不考慮集成相關(guān)的問題,后期可能面臨的就是大量返工,甚至推倒重來。這個沉沒成本是不情愿也不應(yīng)該付出的。


          技術(shù)實(shí)現(xiàn),應(yīng)知其所以然



          4.1深入技術(shù)細(xì)節(jié)

          因技改類項(xiàng)目需維持業(yè)務(wù)連續(xù)性,且通常底層變化難以從外部觀測,可測性不高,因此在做技改類項(xiàng)目的測試和質(zhì)量評估時,需要深入技術(shù)細(xì)節(jié),對具體的實(shí)現(xiàn)過程刨根問底。只有深入技術(shù)細(xì)節(jié),才能有效避免“錯誤的輸入經(jīng)由處理后,陰差陽錯地返回了正確的、或看上去正確的輸出”。

          4.2重視非功能需求

          非功能需求,也稱跨功能需求或支撐性需求(Non/Cross-functional requirement),是指按照一些條件判斷系統(tǒng)運(yùn)作情形或其特性,而不是針對系統(tǒng)特定業(yè)務(wù)行為的需求。

          ——維基百科


          測試非功能需求的兩大質(zhì)量目標(biāo):一是保證系統(tǒng)穩(wěn)定運(yùn)行,二是保證系統(tǒng)可持續(xù)發(fā)展。

          • 運(yùn)行質(zhì)量:可在系統(tǒng)運(yùn)行時觀察到的質(zhì)量,如安全、性能、可用性等

          • 發(fā)展質(zhì)量:與軟件系統(tǒng)結(jié)構(gòu)和開發(fā)過程有關(guān)的質(zhì)量,如可維護(hù)、可擴(kuò)展等

          技改類項(xiàng)目應(yīng)更加重視非功能需求: 整個改進(jìn)過程是否破壞了系統(tǒng)原本支持的非功能需求;干系人或用戶對改進(jìn)后系統(tǒng)的非功能需求預(yù)期是否發(fā)生了變化;對已經(jīng)捕捉到的非功能需求,應(yīng)能清晰描述驗(yàn)收標(biāo)準(zhǔn)和期望的系統(tǒng)運(yùn)行狀態(tài)。

          非功能需求示例:針對不同系統(tǒng)特性,應(yīng)形成相應(yīng)的非功能需求重點(diǎn)


          一些經(jīng)驗(yàn)教訓(xùn)



          5.1 1+1<2

          由于技改類項(xiàng)目的特殊性,承擔(dān)這類項(xiàng)目研發(fā)工作的大都是研發(fā)骨干,這對項(xiàng)目經(jīng)理提出管理上的挑戰(zhàn)。需警惕“1+1<2”的陷阱,避免頻繁陷入漫無邊際的無意義的技術(shù)討論中。同時兼顧技術(shù)決策的投資回報和改進(jìn)效率,以及核心骨干人員的工作體驗(yàn)。陷于類似困境的同事們都能深刻意識到團(tuán)隊梯隊的重要性,全是資深同事并不利于工作的快速推進(jìn)和高效管理。

          5.2全局視角

          影響技改或被其影響的干系方很多,技改類項(xiàng)目需要更宏觀的全局視角。不只關(guān)注技術(shù),更關(guān)心業(yè)務(wù);不只關(guān)心自己的業(yè)務(wù),也關(guān)心是否影響外部集成方的業(yè)務(wù);不僅關(guān)注當(dāng)下的運(yùn)行質(zhì)量,也關(guān)心未來的業(yè)務(wù)或架構(gòu)演進(jìn)。一句話總結(jié),這個全局視角需要橫跨技術(shù)和業(yè)務(wù)、團(tuán)隊和干系人,還有時間上的現(xiàn)在和未來。

          5.3業(yè)務(wù)沉淀的必要性

          具備高業(yè)務(wù)復(fù)雜度的項(xiàng)目一定要做好知識管理,再忙也別忘了抽空做業(yè)務(wù)沉淀和知識傳遞。業(yè)務(wù)沉淀的必要性就好比人的軟實(shí)力,平時可能看不出差距,持續(xù)做也似乎成效甚微。但凡遇到復(fù)雜度上升或面臨艱難挑戰(zhàn),管理人員就會發(fā)現(xiàn),在平時點(diǎn)點(diǎn)滴滴的實(shí)踐過程中,業(yè)務(wù)上下文的構(gòu)建和業(yè)務(wù)視角的賦能,已經(jīng)在團(tuán)隊中悄無聲息的完成了。關(guān)鍵時刻方見奇效。


          #IDCF DevOps黑客馬拉松挑戰(zhàn)賽,獨(dú)創(chuàng)端到端DevOps體驗(yàn),精益創(chuàng)業(yè)+敏捷開發(fā)+DevOps流水線的完美結(jié)合。

          2022年首場將在美麗的海濱城市-大連舉辦,8月6-7日,36小時內(nèi)從0到1打造并發(fā)布一款產(chǎn)品。

          企業(yè)組隊參賽&個人參賽均可,趕緊上車~??


          瀏覽 87
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费视频在线观看三区 | 高清无码免费 | 天堂网色| 国产一级大学生黄色片 | 久久国产精品久久久 |