<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>

          如何衡量一個軟件工程的質(zhì)量?

          共 2488字,需瀏覽 5分鐘

           ·

          2023-10-14 12:54

          要提高軟件工程的質(zhì)量,需要先找到一些可以衡量的維度。在改進(jìn)前,先按這些維度打分,然后每隔一段時間再來打分,看看分?jǐn)?shù)的變化情況。


          打分可以是主觀的,比如通過發(fā)送問卷調(diào)查的形式,讓工程師按這些維度分別打分,再做一個匯總,得到最終的分?jǐn)?shù)。


          以下是一個可供參考的打分表,一共兩大類,每個類別下有若干問題。


          一、代碼質(zhì)量、持續(xù)集成/持續(xù)部署、本地開發(fā)和測試



          非常不認(rèn)同

          不認(rèn)同

          中立

          認(rèn)同

          非常認(rèn)同

          代碼容易理解、易于查找,有著高質(zhì)量






          有高效的自動化測試






          有很好的自動化測試覆蓋率






          本地開發(fā)環(huán)境易于從 0 開始設(shè)置起來






          技術(shù)債務(wù)可控,并且在持續(xù)償還






          有快速的 CI/CD 流水線






          部署上線是自動化的,一周好幾次






          整個系統(tǒng)(包含所有組件)都是大家知道并且理解的






          系統(tǒng)組件之間的交互是合理的,并且是被清晰定義過的






          基礎(chǔ)設(shè)施是獨立于應(yīng)用代碼,通過 IaC 來部署到各個環(huán)境的






          團(tuán)隊成員理解基礎(chǔ)設(shè)施和其中的資源連接情況






          基礎(chǔ)設(shè)施代碼有測試,并且在每次部署前都會執(zhí)行這些測試






          文檔充分、以結(jié)構(gòu)化的方式有序組織在一起,并且是最新的







          二、認(rèn)知負(fù)擔(dān)

          非常低的認(rèn)知負(fù)擔(dān)意味著當(dāng)你在做任務(wù)時,你的大腦可以非常放松。你知道可以在哪兒找到你需要的東西,并且所有東西都會在你拿到一個新任務(wù)的同時立即清晰。


          非常高的認(rèn)知負(fù)擔(dān)意味著當(dāng)你在做任務(wù)時,你的大腦 100% 滿負(fù)荷運行。你希望有更多的大腦來幫助你理清問題,以及找到解決問題的方式。



          非常低

          一般/中等

          非常高

          內(nèi)在的——如去哪里可以找到相關(guān)功能特性的代碼、在哪里添加新代碼等等






          外部的——我怎么配置和部署一個服務(wù)呢?






          綜合/特殊/關(guān)鍵的——如服務(wù)之間該怎樣交互?從產(chǎn)品側(cè)過來的業(yè)務(wù)需求等






          認(rèn)知負(fù)擔(dān)會影響團(tuán)隊開發(fā)新功能、為增長的用戶數(shù)量而將應(yīng)用擴(kuò)容的能力。在軟件工程中,認(rèn)知負(fù)擔(dān)是指在閱讀軟件產(chǎn)物(代碼、如何運行服務(wù)等)時在心智努力上的花費。



          每天影響開發(fā)人員的認(rèn)知負(fù)荷有三種不同類型(摘自《高效能團(tuán)隊模式》一書):

          1. 內(nèi)在認(rèn)知負(fù)荷 - 與任務(wù)本身的問題領(lǐng)域相關(guān)(例如,如何在這個類中創(chuàng)建新方法?)

          2. 外部認(rèn)知負(fù)荷 - 與執(zhí)行任務(wù)的環(huán)境相關(guān)(例如,如何部署這個組件?如何配置這項服務(wù)?)

          3. 特殊/綜合/關(guān)鍵認(rèn)知負(fù)荷 - 與任務(wù)的特定學(xué)習(xí)或高性能關(guān)注相關(guān)(例如,這項服務(wù)應(yīng)該如何與ABC服務(wù)互動?業(yè)務(wù)需求)

          理想情況下,內(nèi)在和外部認(rèn)知負(fù)擔(dān)都應(yīng)該是低的,而特殊認(rèn)知負(fù)荷,則應(yīng)該在中等。

          一般來說,為了有效地交付和運維現(xiàn)代軟件系統(tǒng),組織應(yīng)盡量減少內(nèi)在的認(rèn)知負(fù)荷,消除外部的認(rèn)知負(fù)荷,從而為關(guān)鍵認(rèn)知負(fù)荷留出更多空間——而這正是“增值思維”的體現(xiàn)。

                                                                       - 《高效能團(tuán)隊模式》


          行動起來


          不妨給自己的工程按照以上維度打個分吧,看看現(xiàn)狀如何?并且,嘗試列出改進(jìn)項,并每次改進(jìn)一點點,定期回顧一下吧!

          瀏覽 55
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  69免费在线视频 | 一几毛片| 内射国产精品 | 国产强 暴 疼 哭 处 女 国产肉体ⅩXXX137大胆 | 一级黄色免费视频网站 |