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

淺談軟件項目規模估計——估什么?

開發 開發工具
軟件交付已不僅僅是傳統意義上的技術交付,更包括了體驗設計、業務分析、測試、管理、運維、運營支持、以及流程管理的內容。基于筆者幾年淺薄的軟件交付經驗,嘗試總結在初期進行規模估計的時候,應該考慮的范圍會有哪些。
預測是一件非常困難的事情,尤其是預測未來。—— 尼爾斯.玻爾

[[211222]]

玻爾

定制化軟件開發是一件復雜的事情,尤其是目前我們主要提供的端到端軟件交付,它極大拓寬了軟件開發的生命周期,更加著眼于業務價值,但這也增加了整個設計、分析、交付過程中的復雜度。軟件交付已不僅僅是傳統意義上的技術交付,更包括了體驗設計、業務分析、測試、管理、運維、運營支持、以及流程管理的內容。

基于筆者幾年淺薄的軟件交付經驗,嘗試總結在初期進行規模估計的時候,應該考慮的范圍會有哪些。

體驗設計

在筆者看來,在互聯網產品的影響下,目前客戶對體驗設計的要求已經到了“奢侈”的程度,經常對僅有幾十個、甚至幾個用戶的系統提出很多關于體驗式上的較高要求。但人畢竟是視覺動物,好的展示效果、使用體驗往往是產品的加分項,能帶來比較大的口碑收益。同時,這也是最容易跟客戶(尤其是業務客戶)產生交流和互動的地方,有利于跟客戶的深入溝通,特別是這些終端用戶還經常是項目重要的 Stakeholder。

在端到端交付中,設計人員會參與項目的整個交付過程,從最開始的 Discovery 一直到產品的上線,從與客戶溝通設計需求,到方案設計、方案確認,再到開發過程中與開發人員、業務人員協同方案落地,從源頭到落地保證方案的準確性。

功能性需求

在敏捷軟件開發中,系統的業務功能會從終端用戶的業務價值交付出發,被拆解為一個個用戶故事,形如:

故事卡模板

故事卡模板

全部的業務功能會形成一個用戶故事列表,來從更細的粒度上描繪業務全景。 這部分是項目規模估計中最重要的一部分。所以業務分析和拆分的整個過程要非常非常非常的仔細,因為初期的這個故事列表很可能會成為對客戶的一個承諾,未來如果發現不在故事列表中,但也必須要做的重要支撐功能時,就需要增加跟客戶協商談判的成本,或者默默的認了。

在拆分完成進行復檢時,敏捷團隊(而不僅僅是BA),可以問自己下面這幾個問題:

  • 客戶所處的行業是什么?本行業有沒有固定的業務領域模型?客戶想做的是哪個模型的擴展?
  • 有沒有類似的競品可以參考?
  • 有沒有考慮系統交互的全部的用戶角色?
  • 有沒有系統自動推進、不需要用戶交互的任務?
  • 有沒有考慮全部的業務場景?正常的場景和異常的場景?
  • 每個場景的每一步是如何對接的?具體的詳情是什么?是否可以進行進一步拆分?
  • 每個環節使用的用戶數量是多少,會有性能要求么(精確到每個指標)?
  • 系統邊界是什么?待開發系統和待集成系統各自完成的業務功能是什么?
  • 是全新的系統,還是需要與舊有系統做數據遷移,逐步替代?是否有逐步替代的計劃和方案?

拆分方法可以參考《庖丁解牛:產品需求分析》,在這里就不展開了。

非功能需求

除了功能需求外,非功能需求更要引起重視,這往往是項目容易忽略、掉到坑里的地方。

考慮到我們開發的往往是 Web 或者 Mobile的產品,最基本的,要考慮:

  • 瀏覽器的兼容性問題:兼容哪些瀏覽器,兼容版本。
  • 移動端的兼容性問題:兼容哪些手機設備,操作系統,版本號。

除此之外還包括:性能,可維護性,可測試性,可用性,可移植性,可擴展性等,項目太多就不展開了,這里單說下性能。

性能是個比較容易量化的需求,比如同時并發訪問的人數、頁面讀取時間等。對于一些用戶量較大、高并發的場景,可能需要做多級的性能調優:從應用代碼級別、到數據庫級別,再到部署架構級別,甚至CDN緩存級別,都可能成為需要考慮的部分。這部分根據項目的情況不同,差異會很大。有的項目可能并不需要投入太多精力在這上面,只需要對其中明顯的性能問題進行一些修復,但有的項目可能整個項目都在滿足性能上的要求,所以不可不察。

非功能需求

技術架構

有些項目,客戶會比較看重我們對產品架構的設計能力。這個時候,技術架構不僅僅需要簡單滿足短期項目的訴求,還需要有更長遠的規劃。在這種情況下,前期 Inception 的時間不能支撐整個項目技術架構的設計和搭建,可能是需要更長時間的設計和演進,這部分可以作為獨立的工作來進行估計。部署架構亦然。

