成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

軟件研發的這些誤區,你中了嗎?

開發 開發工具
軟件研發過程中如何讓工作變得更簡單高效?事務性工作應該更關注需求還是更關注任務?是持續發布還是批量發布?本文將從七個方面聊一聊軟件研發過程中常見的誤區及正確姿勢,分享研發過程中的那些 Dos 和 Dont's。

[[331056]]

軟件研發過程中如何讓工作變得更簡單高效?事務性工作應該更關注需求還是更關注任務?是持續發布還是批量發布?本文將從七個方面聊一聊軟件研發過程中常見的誤區及正確姿勢,分享研發過程中的那些 Dos 和 Dont's。

結束了一天的工作,拖著疲憊的身軀,坐在馬桶上,回顧一天的工作,發現有那么多的不值得,明顯沒有價值貢獻的任務,卻干了一大杯;明明可以好好工作,卻硬要表演得很忙似的;明明有機器幫我們干活,卻硬著頭皮逐字逐句讀代碼;明明別人家已經持續交付了,而我們依然覺得批量來一把更經濟實惠。哥很難,難的不是工作太辛苦,而是明明可以更簡單,卻硬要搞得很復雜,今天,我們試著扒一扒軟件研發過程中的常見誤區。

關注需求 vs 關注任務

在辦公室里看得最多的場景,無非是每一個人都并行工作在很多事務上,忙至深夜。而“努力”的結果還是交付時間一而再、再而三地延期。事務性工作的本質還是任務驅動,關注在基本的開發任務,因為任務是片段的、部分的,缺乏產品需求及目標的整體性。個體上,雖然任務完成很多,但因為缺少與其他任務在產品需求層面的拉通,也難以保證產品需求交付的按期交付。這就像忙碌的倉鼠,雖然不停歇地在滾輪上奔跑,但依然在原地。

而軟件交付的本質,是持續、快速、高質量地交付有效價值。業務或產品需求才是有效價值的體現。需求來源于用戶問題和業務目標,可以從業務目標、業務場景、功能需求等幾個不同的維度分解需求,分解完后的需求,依然保持續其完整性、獨立性,可測可發布,每一個需求的交付,都是一次假設驗證的過程,是業務價值創造的機會。

所以,在軟件交付協作中,通過精益交付看板可視化需求流動,才能做到價值驅動;只有通過需求,以一個整體視角,可視化“端到端”的價值流,才能做到在協作過程中的前后(職能)拉通。始于用戶問題的提出,終于用戶問題的解決。

 

所謂,Outcome over output,就是盡可能在最小化 output 的同時,最大化 outcome。output 是任務產出,outcome 是需求結果。站在老板的角度,才不看你完成了幾個任務,他關心的是交付了多少特性需求。

【要訣】以需求為單位進行協作,更關注業務價值視角。通過精益交付看板可視化需求交付過程。

流動效率 vs 資源效率

資源效率,指的是那種視人為資源,關注人效,制造局部繁忙。然而局部資源效率的提升,并不能使整體效率提升。這是為什么呢?

因為,產品交付的整個過程,需要協同所有職能,包括(但不限于)業務、產品、開發、測試和運維。關注資源效率,一是軟件的交付取決長短板;二是每個職能進行局部效率優化,容易形成效率豎井,即局部來看,效率很高,產出了很多中間制品,豎井之間的交接形成了批量,整體效能并未得到任何改善。

[[331058]]

 

以流動效率為核心,就是要以需求為流動單元,從用戶來,然后快速流向用戶,加速需求的 Time to market。流動效率的快慢直接決定了用戶響應、獲取反饋的效率。以流動效率為核心,必須拉通交付流程中的所有職能,打破組織壁壘。同時,聚焦流動效率,可以幫助組織即時暴露協作中的問題,如阻塞、等待等,這些問題可能是協作問題,也有可能是工程能力問題。

軟件研發過程中的主要問題,永遠都不是閑著的資源,而是閑著的需求。

做個不太恰當的比喻,關注資源效率的老板是計時發薪,關注流動效率的老板是計件發薪。你們老板屬于哪一類呢?

