截止到昨天晚上十點多我們的專案主要功能的開發演算法完成, 佔整個專案的80%, 後期需要確定科研管理系統教師資料的匯入方式, 待老師測試通過後部署算是整個專案的結束. 在這次專案中我是擔任整個團隊的負責人, 並未過多的參與到編碼中, 這次開發整體來說還是比較順利的, 沒有遇到特別難的技術點和業務邏輯. 我之前從未擔任過專案專案負責人, 這次算是過了把癮吧. 在我擔任負責人的這段時間我並未覺得比在開發中輕鬆, 在開發中我主要關注的是自己的業務和技術點, 而站在專案負責人的角度則要對整個專案進行把控, 而不僅僅是業務和技術點. 目前專案進入收尾性bug修復, 開發的腳步放慢, 待和院裡老師交接後繼續進行開發, 之後的工作不會多了. 今天抽空把開發中遇到的問題以及感受總結一下.
先總結一下專案開發的大致流程,把握一些關鍵點在專案開發中尤其重要。
當開發團隊拿到乙個專案, 首先需要做需求分析, 而且這個不是一次兩次能搞定的, 需要有耐心和經歷過專案的人多次進行對接, 待需求捋的差不多了就要開始做前端的原型圖了, 做完原型圖還需要對著需求讓使用者看一遍, 待使用者滿意後, 兩方要達成約定不會再變動需求. 後期可以對細節進行調整, 但整體不會有大變動了.
分組進行好後, 然後就要根據各端所使用的技術了解/學習相應的技術棧了. 同時, 要開需求分析會議, 由專案主負責人向所有人講解專案需求, 要達到每個人都熟悉並能說出需求, 通常至少要開兩次, 之後組就就可以討論相互講解需求了.
開發事宜進行前需要進行任務排期. 沒個組的每個人需要對自己負責的任務進行劃分排時間, 把大的任務分解成小的任務, 任務粒度為每個功能點/頁面的某部分(小任務能在1~2時內可完成). 每個人劃分排期後, 各端負責人首先要過一遍, 看排期是否合理(根據組員能力/專案整體時間安排/組員近期是否有重要的事).
排期要求:
排期時也要和大家說明排期後就不允許修改了, 之後就按這個這行了, 誰逾期誰負責.
資料庫通常由後端設計, 前端通常也參與, 前端主要做的是審查工作和對不足之處提出建議. 資料庫的設計也是個重頭戲, 通常由後端技術比較厲害和業務經驗比較豐富的人帶著大家來設計.
待資料庫設計好沒有問題後, 就要定前後端互動的介面了, 這部分前後端都參與, 後端主要設計介面, 前端除了設計之外還要對介面進行審查, 這部分的決定者是前端, 前端說ok介面才ok. 設計介面時, 返回資料格式, 時間格式最好前約定好, 否則容易造成呼叫介面時混亂(特殊的需求的介面例外).
這個在確認完人員後就可以進行這部分了. 專案的資訊及介紹等等都要在專案開發文件中一一列出讓, 讓看的人了解專案的整體資訊.
專案的整個過程所用時間在整個專案的計畫週期中佔比並不高,但這部分仍是比較重要的一塊。在開發前,技術棧和風險點已經評估差不多,開發這部分是按照預定的計畫往前走的,但仍然不能排除遇到緊急情況和特殊情況。在開發過程中,同步會議和專案測試要起頭並進,通常兩天左右給各端負責人進行一次專案同步會,通過會議及時發現問題解決問題、共同討論解決問題。專案測試通常五天左右進行一次,專案測試前期組內進行自測,後期走整體流程,越到後期越測試的越細緻,測試都要求在測試伺服器上跑(如果專案大第一次可以本地測,但仍推薦在測試伺服器上測),為什麼堅持在測試伺服器測?一是對部署環境有個較好的檢驗,二是讓大家熟悉整個流程(例如:測試前的打包準備、測試人員安排等,不只是有最新**就夠了),三是可以發現比在本地執行更多的問題(早發現早解決)。
在開發中負責人不僅要把我整個專案的方向,還要專案的狀態、各端的情況(例如:遇到什麼問題、問題是否已經解決、有什麼風險點、開發中的專案有沒有隱含問題等),根據大家的任務完成情況對專案整體進度心理要有數(是否達到計畫預期,之後的開發能完成預定計畫嗎)。
開發過程中細胞組的氛圍對開發影響較大,活躍的組往往進度推進的更好。
開發過程中需求是會變的,問題/疑問解決方案也不一,規定誰確定的需求要在群裡周知大家並署名誰確定方案以方便大家檢視。
測試整個開發過程總是比較難搞的, 每次測試都會手忙腳亂, 而且效率不高, 在測試速度和測試質量之間無法準確拿捏.
後來測試的多了就發現了一下技巧, 在測試之前需要做好以下準備:
人員及角色分配
測試流程安排
問題記錄方式
**更新及部署
測試最佳實踐:
以上是對專案開發從初期準備到後期測試的總結。接下來是專案開發出現的問題的總結。
我這次在開發中擔任負責人的角色,期間也參與了coding,對前後端的**都有一定的了解,有些人看上去整潔給人以賞心悅目的感覺,而有些則不忍直視,在專案初期都讓大家看**規範了,但是仍有些人的**寫的不符合規範。
這次團隊合作中,api組出現了一些問題,溝通交流少,部分同學不聽從負責人的,導致後端介面推進較慢,我承認我有責任沒有及時去調解,因為我相信組負責人可以解決,沒想到結果出乎我意料,問題並沒有那麼簡單,最後小桑學長給我們開會算是解決了。後端的一些人是有實力的,一部分心高氣傲不想和同伴合作,最後寫出的介面還存在問題。要是我我也不願和這樣的人合作。今天我的痛恨手冊多了一條:討厭不服從專案安排管理的行為.
最後,專案管理是個技術,多向優秀的人學習,多總結實踐,及時反思缺點與不足,在之後的專案管理可以讓我們做的更好。
科研管理系統
基於c 的資料庫管理系統,資料庫使用的是sql server,開發環境是vs2017,科研管理平台,兩種使用者角色登入,管理員和教工,實現對教師的管理以及對專案的管理,申請,驗收,實現學院 職務 職稱等基本資訊的管理 實現教師資訊的管理 實現科研專案的申報 審批管理 實現科研專案的驗收管理 建立預設...
科研技能訓練總結
科學研究,一部分是創造知識,即創新 發現和發明,是探索未知事實及其規律的實踐活動 另一部分是整理知識,即對已有知識分析整理,使其規範化 系統化,是知識繼承的實踐活動。由此可以給科學研究下這樣乙個定義 科學研究是人們探索未知事物或未完全了解事實的本質和規律以及對已有知識分析整理的實踐活動。作為一名在校...
基於PHP MyQL的科研實驗室管理系統
隨著我國科技的發展對科研實驗室的要求也越來越高。如何能夠更加科學家你家智慧型的對科研實驗室進行管理是很多科研實驗室管理人員一直以來急需解決的乙個問題。通過我所就讀的高校我也了解到科研實驗室當前急需乙個根更加方便快捷的管理方式來進行管理。為此我開發了本系統 php科研實驗室管理系統採用php mysq...