這三個點中,我們最終要完成的就是目標的完成。
1、這里的資源,主要指開發人員。
2、現在開發人員就我自己,我們就自然要求把時間弄長了。——這里的時間包括加班時間。
3、如果開發人員也不增加,時間也不延長,那只能削減產品功能了。
現在的主要問題是溝通問題,怎樣才能讓產品信服,願意把時間延長呢?那我們就需要把需求羅列出來,讓產品看到我們要做這么多的事情,自然就願意給你時間了。
我們都知道分解需求,但是分解需求的時候,我們最容易犯的錯誤就是籠統,那么我們怎么避免籠統呢?這就需要你具體的描述。你既然是技術人員,當然需要你以技術角度,給產品人員講述,產品人員在技術這塊他們也是多少知道的,不是一窮二白的。——把別人當傻子,其實很多時候,自己就變成傻子了。
現在舉個例子。——我拿博客園舉例子,從我個人技術角度分析。
demo:
我:很多時候,產品人員就給個demo,然后讓我估算時間,連個需求都不給。
老大:我們平時都是這樣做的。
我:那怎么評估時間?
老大:我們從demo上,大致就能了解有什么模塊需要我們開發了。
然后老大,就給我分解了demo.
老大:1這個模塊你開發需要多長時間。
我:如果接口數據都完整的話,應該兩天時間吧。
老大:你說的太籠統了。你能再具體一些嗎?
我:首先,我要了解,這幾個tab的數據接口是否已經提前准備好的呢?還是需要我這里再重新整合。所以我需要跟接口人員溝通一下。如果數據無需重新組裝,那組織數據這塊,我半天就能完成,如果數據需要重新組織,怎么組織,我就需要一天的時間了。其次,tab展現這塊,如果tab過長是不是做特殊處理(比如需要一些按鈕做tab切換),如果做特殊處理,那我需要1天時間。如果不做特殊處理,那我需要半天時間。——所以這塊加在一起最多2天。
老大:恩。如果接口那邊沒有准備好,你怎么辦?
我:那我先確定一下,接口開發人員什么時候,能夠把接口准備好,然后到時間了,我再進行這個模塊的開發。我先開發其他模塊。
老大:恩。那么2這個模塊你需要多長時間?
我:這個功能,看起來比較簡單,先判斷數據層那里是否有這個接口,如果有,就直接鏈接過去,沒有就不出現。就是個鏈接問題,瞬間就能完成。
老大:那第3個某塊呢?
我:3這個模塊看起來比較簡單,如果只是單單的從接口取數據回來,那這個可以不用具體分配時間,如果這個是從眾多數據中匯總出來,那我需要1天時間。
老大:那你是怎么估算出1天時間的。你是無法知道具體的算法的。如果匯總的數據非常復雜,那你用1天時間夠嗎?你怎么計算?所以,你需要先跟接口人員進行溝通,要知道怎么進行數據計算。把整個流程弄明白,然后再進行溝通。所以這個也需要你溝通之后,才能確定時間。不能憑空想象。
我:恩。
老大:第4個模塊你需要多長時間?
我:這個需要到不同的接口把數據拿過來,里面還有其他信息,比如評論數,閱讀數,這些都要組織成一個新的數據結構,然后進行展現。因為關聯四個接口,而且四個接口都要到同一個接口取評論數和閱讀數,所以我需要1天半時間。
老大:因為這個數據比較復雜,所以我建議你,用2天時間去做。那你第5個模塊,需要幾天完成?
我:我覺得第五個是所有當中最重要的模塊。1>我需要兼容所有tab模塊。2>我需要做一些后加載 。3>在后加載的過程中,到一定數目的時候,我還需要進行翻頁。因為關聯前端js和后端php代碼交互,我需要設計一下,然后進行相關編碼,這個我需要3天時間。
老大:恩,這樣,你不就把時間估算出來了嗎?
我們在估算時間的時候,我們要考慮很多因素,這樣你才能比較准確的估算時間。