【要訣】資源效率,是關注個人人效,關注人力的利用率,繁忙的局部資源效率,并不能在整體上帶來流動效率的提升。

關注問題 vs 關注活動

僵尸式站會,指的是那種照搬方法論框架,追求形式主義的站會現象。這一現象,人們往往會面臨“站會是要站著開,還是坐著開?計劃會議需要分上下午兩場,還是集中在下午?”這樣的問題。過分關注活動的形式,而忽略了問題本身就是本末倒置。

方法論框架的目的是為了交流理解的需要,而不是生搬硬套,照本宣科。軟件項目協作,應該關注問題的解決,阻塞的移除,關注需求如何快速從前一道工序流動到下一道工序。項目協作中,應該關注:

  • 當前有哪些阻塞
  • 哪些到期應該交付,而不能交付的需求
  • 依賴有哪些
  • 交付的價值流中是否有中斷
  • 當前交付過程中的瓶頸有哪些

我們建議的站會 6+1,是對協作中關注問題的一個指南。

 

我們不建議照搬哪個方法論的框架,如站會是要站著開,還是坐著開?計劃會議需要分上下午,還是一個下午?過分強調活動的樣式,就是形式主義。方法論框架的目的是為了交流理解的需要,而不是生搬硬套,照本宣科。

一切不以解決問題為目的的形式主義都是耍流氓。

【要訣】站會 6+1。

跨職能團隊 vs 單一職能團隊

以需求價值驅動,流動效率為核心,意味著在協作過程中,必須以業務驅動,拉通從業務、產品,到開發和測試的各個職能,跨職能協同。單一職能的團隊,容易形成職能豎井,導致各個職能在局部繁忙,但是整體系統協作效率低下。

我們假設團隊內部的溝通效率始終大于跨團隊溝通的效率,通過組建跨職能團隊,可以有效提升在協作中的等待問題,讓整個團隊關注在需求的交付上,而不是任務的完成??缏毮軋F隊可以是實體團隊,如果沒有條件,組建虛擬的跨職能團隊也是一個非常不錯的嘗試。

 

【要訣】可以虛擬組建跨職能團隊,拉通從業務、產品,到開發和測試的各個職能,跨職能協同。

代碼掃描 vs 代碼評審

人們過分強調代碼評審(Code Review)的作用,而忽視了自動化代碼掃描的能力。代碼評審本身并不能直接提升代碼質量,代碼評審是社交化編程的一種手段,旨在代碼評審中,形成促進團隊內部知識共享,提高團隊整體水平,確保團隊統一規范。其本身是員工編程技能培養的一種手段。

圖片來源于互聯網

 

代碼掃描,可以自動化地完成代碼質量的檢查,借助技術手段,促進代碼的高可見性,如代碼的重復度、復雜度、扇入扇出依賴度、領域語言識別等等,這遠比人工的檢查效率高出許多。同時,結合靜態代碼掃描和規約掃描,把一般性的問題可以快速識別出來,如格式問題、基本的語法錯誤、潛在的內存問題等等;而對于一些內存問題及性能問題,也可以通過動態檢查的手段來檢查,如 C/C++中,常用 Valgrind,llvm-clang,efence 等等小工具就可以完成相應的動態檢查。

對于 Java 開發者而言,Java 開發手冊是一個不錯的手段,同時,云效代碼管理工具,內置代碼安全掃描等功能,可以抓出代碼的大部分安全問題。

【要訣】代碼評審是開發者能力培養的手段、而非質量守護手段。借助代碼規約,通過代碼掃描完成代碼質量檢查。

持續發布 vs 批量發布

持續發布,就是持續地發布,即持續、快速、可靠地發布軟件。持續發布,有助于問題的快速發現,同樣,持續發布有助于工程效能問題的發現,需要做到持續發布,意味著:

  • 需要建立統一規范的發布流程,以工具手段,將流程內建在工具上,防止過多的人工參與引入不必要的問題和安全風險。
  • 建立自動、完善的質量守護體系。
  • 自動化的部署手段,部署盡量做到無人工介入,如采取 Docker 鏡像方式,代碼與配置分離,一次構建多次部署。