開發部署環境

同時,為了能夠支撐持續集成/持續交付,整個交付過程往往需要一系列的開發、測試、上線的環境,包括但不限于:CI環境、開發環境、QA環境、SIT環境、UAT環境、Pre-Prod和Prod環境。如果這些沒有預先準備好的話,這些環境的準備工作也會花不少時間,尤其是當同時涉及客戶內網和外網的情況下,甚至會成為項目的嚴重風險。

與三方的集成

集成往往不是個小問題。目前的軟件項目,往往都是基于現有的系統進行開發,所以集成的工作必不可少。如何進行契約的制定、數據的遷移、其它供應商三方系統開發工作的推進、接口的集成聯調等,往往都是項目全周期的工作重點。一定從項目第一天開始就要思考持續集成、持續交付,萬不可把這部分工作留到最后處理,血淚經驗之談。

測試

敏捷項目中的測試,跟傳統的先開發、再測試的這種方式極為不同的一點是:沒有固定的 Tester,而是全員來保證軟件的質量。測試包括的范疇也比較廣,目前項目中的標配包括了:

  • 自動化測試:單元測試/集成測試/功能測試
  • 迭代內探索性測試
  • 業務回歸測試
  • 性能測試
  • 安全測試
  • 代碼質量測試

這些測試根據項目規模、復雜度的不同,規模估計上會有較大差距。就比如安全測試,有的系統是面對企業內部用戶使用的,僅部署在內網,這樣僅實現內部權限控制即可,一般不會有安全問題,安全測試的粒度也可以適當放粗;但有的系統要部署在互聯網上,供終端用戶使用,此時安全測試不僅僅要考慮應用層面的權限隔離,還要考慮網絡層面的防火墻、防攻擊策略等。這部分可以由專業的安全專家提供建議方案,看如何合理的將測試任務放到總的規模估計中,并與客戶提早達成一致。

驗收交接流程

這部分是比較容易忽略的,主要包括了軟件的整個驗收流程、代碼交接、文檔撰寫工作,根據情況不同,可能會使項目延長1周~4周不等的時間,在項目之初也要考慮到。

總結

在初期進行規模估計絕不是一件容易的事情,需要跟客戶的深度溝通,敏銳的洞察力,多角色的思考,以及快速的判斷,否則后面...

【本文是51CTO專欄作者“ThoughtWorks”的原創稿件,微信公眾號:思特沃克,轉載請聯系原作者】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2017-12-05 06:14:16

軟件交付規模估計軟件

2011-05-17 08:58:29

軟件項目經理

2011-07-06 10:03:30

項目管理

2011-08-09 09:37:57

風險管理策略

2011-05-19 08:57:41

軟件開發項目

2011-07-08 08:37:05

軟件開發

2013-01-21 12:43:19

軟件項目項目需求

2015-07-02 11:46:21

亞馬遜云計算估值

2024-11-07 12:14:36

2014-09-03 09:52:45

開源

2011-07-21 08:49:06

軟件項目

2024-02-01 09:46:04

模型數據

2019-03-01 09:10:33

Vue項目搭建核心庫

2011-07-01 09:13:51

軟件測試項目

2011-04-18 11:34:34

嵌入式軟件測試

2022-04-11 18:21:13

云網絡網絡

2022-05-19 13:38:58

云網絡云計算網絡

2012-01-05 15:09:11

Visual Sour

2011-09-06 09:27:15

項目設計

2024-04-29 11:50:01

軟件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 香蕉久久a毛片 | 亚洲一区二区三区免费观看 | 国产精品欧美一区二区 | 超碰操 | 美女一级毛片 | 欧美一级在线观看 | 中文字幕一区二区三区在线视频 | 91久久久久 | 国产精品视频专区 | 伊人狼人影院 | 日日操夜夜操天天操 | 九九热最新地址 | 中文字幕日韩欧美 | 国产精品久久久久久妇女 | 超碰超碰| 国产精品久久久久久亚洲调教 | 国产9999精品 | 国产情侣在线看 | 欧美日韩综合 | 久久久久免费精品国产 | 亚洲图片一区二区三区 | 亚洲视频免费 | 精品国产鲁一鲁一区二区张丽 | 国产精品美女久久久久aⅴ国产馆 | 精品不卡 | 91观看| 中国一级大黄大片 | 日韩在线小视频 | 久久久久亚洲精品中文字幕 | 中文字幕精品一区 | 丁香婷婷久久久综合精品国产 | 国产精品中文字幕在线观看 | 国产真实乱对白精彩久久小说 | 丁香五月网久久综合 | 欧美精品网站 | 国产亚洲精品久久午夜玫瑰园 | 国产特黄一级 | 日韩不卡一区二区 | 亚洲v区| 中文字幕在线观看视频网站 | www.蜜桃av.com|