敏捷世界中的合规性
合規性(Compliance)是指確保人們正確地做事,并能夠證明做事的正確性。在實施敏捷和頻繁交付的情況下,人們需要為交付過程建立合規性。融入了合規性義務(Compliance Obligation)的DevOps團隊將更有可能取得成功。
\\在Atlassian 2018歐洲峰會(Summit Europe 2018)上,Atlassian的風險未來學家(Risk Futurist)Guy Herbert介紹了人們應該如何在敏捷中保持合規性。InfoQ以問答、總結和文章報道覆蓋了本次大會。
\\Herbert指出,每個組織都受到某種形式監管義務的約束。有針對產品銷售的相關規則,有針對持有客戶信息并約束相關交易的規則。Herbert表示,合規性就是確保人們做出正確的事情、知道自己正在正確地做事,并在他人質疑時可以證明自己的所作所為是正確的。
\\Herbert認為,在交付過程中必須要建立合規性。過去每六個月才交付一次,這時人們可以嘗試在交付前“上鎖保險”。 但是現在每天都要做多次的交付,合規性無法在最后一刻才添加到過程中。
\\InfoQ采訪了Herbert,采訪內容包括:如何在頻繁和快速交付時確保合規性;Devops如何有助于解決合規性需求,并使現有的合規系統更加靈活。
\\InfoQ:當人們想要頻繁快速地交付時,如何確保合規性?
\\\Guy Herbert:我們在Atlassian的做法是,讓團隊了解風險和合規性是交付的一部分。我們向團隊介紹我們當前正在做事的背景,團隊承擔自身工作的風險和合規性方面內容。我們使用同行評審作為關鍵變更控制,確保工作在構建之前通過測試。
\\大多數敏捷開發團隊都使用了同行評審和測試,這是一種獲得高質量代碼的好方法。我們做法的與眾不同之處在于,我們使用Bitbucket(譯者注:Atlassian公司提供的一個基于web的版本庫托管服務)強制執行同行評審和綠色構建。
\\我們賦予團隊做出更改的能力,但我們也告知團隊必須要由他們去做的事情。如果團隊想要更改最低要求,他們需要與我們交談。如果團隊可以達到最低要求,那么可能并沒有必要讓我們參與進來。之后,我們要求團隊每六個月就確認一次相關控制的進展情況(例如,關于用戶管理或變更控制的流程),這些控制是團隊正在執行我們曾與他們討論過的情況。我們也做一些檢查,為確保團隊確實執行了相關的控制。對于一些可自動化的控件(例如,自動用戶配置和刪除),我們只需確認它們是以正確的方式配置的,并不需要做經常性檢查。
\\\InfoQ:DevOps如何有助于人們解決合規性需求?
\\\Herbert:一個DevOps團隊通常具有多種合規性義務。而風險和合規性團隊所需要做的就是將這些義務做分解,以便從事開發和運營工作的人員可以在完成工作的同時履行這些義務。一個例子就是變更管理。幾乎所有的合規性義務都依賴于受控的變更管理環境。一旦變更實施過一次,那么該變更就可用于履行每項義務。這意味著,人們不必為每項義務實施不同的變更管理控制。當然這是一個簡單的例子,還有更多的實例。風險和合規性可能非常容易做到,也可能真的很難以達成,這取決于人們是如何為團隊設置這些義務的。
\\我們還看到,DevOps團隊具有更高的參與度和所有權。這使得合規性義務融入到DevOps團隊中,進而增加了合規性成功交付的可能性。
\\\InfoQ:如何使現有的合規系統更加敏捷?
\\\Herbert:我們應該更好地了解每個團隊所支持的合規性義務。團隊將不再專注于義務本身,而是專注于支持這些義務的控制性活動,這樣團隊能夠在有需要時做出更改。由此,團隊就知道需要開展的控制活動。一旦控制活動發生更改,團隊可以將這些控制活動轉交給新的團隊,或是與風險和合規團隊討論控制活動的潛在變化。
\\我們在Atlassian的做法是,通過對我們控制目標的討論,在團隊執行的控制活動和組織必須履行的合規義務之間形成一個抽象層。這使得交付團隊能夠專注于自身的工作,而不是每個合規性義務。
\\我認為風險和合規團隊應該找到一些方法,為團隊更好地履行合規性義務提供幫助。哪些是團隊已做的事情是用于合規性的,而非基于現有基礎的?對此,同行評審和綠色構建就是很好的例子。
\\\查看英文原文:?Compliance in an Agile World
總結
- 上一篇: Django 权限管理-后台根据用户权限
- 下一篇: Hilo开发H5小游戏踩坑笔记