免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
「規(guī)模化敏捷」SAFe: 質(zhì)量管理

檢驗(yàn)不能提高質(zhì)量,也不能保證質(zhì)量。檢查太遲了。產(chǎn)品的質(zhì)量,無論好壞,都已經(jīng)存在。產(chǎn)品或服務(wù)的質(zhì)量不能檢驗(yàn);它必須融入其中?!?/p>

- w。愛德華茲·戴明

內(nèi)置的質(zhì)量

內(nèi)置的質(zhì)量實(shí)踐確保每個(gè)解決方案元素在每個(gè)增量中都符合整個(gè)開發(fā)過程中的適當(dāng)質(zhì)量標(biāo)準(zhǔn)。

企業(yè)能否以最短的可持續(xù)交付時(shí)間交付新功能,并適應(yīng)快速變化的業(yè)務(wù)環(huán)境,取決于解決方案的質(zhì)量。因此,內(nèi)置的質(zhì)量是安全的核心價(jià)值之一,也是敏捷宣言“持續(xù)關(guān)注技術(shù)卓越性和良好的設(shè)計(jì)增強(qiáng)敏捷性”的原則之一,這一點(diǎn)也不奇怪。內(nèi)置的質(zhì)量也是精益敏捷思維的核心原則,有助于避免與召回、返工和修復(fù)缺陷相關(guān)的延遲成本(CoDs)。外管局的內(nèi)在品質(zhì)理念,運(yùn)用系統(tǒng)思維,優(yōu)化整個(gè)系統(tǒng),確保整個(gè)價(jià)值流的快速流動(dòng),讓品質(zhì)成為每個(gè)人的工作。

軟件和硬件共享內(nèi)置質(zhì)量的目標(biāo)和原則。然而,硬件的工作物理和經(jīng)濟(jì)學(xué)有些不同。本文將討論這兩個(gè)問題。

細(xì)節(jié)

企業(yè)必須不斷地對(duì)市場變化作出反應(yīng)。建立在穩(wěn)定技術(shù)基礎(chǔ)上的軟件和系統(tǒng)更容易更改和適應(yīng)。對(duì)于大型解決方案,這甚至更為關(guān)鍵,因?yàn)榧词故切∪毕莺湾e(cuò)誤假設(shè)的累積效應(yīng)也可能產(chǎn)生不可接受的結(jié)果。

構(gòu)建高質(zhì)量的系統(tǒng)是一項(xiàng)嚴(yán)肅的工作,需要持續(xù)的培訓(xùn)和承諾,但業(yè)務(wù)利益需要投資:

  • 更高的客戶滿意度

  • 提高了速度和交付的可預(yù)測性

  • 更好的系統(tǒng)性能

  • 改進(jìn)了創(chuàng)新、擴(kuò)展和滿足法規(guī)遵循需求的能力

圖1說明了內(nèi)置質(zhì)量的五個(gè)維度。首先,流說明了一個(gè)事實(shí),即內(nèi)置質(zhì)量是實(shí)現(xiàn)連續(xù)值流狀態(tài)的必要條件。另外四個(gè)描述了應(yīng)用于系統(tǒng)本身的質(zhì)量。下面將討論每個(gè)維度。

圖1所示。內(nèi)置質(zhì)量的五個(gè)維度

通過連續(xù)的輸送管道和測試優(yōu)先來實(shí)現(xiàn)流程

內(nèi)置的質(zhì)量使安全的連續(xù)輸送管道和能力釋放的需求。圖2演示了SAFe的DevOps雷達(dá)的持續(xù)集成部分,并展示了如何在進(jìn)入生產(chǎn)之前跨多個(gè)環(huán)境測試內(nèi)建組件的更改。通過用更快的代理(如內(nèi)存中的數(shù)據(jù)庫代理)替換慢速或昂貴的組件(如企業(yè)數(shù)據(jù)庫),“測試加倍”速度測試。

圖2。連續(xù)的輸送管道確保了產(chǎn)品出廠前的質(zhì)量

