如何做專案開發周期評估

2021-09-02 23:19:20 字數 2372 閱讀 5348

一般情況下,開發乙個產品,可以分解為:①需求確認;②原型設計;③ui設計;④程式開發;⑤測試&驗收;⑥上線,這幾個步驟。

我目前討論的專案開發周期,僅僅是站在一枚程式猿的角度,也僅僅只是評估第四步驟(程式開發)。

由於我在公司接手了乙個半外包的專案,給xx保險公司做saas系統,這是乙個已經執行了兩年的系統,但是他們不時就提需求變更,我目前已經做了四五次需求變更。每次需求變更最讓我頭疼的首先就是開發周期的評估。評估時間短了吧,開發就會非常趕,而且我們就會吃虧;評估時間長了吧,他們公司也有開發人員,會說我們坑人。那如何才能做到乙個好的開發周期的評估呢?

謹記:開發周期並不是拍腦袋想出來的,必須是有理有據計算出來的。

把概念不清楚的、邏輯業務不清楚的都要理清,這對我們開發而言非常重要。這個步驟可以和公司的需求人員,以及第三方的業務人員(客戶方)一起討論。理清需求後,還有一點很重要,就是標記哪些需求是難點;

我們現在的服務都是提供的restful介面,服務與服務之間都是通過介面進行關聯,前後端也是通過介面進行資料互動的。例如我們可以做成如下的**:

注意:每個介面的開發時間,應該是正常情況下可以做完的時間。個人建議為大於等於1的整數。千萬不要說,這個小功能很簡單,我10分鐘就搞定了,要知道「世界上沒有什麼需求是簡單的」,雖說你真的可能只要10分鐘,但是也請寫一天。萬一別人問,你就說我要上線、打包、發布、測試,這都是時間啊。

編號介面名稱

描述狀態

難點開發時間(人天)

1***xx

***x

新開發是52

***xx

***x修改否

33***xx

***x

新開發否

2初步合計

10情況1:如果你覺得此次開發難度不是特別大,初步合計時間已經足夠了,那請把初步合計時間乘以1.2得出最終時間,不要問我為什麼,最少必須乘以1.2,這是機動時間,這是「救命的時間」,萬一你出現乙個你意想不到的問題、萬一開發過程中你負責的別的服務出了點小問題耽誤了時間、萬一你開發周期內生病了2天…

千萬不要說沒有這些萬一,如果你開發截至時間到了,你去找理由,你說我生病耽誤了兩天,你覺得合適嗎?別人公司領導已經和下面的人說了,xx日期後就會增加這個功能。然後時間到了,領導去和員工說,「我們外包的開發這幾天肚子疼,耽誤了兩天,上線推遲兩天」,你覺得合適嗎?更何況,這些需求變更都是要簽訂合同的,違約可是要罰錢的。

情況2:如果你覺得此次開發有些難度,可能會出現未知的問題,那請把初步合計時間乘以1.5

情況3:如果我們的客戶是那種類似銀行企業的大客戶,這些大客戶對開發周期要求特別嚴格,一旦違約將面臨巨大的罰款,而且他們不缺錢,那請把初步合計時間乘以2

下面以乘以1.5為例:

編號介面名稱

描述狀態

難點開發時間(人天)

1***xx

***x

新開發是52

***xx

***x修改否

33***xx

***x

新開發否

2初步合計

10最終時間

15但是我們不要把中間步驟告訴客戶,更不要把初步合計告訴客戶,我們給客戶的時間統計如下:

編號介面名稱

描述狀態

難點開發時間(人天)

1***xx

***x

新開發是72

***xx

***x修改否

43***xx

***x

新開發否4合計

15在上面的過程中,如果得出的最終時間比較大,很難做到「神不知鬼不覺」,我們還可以多想一想,看看除了上述介面還有什麼是可以考慮,這些東西可能不是介面,只是要做一些小小的改動。都可以寫出來,並且加上開發時間,例如連寫個sql指令碼,都可以寫「調整資料庫表結構,2天」。總之,一定要讓人看起來覺得還算是合理。

如果最終的開發周期提交上去,別人說,你這時間太長了吧,這麼簡單的功能也要做4天?你不用說太多話,直接丟一句「你行你上啊」。他肯定不會說他來的,因為他熟悉專案也是需要時間的。

我們程式設計師其實是弱勢群體,一旦在自己寫的開發周期內沒有完成,客戶、產品經理、上司,都只會去責怪我們程式設計師,才不會去理解我們的「藉口」,「自己規定的時間,自己都完不成!」。但是我們程式設計師在開發的時候,不可能只做你那一件事啊,我們可能同時負責好幾個專案,例如我就同時負責7件事,任何乙個服務出了問題,我都要去檢查:問題重現、測試是否是bug、檢查日誌、分析問題、甚至是上hotfix版本,這些看似簡單的操作,通常一耽誤就是大半天。

在預估計時間上乘以1.2或者乘以1.5,絕對是有必要的。如果產品經理、或者程式設計師的上司看到這篇文章,也請理解我們。

如何做專案

1,以業務規則為綱,而不是業務實體 2,在思考和設計業務規則的時候,以業務核心為綱,什麼是業務核心,定義為,當前你最關注的,當前最不確定的那一部分。所以我現在不喜歡領域驅動,我喜歡業務驅動 其實可能二者是一碼事 那麼我這裡所說的業務驅動要怎麼驅動法呢?就先以上面兩條為起頭,然後再來說,業務規則,以找...

如何做開發 zlf jack

最近一年,一直在思考35歲以後,如何和年輕人競爭。優勢 學習適應能力比年輕人強很多,學習新語言,新技術速度是年輕人的3 5倍 有一定的行業經驗,管理經驗,具有設計經驗 劣勢 體力差,家庭壓力大,無法高強度加班 工資要求高 如何競爭?最好的肯定是把握社會發展,做出一流企業,能做得這一步的算行業精英了。...

如何做專案覆盤

前段時間,覆盤了一下自己所做的乙個專案,完成之後,所有人都覺得收穫很大,在這裡把經驗和做法總結一下。什麼是專案覆盤?覆盤,是乙個圍棋術語,也稱 復局 指對局完畢後,復演該盤棋的記錄,以檢查對局中招法的優劣與得失關鍵,這樣可以有效地加深對這盤對弈的印象,是提高自己水平的好方法。專案覆盤直白的講,其實就...