2017敏捷沙灘大會:完美軟件,測量持續交付,以及探索未來

在英國康沃爾郡舉行的2017敏捷沙灘大會上,數百名演講者和參與者共聚一堂,探討敏捷和后敏捷領域軟件開發方法有哪些最新進展。本次大會最后一個下午的要點包括:交付團隊可以通過擁抱精益、迭代和持續的部署方法更快速地實現業務價值;持續交付盡管有很高回報,但實現起來同樣困難,這會給組織內部帶來很多工具和文化的改變;對持續交付各種指標的度量,如構建穩定性、部署產能和代碼產出,對持續交付是否可行至關重要;作為軟件交付從業者,我們對引導未來走勢負有很大責任。

\\

衛報新聞媒體有限公司的質量主管Sally Goble在周五下午的分組會議作了開場白,演講的題目是“完美軟件:快速交付的敵人”。Goble提到,80和90年代的軟件交付是孤立的事件,即

\\

通過物理介質將編譯好的成品安裝至用戶電腦上,這意味著“沒有調整余地的交付節奏代表了對完美的渴求”。90年代后期和2000年互聯網的普及改變了這一切。發布機構可以持續部署和更新通過萬維網交付的軟件。不斷涌現出的新方法和新流程均得益于此種新概念——可概括為精益產品開發、敏捷方法、持續交付、自動化一切以及DevOps,這些都被視為理所當然。

\\

Goble繼續談到,衛報是如何圍繞向讀者提供價值打造他們的軟件交付流程的。過渡的第一步是摒棄追求軟件”無bug“發布的舊觀念,轉變為”盡快修復“。衛報在單一特性發布、金絲雀版本發布、特性轉換以及監控預警上都有很大投入。所有這些新技術都為快速檢測和修復潛在問題提供了保障,而在通常的質量保障流程中是很難發現這些問題的。

\\

178f545a9f9de093bd2b7256a3c108ba.png

\\

關于用戶體驗,衛報團隊的理念從“完美原型”轉為“精益用戶體驗”,從“跟蹤一切”轉為“最小化跟蹤”。設計沖刺被限定為一周,整個團隊都要參與,并且必須瞄準特定的、有明確定義的業務問題。原型是粗糙的、可快速迭代的,從而能夠輕松地淘汰掉那些差勁的想法。即使假定有著明確的定義,也不是所有事情都可以被A/B測試,并且在多變的環境中,依賴測量帶來的影響讓事情變得太過復雜。為進一步增強傳統的功能評估方法,衛報創建并運作了一個大型beta測試系統,包含真實用戶,他們的行為和反饋被用來評估新功能。Goble最后總結談話時強調,緊密而持續地衡量對用戶和股東的影響是實現長期價值的關鍵。

\\

當天倒數第二個演講是持續交付咨詢師Steve Smith帶來的”測量持續交付”。演講首先回顧了持續交付中的幾個核心理念,這些理念被收錄于Dave Farley和Jez Humble的開創性的著作中:當發布機構能以滿足業務需求的穩定性和速度交付軟件時,即達成持續交付。Smith提醒道,持續交付(CD)是一個很大的課題,包含很多子課題。對于這些嘗試擁抱持續交付的機構來說,最大的挑戰是如何應對隨之而來的組織內部理念、工具和文化的改變。

\\

持續交付是很困難的。會帶來組織內部很多工具和文化的變化。

\\

Smith繼續談到接下來的改進慣例對擁抱持續交付的相關理念至關重要。持續交付的關鍵測量指標可以定義如下:穩定性等于變更失敗率和修復失敗耗時之和;而產出等于交付周期和頻率之和。

\\

da5eb7a9abbbc4fa2c14194bbf0a5915.png

\\

Smith展示了一系列富有洞見的圖表,包含了持續交付的衡量標準,內容來自英國政府機關的某個大型軟件交付項目的團隊工作。在展示部署的穩定性和產能、構建的穩定性以及代碼產能(主線提交次數加上主線提交間隔)數據的同時,Smith介紹了他和他的團隊如何定位和輔助相關團隊,提高他們的軟件持續交付能力,并最終提升他們實現業務價值的能力。關于這個話題的更多細節可見Smith所寫的Leanpub book,題目是“Measuring Continuous Delivery”。

\\

ffb43b25eb14abe22d1cbf637fa90197.png

\\