為了支持管道的測試需求,組織必須在開發(fā)周期的早期將測試左移。作為規(guī)范的一部分,每個(gè)系統(tǒng)行為—故事、特性、功能、非功能需求(NFR)—都包括自動(dòng)化測試。這種測試優(yōu)先的方法允許團(tuán)隊(duì)盡早并持續(xù)地應(yīng)用質(zhì)量實(shí)踐,以及為管道創(chuàng)建一組豐富的測試。

本文的其余部分將討論內(nèi)置質(zhì)量體系結(jié)構(gòu)和設(shè)計(jì)、代碼、系統(tǒng)和發(fā)布的其他四個(gè)維度。

實(shí)現(xiàn)架構(gòu)和設(shè)計(jì)質(zhì)量

內(nèi)置質(zhì)量從體系結(jié)構(gòu)和設(shè)計(jì)開始,這最終決定了系統(tǒng)能夠多好地支持當(dāng)前和未來的業(yè)務(wù)需求。體系結(jié)構(gòu)和設(shè)計(jì)中的質(zhì)量使未來的需求更容易實(shí)現(xiàn),系統(tǒng)更容易測試,并有助于滿足NFRs。

支持未來的業(yè)務(wù)需求

隨著需求基于市場變化、開發(fā)發(fā)現(xiàn)和其他原因的發(fā)展,架構(gòu)和設(shè)計(jì)也必須發(fā)展。傳統(tǒng)過程迫使早期的決策常常導(dǎo)致兩個(gè)糟糕的選擇,要么重新工作以更改決策,要么忍受次優(yōu)決策的低效。確定最佳決策需要通過實(shí)驗(yàn)、建模、仿真、原型化和其他學(xué)習(xí)活動(dòng)獲得知識(shí)。它還需要一種基于集的設(shè)計(jì)方法來評(píng)估多個(gè)備選方案,以獲得最佳決策。一旦確定了,開發(fā)人員就使用架構(gòu)跑道來實(shí)現(xiàn)最終的決策。敏捷架構(gòu)為團(tuán)隊(duì)間的設(shè)計(jì)和實(shí)現(xiàn)同步提供了有意的指導(dǎo)。

幾個(gè)設(shè)計(jì)特性是良好質(zhì)量的預(yù)測器,確保工件是可理解和可維護(hù)的,包括高內(nèi)聚和低耦合、良好的抽象和封裝、可讀性和關(guān)注點(diǎn)分離。堅(jiān)實(shí)的[2]原則創(chuàng)造了這些特點(diǎn)的設(shè)計(jì)。

架構(gòu)和設(shè)計(jì)以簡化測試

體系結(jié)構(gòu)和設(shè)計(jì)也決定了系統(tǒng)的可測試性。通過定義良好的接口進(jìn)行通信的模塊組件包含seam[3],它允許測試人員和開發(fā)人員用測試替身替換昂貴或緩慢的組件。例如,圖3顯示了一個(gè)速度控制器組件,需要從GPS位置組件獲得當(dāng)前車輛位置來調(diào)整其速度。測試帶有GPS定位的速度控制器需要相關(guān)的GPS硬件和信號(hào)發(fā)生器來復(fù)制GPS衛(wèi)星。將這種復(fù)雜性替換為測試加倍,可以減少開發(fā)和測試速度控制器或任何與GPS定位接口的其他組件的時(shí)間和精力。

圖3。模塊組件創(chuàng)建接縫以簡化測試

將設(shè)計(jì)質(zhì)量應(yīng)用于網(wǎng)絡(luò)物理系統(tǒng)

這些設(shè)計(jì)原則也適用于網(wǎng)絡(luò)物理系統(tǒng)。許多學(xué)科的工程師使用建模和仿真來獲得設(shè)計(jì)知識(shí)。例如,集成電路(IC)設(shè)計(jì)技術(shù)(VHDL, Verilog)是類似軟件的,并且從這些設(shè)計(jì)特性和堅(jiān)實(shí)的原理[4]中共享相同的好處。硬件設(shè)計(jì)還應(yīng)用了通過模擬和模型進(jìn)行測試的概念,或者在切割金屬之前提供木材原型。