持續發布意味著持續獲得反饋,每天的工作有反饋。更多的反饋和持續改進的機會,有助于質量及工程效率的提升?;谠频囊徽臼酱a托管和持續發布系統,可以快速發現,即時反饋。讓在線發布協同成為可能。

批量發布意味著大爆炸式集成,問題集中爆發,傳統的以瀑布或大迭代方式的開發方式,一般都是批量的發布方式,在當前業務不確定性如此強,變化如此快的大環境下,這種批量的發布越來越不受待見。

 

【要訣】建立統一發布流程和規范,通過工具或云原生技術實現一次構建多次部署。

自動測試 vs 人工驗證

持續發布的效率,在很大程度上受制于質量驗證的效率,人工驗證的方式,完全依賴于人工驗證的速度,對于互聯網多端多環境的開發方式,人工驗證的手段完全跟不上工程效率的需要。采用自動化的回歸的方式,讓開發者每次提交都能快速獲得反饋,安全放心,有信心。

常見的自動化測試手段可以用于基于 Robot Framework, Cucumber 等工具進行接口的自動化測試,服務間調用的契約測試,流量回放等等。

這樣,有了自動化的回歸手段,開發者提交代碼,自動觸發持續集成系統的回歸驗證,在第一時間就能獲得反饋,有問題快速進行定位修改,再提交,再回歸。

【要訣】自動化回歸,自動化測試,持續反饋。

下圖為基于云效構建的 DevOps 協作示例:

 


 

 

責任編輯:武曉燕 來源: 阿里技術
相關推薦

2024-09-30 09:28:34

軟件研發交付

2016-10-13 19:31:56

大數據應用大數據

2019-04-23 11:21:57

ERP系統管理信息化

2018-10-25 10:36:50

物聯網誤區IOT

2019-03-28 14:19:18

大數據誤區數據

2021-03-05 18:38:45

ESvue項目

2021-05-12 14:10:17

程序員IT互聯網

2021-01-07 08:12:08

自學編程學習

2020-04-14 08:46:47

Java對象編譯器

2016-11-17 18:37:44

機房建設

2013-09-02 09:46:46

云計算

2019-11-20 10:38:36

路由路由協議路由器

2019-11-20 15:40:48

CPU軟件處理器

2019-06-10 13:50:08

Linux命令shell

2018-09-08 09:46:06

數據庫性能優化

2018-10-20 16:05:12

iOSAPP開發

2021-07-24 10:09:00

計算機AI 技術

2019-05-20 16:30:36

PythonMySQL存儲

2020-12-17 08:39:36

Css前端html

2021-04-09 13:14:52

數據分析技術大數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩一级电影免费观看 | 久久中文字幕av | 黄色大片在线视频 | 精品视频免费 | 日韩精品免费在线观看 | 另类一区 | 拍真实国产伦偷精品 | 中文字幕第7页 | 中文字幕一区二区三区日韩精品 | 日日操视频| www..99re| 久久综合一区 | 久久国产精品视频 | 日韩在线免费视频 | 欧美精品在线一区二区三区 | 成年人免费在线视频 | 一区二区三区视频在线观看 | 午夜电影网站 | 亚洲精品一区二区三区在线观看 | 天啪| 三区在线观看 | 亚洲福利视频网 | 99久久久无码国产精品 | 亚洲国产视频一区二区 | 日日骚视频 | 国产精品久久久久久久久久免费看 | 欧美男人天堂 | 三级在线免费 | 特黄色一级毛片 | 天天色天天射天天干 | 日韩免费中文字幕 | 色狠狠一区 | 久久国产精品-久久精品 | 日韩一级免费看 | 久久国产一区二区三区 | 亚洲国产精品va在线看黑人 | 天天插天天射天天干 | 伊人成人免费视频 | 日韩一区二区三区在线观看视频 | 国产丝袜一区二区三区免费视频 | 一级毛片免费 |