大會圓滿結束前,Thoughworks的主咨詢師James Lewis的總結發人深省。援引《教堂和市集》,Lewis和聽眾分享了“每個成功的軟件都是從程序員解決自身痛點開始的”。接下來的30分鐘Lewis回顧了Thoughtwork的技術雷達(過去很多年他都參與了其創建),然后探討了JavaScript、微服務和容器等技術對軟件行業快速實現創新和為終端用戶提供價值帶來的影響。

\\

演講后半段Lewis轉而分享他對技術的未來及應用的預見。借用《神經漫游者》等著名科幻小說

\\

的作者William Gibson的話,Lewis闡述道“我們已生活在未來之中,只不過時隱時現罷了”。

\\

389a31c9d2a19e2ea8f9369b9e9bbbad.png

\\

通過分享一系列主題的最新研究成果和行業未來的預測,如自動駕駛汽車(到2045年北半球的自動駕駛普及率將達到100%)、機器人和區塊鏈,Lewis總結了機遇與挑戰并存的未來,以饗聽眾:“我們將邁入一個連接更緊密、更自動化、更多元的世界。而軟件會引領我們前行”。

\\

關于敏捷沙灘大會的更多資訊請參考大會官網,演講視頻將于近幾周內上傳至AotB Youtube頻道。

\\

查看英文原文:Perfect Software, Measuring Continuous Delivery, and Exploring the Future: Agile on the Beach 2017

\\

感謝冬雨對本文的審校。

\\

給InfoQ中文站投稿或者參與內容翻譯工作,請郵件至editors@cn.infoq.com。也歡迎大家通過新浪微博(@InfoQ,@丁曉昀),微信(微信號:InfoQChina)關注我們。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257436.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257436.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257436.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

做fzu oj 1045 做減法學到的sprintf()函數

題目 做題一直輸不出答案,于是就上網去百度了這題的解題,發現解答十分的簡短,而且其中我看見了平時沒見過的函數,sprintf()。 于是就百度sprintf()的使用。 如下: 函數功能:把格式化的數據寫入某個字符串 函…

動態內存分配及變量存儲類別(第二部分)

5. C語言變量的存儲類別和生存期 我們知道,變量是有數據類型的,用以說明它占用多大的內存空間,可以進行什么樣的操作。除了數據類型,變量還有一個屬性,稱為“存儲類別”。存儲類別就是數據在內存中的存放區域。一個正在…

oracle的em能干什么,轉載?解決Oracle的EM登錄

轉載 解決Oracle的EM登錄(2011-03-13 20:53:39)標簽:雜談這幾天解決了EM無法登錄的問題,順便也把j數據庫程序中常出現的ORA_12518錯誤解決了,有必要總結一下,我最初遇到的情況是這樣的:1. 編寫java程序訪問oracle數據庫…

python 回溯法 子集樹模板 系列 —— 1、8 皇后問題

問題 88格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處于同一行、同一列或同一斜線上,問有多少種擺法。 分析 為了簡化問題,考慮到8個皇后不同行,則每一行放置一個皇后,每一行的皇后…

Core Java Volume I — 3.6. Strings

3.6. StringsConceptually, Java strings are sequences of Unicode characters(Java的字符串是一個Unicode序列). For example, the string "Java\u2122" consists of the five Unicode characters J, a, v, a, and ?. Java does not have a…

Android實用代碼七段(五)

前言 每次分享意味著每次都有進步,本系列以實用為主,歡迎和我分享和推薦好用的代碼段~~聲明歡迎轉載,但請保留文章原始出處:) 博客園:http://www.cnblogs.com農民伯伯: http://over140.cnblogs.com 正文 1、展開、收起…

oracle 自增1,oracle自增無法從1開始

問題描述我想讓XH字段從1開始增加,由于是varchar類型的,所以就用這種方式,但我發現我的數據表中XH字段是從217開始增加的,為什么啊問題出現的環境背景及自己嘗試過哪些方法相關代碼// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)declarej number;i number;begini:1;j:1;for i …

ceph Luminous版手動安裝零散記錄