這通常需要改變心態(tài)。和軟件一樣,硬件也會(huì)發(fā)生變化。通過構(gòu)建質(zhì)量來規(guī)劃未來的變化,而不是根據(jù)當(dāng)前的需求進(jìn)行優(yōu)化來完成設(shè)計(jì),從而提供更好的長期結(jié)果。

實(shí)現(xiàn)代碼質(zhì)量

所有系統(tǒng)功能最終都由系統(tǒng)的代碼(或組件)執(zhí)行。添加新功能的速度和容易程度取決于開發(fā)人員修改新功能的速度和可靠程度。受極限編程(XP)[5]的啟發(fā),這里列出了一些實(shí)踐。

單元測試和測試驅(qū)動(dòng)開發(fā)

單元測試實(shí)踐將代碼分解為多個(gè)部分,并確保每個(gè)部分都有自動(dòng)化測試來執(zhí)行它。這些測試在每次更改后自動(dòng)運(yùn)行,允許開發(fā)人員快速地進(jìn)行更改,并確信修改不會(huì)破壞系統(tǒng)的其他部分。測試還充當(dāng)文檔,并且是與組件接口交互的可執(zhí)行示例,以顯示應(yīng)該如何使用該組件。

測試驅(qū)動(dòng)開發(fā)(TDD)通過在創(chuàng)建變更之前指定變更的測試來指導(dǎo)單元測試的創(chuàng)建。這迫使開發(fā)人員更廣泛地考慮問題,包括實(shí)現(xiàn)之前的邊界用例和邊界條件。更好的理解導(dǎo)致更快的開發(fā),更少的錯(cuò)誤和更少的返工。

結(jié)伴工作

結(jié)對(duì)讓兩個(gè)開發(fā)人員在同一工作站上進(jìn)行相同的更改。一個(gè)充當(dāng)編寫代碼的驅(qū)動(dòng)程序,另一個(gè)充當(dāng)提供實(shí)時(shí)評(píng)審和反饋的導(dǎo)航器。開發(fā)人員頻繁地轉(zhuǎn)換角色。結(jié)對(duì)創(chuàng)建并維護(hù)質(zhì)量,因?yàn)榇a將包含來自每個(gè)成員的共享知識(shí)、觀點(diǎn)和最佳實(shí)踐。當(dāng)隊(duì)友們互相學(xué)習(xí)時(shí),它也能提高和擴(kuò)大整個(gè)團(tuán)隊(duì)的技能。

集體所有權(quán)和編碼標(biāo)準(zhǔn)

集體所有權(quán)減少了團(tuán)隊(duì)之間的依賴關(guān)系,并確保任何一個(gè)開發(fā)人員或團(tuán)隊(duì)都不會(huì)阻礙快速的價(jià)值交付流。作為更改的一部分,“任何開發(fā)人員都可以更改任何代碼行來添加功能、修復(fù)bug、改進(jìn)設(shè)計(jì)或重構(gòu)。因?yàn)榇a不是由一個(gè)團(tuán)隊(duì)或個(gè)人擁有的,所以支持編碼標(biāo)準(zhǔn)可以促進(jìn)一致性,這樣每個(gè)人都可以理解并維護(hù)每個(gè)組件的質(zhì)量。

在網(wǎng)絡(luò)物理系統(tǒng)中應(yīng)用代碼質(zhì)量

雖然并非所有硬件設(shè)計(jì)都有“代碼”,但物理構(gòu)件的創(chuàng)建是一個(gè)協(xié)作過程,可以從這些實(shí)踐中獲益。用于硬件開發(fā)的計(jì)算機(jī)輔助設(shè)計(jì)(CAD)工具以斷言的形式為電子設(shè)計(jì)提供“單元測試”,然后在機(jī)械設(shè)計(jì)中進(jìn)行模擬和分析。切分、集體所有權(quán)和編碼標(biāo)準(zhǔn)可以產(chǎn)生類似的好處,從而創(chuàng)建更容易維護(hù)和修改的設(shè)計(jì)。

一些硬件設(shè)計(jì)技術(shù)非常類似于代碼(例如VHDL),具有明確定義的輸入和輸出,非常適合TDD[4]之類的實(shí)踐。

