高效開發的幾點建議

2022-03-06 17:06:55 字數 2215 閱讀 3648

建立開發管理運作管理中心,建立專案管理、開發、測試三國會議協商機制,建立需求、bug更改控制管理流程。

開發管理運作管理中心即建立以版本受控庫、每日構建持續整合、需求/缺陷跟蹤系統為基礎支撐軟體開發工具體系。

三國會議最早來自微軟。在微軟專案管理、開發、測試人員基本均等。每次專案決策均至少需求三方人員參與。如果涉及需求及介面,還需要業務專家參與。

需求/缺陷跟蹤系統一般可自定義需求、bug更改控制管理流程,建立完備的變更管理,能從源頭上解決需求變更和bug變更無法有效管理的難題。

相關工具可採用rational系統(大而複雜),可採用開源系統svn(cvs)+ant(nant)+xunit+trac(專案管理及缺陷跟蹤比較弱),也可採用微軟系統vsts(visual studio team system)(功能全面,與vs.net全面整合)

一般目前的軟體開發是在瀑布模式上加以改進的v模型,即

在v模型的基礎上加以定週期迭代開發。

簽於目前公司的現狀,可以簡化v模型的相關步驟,即變為

需求討論(形成記要)->需求分解(形成文件)->製作原型(prototype,操作介面和主要功能,)->驗收測試(測試用例或測試步驟)->分析設計(形成總覽/框架/介面設計)->編碼+單元測試(單元測試保證編碼正確性)->每日構建持續整合(盡早整合盡早發部將問題解決在萌芽狀態)->發部(發部文件、說明文件)->維護(變更記錄)

對於軟體開發中的各個重要步驟,均需要作相關計畫和相關評審,保證各步驟能有效運作,做到有據可查。

凡事先計畫,凡事必考核。(plan, review)

先作整體模組介面、介面開發,然後是重點需求模組開發,最後是其它模組開發。以之為主線,借籤rup的迭代開發模式。

同時,以tdd為中心,支援敏捷快速開發。以面對面、im、郵件及白板為主要交流方式。先寫測試,再寫**。對於對所作業務或技術不熟的同事,可進行結對程式設計。

敏捷就是軟體行業的精益生產,其核心就是消除浪費。一方面致力於持續改進質量,另一方面致力於創造團隊內部和團隊與其它涉眾之間有效的溝通交流。

結對程式設計——最有效的相互監督機制

結對程式設計——最有效的內部培訓機制

測試驅動開發——最有效的質量保證體系

user story+客戶現場辦公——最低成本的需求收集、分析機制

每日整合——有效降低整合、測試成本

l  技術積累。建立**共享庫,將一些比較通用的,或者比較專用的**提交入庫。****多樣化。

l  技術規範。提交**時要按規範格式化相關**。

l  挖掘需求。大部分的需求變更並不是需求真的變了,而是理解時並沒有完全理解的問題。其次,對需求的出現還要進一步的思考,這裡改了,是不是意味著其它地方也要類似的需求。提高需求粗像的程度。

l  爭取資源。不要閉門造車,同一問題,可能其它人早就解決過。因為不管是乙個人做乙個模組還是乙個團隊,都要爭取更多的資源。

l  流程改進。軟體開發流程本身也是乙個逐步迭代進化的過程。建立軟體開發流程建議庫,收集改進建議,定期優化流程。

l  技術探索。對新技術、新思想,建立技術探索共享庫,鼓勵參與。

l  關注介面。介面是乙個軟體的門面,提高介面的方便性、美觀性至關重要。介面也是對需求的直觀體現,對介面深入挖掘,就是對需求的深入挖掘。增強資料透視,增強資料組合,增強最小操作路徑,增強最大化操作目標。

l  定期重構。永遠不要重複的**,永遠要易讀的**,永遠要能復用的**。

l  小會多開。每天都要對當天要作的工作明確化,對可能遇到的技術、業務問題進行預討論,對昨天的每日構建的bug進行修復。當天出現大問題,再開小會解決。多開小會,防微杜漸。

l  自動接受決定。在會上可以自由發言,但一旦形成決議,哪怕有意見,也要按時、保質、保量完成,這是紀律。

l  人員激勵。設立解決大問題獎,技術貢獻獎,技術創新獎,團隊最佳合作獎。

l  人員考核。設立最多bug人公布機制,設計最拖延時間人公布機制,設計以bug為中心的任何分配、考核機制,做的好不好,以bug系統說了算。

l  按業務分組。以業務劃分小組,統合各業務小組,設計相互競爭機制。

l  有效溝通。每日一小會,每週一大會,每月一次談心,及外部交流。

l  重大問題解決機制。設計處理對重大風險,重大問題的解決方案。

l  綜合能力。對員工要培養多方面的能力,包括計畫能力即對技術業務的評估,對時間進度的評估。包括架構能力,每次分析架構時可讓員工參與。包括風險評估能力。包括專案管理能力。包括業務分解能力。

l  團隊合作。培養團隊成員之間的默契程度,鼓勵多技術、多業務交流,鼓勵私下交流。對團隊士氣、團隊凝聚力要時時關心,處處關注。

Bottle高效開發的幾點技巧

在 你已經學到一些開發基礎,並想寫你自己的應用了吧?這裡有一些 bottle 開發小技巧可提高你的生產力。預設應用 bottle維護乙個全域性的 bottle 例項的棧,模組層面的函式和修飾器使用棧頂例項作為預設應用。例如 route 修飾器,相當於在預設應用上面呼叫了 bottle.route 方...

高效開發 Android App 的 10 個建議

建議一 怎麼在後台取消一些執行緒中的動作 為了加快響應速度,需要把費時的操作 比如網路請求 資料庫操作或者複雜的計算 從主線程移動到乙個單獨的執行緒中。最高效的方式就是在類這一級完成 這項操作,可以使用asynctask或者intentservice來建立後台操作。如果選擇使用intentservi...

高效開發 Android App 的 10 個建議

建議一 怎麼在後台取消一些執行緒中的動作 為了加快響應速度,需要把費時的操作 比如網路請求 資料庫操作或者複雜的計算 從主線程移動到乙個單獨的執行緒中。最高效的方式就是在類這一級完成 這項操作,可以使用asynctask或者intentservice來建立後台操作。如果選擇使用intentservi...