1.安裝必要的依賴包,關防火墻,向/etc/hosts內添加域名等 2.安裝ceph 配置yum源 (如果嫌慢,可以配置cachedir/home/yum/$basearch/$releasever和keepcache1兩個參數,在第一次安裝時將安裝包下載到本地做成yum源,給后面的…

C#最簡單最完整的webservice實例

我做java,但最近接觸crm所以必須研究一下C#中的webservice以備后用,其實就是個新手,哈哈,這個實例是我在參考了網上諸多不完整的例子的情況下,自己摸索完成的。期間遇到過一系列的棘手的問題,經過個人努力終…

2015 UESTC 數據結構專題G題 秋實大哥去打工 單調棧

秋實大哥去打工 Time Limit: 1 Sec Memory Limit: 256 MB 題目連接 http://acm.uestc.edu.cn/#/contest/show/59Description 天行健,君子以自強不息。地勢坤,君子以厚德載物。天天過節的秋實大哥又要過節了,于是他要給心愛的妹子買禮物。但由…

oracle怎么通過sid確定表名,如何獲取Oracle的SID列表

更好的方法是,如果您有權訪問主機并且Oracle安裝使用以下命令:lsnrctl status。這適用于Unix,Linux和Windows機器。 status命令將顯示所有監聽器(及其相關的SID)。C:\>lsnrctl statusLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Pr…

51 Nod 1007 正整數分組【類01背包】

1007 正整數分組 基準時間限制:1 秒 空間限制:131072 KB 分值: 10難度:2級算法題將一堆正整數分為2組,要求2組的和相差最小。例如:1 2 3 4 5,將1 2 4分為1組,3 5分為1組,兩組和相差1…

YTU 2924: 文件操作--二進制文件讀入

2924: 文件操作--二進制文件讀入 時間限制: 1 Sec 內存限制: 128 MB提交: 58 解決: 20題目描述 現有100名學生的姓名(name)、學號(num)、英語(English)、數學(Math)、語文(Chinese)成績存儲在一個二進制文件student.dic中(姓名用char[20],學號和各科成績用int存儲…

oracle 9.2.0.4,CentOS 4.7 安裝Oracle 9.2.0.4的一些問題

#vi/etc/sysconfig/iptables,增加如下-A INPUT -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT-A INPUT -p tcp -s 0/0 -d 0/0 --dport telnet -j ACCEPT-A INPUT -p tcp -s 0/0 -d 0/0 --dport ssh -j ACCEPT-A INPUT -p tcp -s 0/0 -d 0/0 --dport login -j ACCEPT-…

《機電傳動控制》----學習筆記六

《機電傳動控制》與其他學科的聯系 1、《液壓傳動與氣壓傳動》中提到的液壓控制閥中的電液伺服閥與《機電傳動控制》中的控制電動機里的伺服電機有著密切的聯系,都要求我們對伺服系統有著很好的理解。 2、《電路理論》中電機作為獨立的一章,講到了用向量…

Oracle Imp and Exp (導入和導出) 數據 工具使用

Oracle 提供兩個工具imp.exe 和exp.exe分別用于導入和導出數據。這兩個工具位于Oracle_home/bin目錄下。 導入數據exp 1 將數據庫ATSTestDB完全導出,用戶名system 密碼123456 導出到c:\export.dmp中 exp system/123456ATSTestDB filec:\export.dmp fully 其中ATSTestDB為數據庫…

[Oracle][Corruption]究竟哪些檢查影響到 V$DATABASE_BLOCK_CORRUPTION

根據 471716.1,11g 之后,下列動作如果遇到壞塊,都會輸出記錄到 V$DATABASE_BLOCK_CORRUPTION。- Analyze table .. Validate structure- CTAS(Create table as Select)- Export另外,這些也會記錄的:RMAN > Vali…

oracle使用loop將增加十天,使用loop循環操作DML語句

---loop循環:--創建測試表:suxingPROD>create table total3(2 t1 number(8),3 t2 number(8),4 cr date default sysdate);Table created.#測試表已經創建。--查看表中原來的數據:suxingPROD>select * from total3;T1 T2 CR-…

iOS富文本

iOS富文本 背景:前些天突然想做一個筆記本功能,一開始,覺得挺簡單的呀,一個UITextView,網絡緩存也不干了,直接本地NSUserDefault存儲,然后完事了,美工,弄幾張好看的圖片,…

SQL編程題-----1

首先,題目給出這個數據庫表格 要求寫出SQL語句使之變成如下表格 解決方法: SELECT t1.Rq,t1.勝,t2.負 FROM //t1和t2是自己命的新表格的名字 (SELECT Rq,COUNT(*) AS 勝 //As 勝意思是輸出結果時列名為”勝“FROM testtableWHERE Sh…