實(shí)現(xiàn)系統(tǒng)質(zhì)量

雖然代碼和設(shè)計(jì)質(zhì)量確??梢暂p松理解和更改系統(tǒng)構(gòu)件,但是系統(tǒng)質(zhì)量確認(rèn)系統(tǒng)按預(yù)期工作,并且每個(gè)人都對(duì)要做的更改保持一致。下面重點(diǎn)介紹實(shí)現(xiàn)系統(tǒng)質(zhì)量的技巧。

創(chuàng)建對(duì)齊以實(shí)現(xiàn)快速流

對(duì)齊和共享理解減少了開發(fā)人員的延遲和返工,從而支持快速流。行為驅(qū)動(dòng)開發(fā)(BDD)定義了一種協(xié)作實(shí)踐,在這種實(shí)踐中,產(chǎn)品所有者和開發(fā)團(tuán)隊(duì)就故事或特性的精確行為達(dá)成一致。應(yīng)用BDD可以幫助開發(fā)人員在第一時(shí)間構(gòu)建正確的行為,并減少返工和錯(cuò)誤。基于模型的系統(tǒng)工程(MBSE)將這種對(duì)齊擴(kuò)展到整個(gè)系統(tǒng)。通過一個(gè)分析和綜合過程,MBSE提供了一個(gè)高層次的、完整的視圖,展示了系統(tǒng)的所有建議功能,以及系統(tǒng)設(shè)計(jì)如何實(shí)現(xiàn)這些功能。

持續(xù)集成端到端解決方案

如圖2所示,持續(xù)集成(CI)和持續(xù)部署(CD)為開發(fā)人員提供了對(duì)更改的快速反饋。每個(gè)變更都是快速構(gòu)建的,然后在多個(gè)級(jí)別進(jìn)行集成和測試,包括在部署環(huán)境中。CI/CD自動(dòng)將更改移動(dòng)到各個(gè)階段,并在測試失敗時(shí)做出響應(yīng)。NFRs的質(zhì)量測試也是自動(dòng)化的。當(dāng)CI/CD努力使所有測試自動(dòng)化時(shí),一些功能性(探索性)和NFR(可用性)測試只能手工執(zhí)行。

將系統(tǒng)質(zhì)量應(yīng)用于網(wǎng)絡(luò)物理系統(tǒng)

網(wǎng)絡(luò)物理系統(tǒng)還可以支持快速流、CI/CD方法——即使物理部件的交付時(shí)間很長。如前所述,仿真、模型、以前的硬件版本和其他代理可以替代最終的系統(tǒng)組件。圖4展示了一個(gè)系統(tǒng)團(tuán)隊(duì),該團(tuán)隊(duì)提供了一個(gè)可演示的平臺(tái),通過連接這些組件代理來測試增量行為。隨著每個(gè)組件的成熟(通過增加紅色來顯示),端到端集成平臺(tái)也會(huì)成熟。使用這種方法,組件團(tuán)隊(duì)將負(fù)責(zé)支持其最終解決方案的一部分,以及成熟的增量端到端測試平臺(tái)。

圖4。網(wǎng)絡(luò)物理系統(tǒng)的持續(xù)集成(CI)

實(shí)現(xiàn)發(fā)布質(zhì)量

發(fā)布允許業(yè)務(wù)度量特性的效益假設(shè)的有效性。一個(gè)組織發(fā)布得越快,它學(xué)習(xí)得就越快,提供的價(jià)值也就越多。定義組件間標(biāo)準(zhǔn)接口的模塊化體系結(jié)構(gòu)允許獨(dú)立地發(fā)布較小的組件級(jí)更改。較小的更改允許更快、更頻繁、風(fēng)險(xiǎn)更小的版本,但是需要一個(gè)自動(dòng)化的管道(如圖2所示)來確保質(zhì)量。

與傳統(tǒng)的服務(wù)器基礎(chǔ)設(shè)施不同,“不可變的基礎(chǔ)設(shè)施”不允許手動(dòng)或直接對(duì)生產(chǎn)服務(wù)器進(jìn)行更改。相反,更改應(yīng)用于服務(wù)器映像,經(jīng)過驗(yàn)證,然后啟動(dòng),以替換當(dāng)前運(yùn)行的服務(wù)器。這種方法創(chuàng)建了更一致、更可預(yù)測的版本。它還允許自動(dòng)恢復(fù)。如果操作環(huán)境檢測到一個(gè)生產(chǎn)錯(cuò)誤,它可以通過簡單地啟動(dòng)前一個(gè)映像來替換錯(cuò)誤的映像來回滾發(fā)布。

支持合規(guī)

對(duì)于必須為遵從性或?qū)徲?jì)證明客觀證據(jù)的系統(tǒng),發(fā)布還有其他條件。這些組織必須證明該系統(tǒng)符合其預(yù)期目的,并且沒有意外的、有害的后果。如法規(guī)遵循文章所述,精益質(zhì)量管理系統(tǒng)(QMS)定義了經(jīng)過批準(zhǔn)的實(shí)踐、策略和過程,這些實(shí)踐、策略和過程支持精益敏捷的、基于流程的、持續(xù)的集成部署發(fā)布過程。

完成的可伸縮定義

“已完成”的定義是保證增值能夠被認(rèn)為是完整的重要方法。增量系統(tǒng)功能的持續(xù)開發(fā)需要對(duì)已完成的工作進(jìn)行縮放定義,以確保在正確的時(shí)間完成正確的工作,有些是早期的,有些只是為了發(fā)布。表1顯示了一個(gè)示例,但是每個(gè)團(tuán)隊(duì)、培訓(xùn)和企業(yè)都應(yīng)該構(gòu)建自己的定義。雖然對(duì)于每個(gè)藝術(shù)或團(tuán)隊(duì)來說這些可能是不同的,但它們通常共享一組核心項(xiàng)目。

表1。示例安全可伸縮的完成定義

在網(wǎng)絡(luò)物理系統(tǒng)中實(shí)現(xiàn)發(fā)布質(zhì)量

對(duì)于發(fā)布質(zhì)量的看法是不要讓變更閑置,等待集成。相反,要快速且頻繁地通過系統(tǒng)的較大部分集成更改,直到更改到達(dá)驗(yàn)證環(huán)境為止。一些網(wǎng)絡(luò)物理系統(tǒng)可以在客戶環(huán)境中驗(yàn)證(例如,車輛的空中更新)。其他人使用一個(gè)或多個(gè)模型代理該環(huán)境,這些模型努力獲得早期反饋,如圖4所示。端到端平臺(tái)會(huì)隨著時(shí)間的推移而成熟,提供更高的保真度,從而支持更早的驗(yàn)證和驗(yàn)證(V&V)以及遵從性工作。對(duì)于許多系統(tǒng),早期的V&V和遵從性反饋對(duì)于理解發(fā)布能力是至關(guān)重要的。

  • 敏捷軟件開發(fā)的[1]宣言。www.AgileManifesto.org。

  • [2] Robert Martin,《OOD的原則》,http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod

  • Michael, [3] Feathers,《使用遺留代碼進(jìn)行有效測試》,Prentice Hall, 2005。

  • 《VHDL的有效編碼原理與最佳實(shí)踐》,麻省理工學(xué)院出版社,2016年。

  • 《極限編程解釋:擁抱變化》,Addison-Wesley, 1999。

  • [6]www.extremeprogramming.org/rules/collective.html

原文:https://www.scaledagileframework.com/built-in-quality/

本文:https://pub.intelligentx.net/safe-built-quality

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
S140 《軟件開發(fā)的201個(gè)原則》讀書筆記
運(yùn)用正交原理實(shí)現(xiàn)高質(zhì)量軟件
追求代碼質(zhì)量: 謹(jǐn)防緊密耦合!
淺談軟件開發(fā)項(xiàng)目的質(zhì)量控制
關(guān)于使用合格工具的DO_178B標(biāo)準(zhǔn)基于模型設(shè)計(jì)(1)
看圖說話:架構(gòu)設(shè)計(jì)分享之權(quán)限系統(tǒng)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服