那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

軟件工程師無法準確估算項目所需時間怎么辦

工程師人生 ? 來源:wv ? 作者:簡書網 ? 2019-09-05 15:43 ? 次閱讀

我的一個產品經理朋友,最近和我說她遇到的一個問題:『軟件工程師們總是,無法準確的估算項目所需的時間,我該怎么辦?』,還有兩個CEO最近也和我說過同樣的問題。

我們的工程師都見證了這一點。我曾經看到過一個項目,估算時間是兩天,到最后用了四個月的時間做完。在這種情況下,即使花雙倍的估算數據,依然和實際的時間不在一個數量級上,這可是會對公司業務產生很大影響的。

在一個較高的層面上講,問題其實工程師和,產品經理、項目經理對應項目時間估算的理解是不同的。大部分工程師本能的去設想是,如果按照計劃最好的情況下做出原型的最小工作時間,而產品經理們想要的估算時間是項目能夠發布的時間點,這是兩個完全不一樣的概念。

對應工程師來說,掌握項目時間估算是一項長期的,貫穿你整個這樣生涯的旅程,忽略項目時間估算,將會給你自己和與你一起工作的人帶來很大意想不到的麻煩。掌握時間估計會讓你脫穎而出,你的同事會將你作為專家看待。

我們為什么需要估算時間

讓我來先回答這個問題,我經常聽到工程師們說『有什么好擔心的』很大工程師抱怨說,如果我一開始就全力投入開發,就可以很快的完成工作,何必要花時間在這在估算時間上面呢。

這里有兩個主要的原因:外部依賴和優先級

外部依賴

『沒有項目是在真空中運作的』,意思就是項目總會設計到與其他非開發部門或者其他的開發部門進行協調工作的。這也是項目經理和產品經理的主要工作。這意味著,最應該估算時間的人,不是最需要估算時間的人。這種不對稱性導致了兩者之間,先天就有所沖突。

優先級

時間估算同樣是工作優先級的關鍵,功能開發的收益如果沒有時間估算的話是很難保證的。即使你在開發的功能是非常酷炫的任務,如果你花時間做完整的估算的話,你也許會意識到這個功能需要花費很長的時間才能完成。

譬如說你在做功能,它可以讓網站的速度快上50%,但是同樣的時間下,你也可以做兩個其他的功能,它們分別可以讓網站快40%,如果你不在開工前對工作進行時間估算你就不知道,可以在相同的時間內讓網站變得更快。

時間估算101

現在我們都知道了時間估算是非常有必要的,那么我們就來看一下幾個技巧。

我們總是低估時間,這是因為,我們想的是:多久可以做出一個基本可用的版本。但是你的工作可不僅僅是寫出一個可用的版本,你還需要估算你在,編寫測試、調試、還有改進,這還沒有包括你需要參加會議討論,做code review、郵件溝通這些時間。

另外一個原因就是我們總是在開發期間遇到一些意想不到的情況,并且這些情況幾乎不可能被預先計算在時間計劃當中,就比如你的開發環境或者是IDE需要更新,正好弄壞了你的項目,你還需要花上一天的時間去修復這些問題,這根本就不可能在預先包括在時間估算到中。

當然了,盡管有很多的不確定性,我們依然可以盡最大的可能讓項目時間的估算盡可能的靠譜。

第一步:制定技術計劃

你應該已經在項目開始的時間,制定了技術計劃或者已經通過繪圖工具設計的項目的系統結構,這些可以讓此相關的同事,了解的你的工作并且可以獲得反饋,技術計劃是一個作為開始估算時間,非常理想的地方。在你計劃項目的具體實現使用哪些技術的時候,你就會看到有哪些是不可預知的情況,有哪些技術,是你還沒有掌握的需要花時間去學習,還有哪些第三方庫的輪子沒有人造,需要你自己去寫。這都是在是技術計劃的時候去考慮,加入到時間估算當中去的。

步驟分解的粒度,是非常重要的,如果你覺得在某一步驟上的功能,實現起來有些困難的話,要么就將步驟再次分解,或者跳過這個部分。同時你還有注意不要將步驟分解的太細了,不然的話整個計劃執行起來就沒有可操作性了。

第二步:在每一步驟中添加時間估算

在技術計劃中的每一項實現起來,需要花費的時間都是需要進行估算的,通常包括一些技術實現上的細節問題(是否存在第三方庫可以用),可以通過制作一個原型去發現未來潛在可能出現的技術難度。

第三步:加入一些額外的時間

現在你已經對時間估算有了初步的了解。下面是我們在之前提到的關于估算時間需要注意的地方。

調試:bug 總是有的,至于會有多少,這就取決于你對項目的了解和項目本身的成熟度了。

會議、面試、假期等:你不可能無時無刻都在編程,所以估算時間的時候也要考慮上你自己個人的時間計劃。

測試:通常情況向項目的開發都是需要伴隨著測試進行的,為項目的最后階段的測試預留一下時間,當然同時也需要為你在最后階段被測試出來的bug預估時間。

Code Review:通常需要花多長的時間再code review上?,項目會有多少人參與code review,這些時間你都要去添加到估算當中去。

一旦你開始,使用上面的跪著到你的估算當中,就會發現你估算的時間和項目最后的交付日期越來越接近了。當然這些是需要長時間積累的,你可能在執行期間感到有壓力,不過只要過了瓶頸期,你就會發現你的團體會非常依賴你對項目的時間把控的能力。

第四步:在發布后回顧你的估計

是的,這個計劃是在你的項目完成開發的時候,回顧整個項目的時間估算,看看在這次項目開發的估算當中有什么可以在下一次中做的更好的。

你一定會看到你時間估算會隨著時間的推移越來越準確。你甚至可能會產生一些對時間估算的自己的見解。

溝通

盡早的暴露問題和積極的溝通反饋,是非常重要的,如果你在項目上線前一個月就告訴項目經理,『我們使用的第三方庫(或者服務)出現了安全問題,現在需要重新實現部分的功能』而不是到最后項目要發布了才說,那么他就有時間去讓相關的同事進行準備。

積極的與有關同事進行溝通,還能從他們那得到可能影響你項目時間估算的重要信息。比如設計師可能說『如果動畫效果的實現,需要一個星期的話,那我們就砍掉它算了』,或者產品經理會說『我們現在做的只是一個產品的原型,用于實驗,沒有必要在這次迭代中,做到完美』。對于工程師來說,不要迫于上級的壓力,去縮短你估算的時間,坦誠的說出你真實估算的時間,并且讓他們有準備,這才是更專業的做法。

我們永遠也不可能完美無誤的項目時間估算,我們唯一能做到的就是,開誠布公的交流,并且嚴格按照優先級計劃開展工作。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 軟件工程師
    +關注

    關注

    8

    文章

    218

    瀏覽量

    21175
收藏 人收藏

    評論

    相關推薦

    KiCon 演講回顧(十三):嵌入工程師的硬件夢之 KiCad 經驗和項目分享

    :Windows、Linux & macOS 開源:100%開源,社區驅動 性能:強大且高效 KiCad經驗分享 PCB設計就像玩“ZENMATCH”游戲,既有趣又富有挑戰。 嵌入式軟件工程師的硬件探索
    的頭像 發表于 12-09 01:02 ?284次閱讀
    KiCon 演講回顧(十三):嵌入<b class='flag-5'>工程師</b>的硬件夢之 KiCad 經驗和<b class='flag-5'>項目</b>分享

    TAS5751M PurePathTM軟件無法使用怎么辦呢?

    有位客戶說登錄了myTI賬號也無法使用,如下圖,請問怎么辦呢?
    發表于 10-18 07:19

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區別?

    ,還需要與軟件工程師、硬件工程師緊密合作,對整個系統進行集成和測試。 總的來說,FPGA 算法工程師著重于算法優化,FPGA 邏輯工程師專注于邏輯設計,FPGA 原型驗證
    發表于 09-23 18:26

    正是拼的年紀|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發布于 :2024年07月25日 11:31:02

    找STM32硬件開發兼職工程師

    上海做傳感器的公司,找STM32硬件開發兼職工程師,會硬件開發,嵌入式軟件開發,可項目外包。有意聯系:15900460170
    發表于 06-22 19:12

    嵌入式軟件工程師如何提升自己?

    ,不斷提升自己的專業技能,保持與行業最新技術的同步。 3.積累項目經驗 項目經驗對于嵌入式軟件工程師的職業發展至關重要。通過參與實際項目,可以鍛煉自己的技能提高問題解決能力和團隊合作能
    發表于 06-12 11:20

    索尼誠邀軟件工程師參與PS免費手游平臺設計

    據悉,近日,澳大利亞知名媒體TweakTown發現,索尼互動娛樂正在為其旗下的PlayStation Studios Mobile招募一名資深的軟件工程師,負責設計PlayStation的免費手機游戲平臺。
    的頭像 發表于 05-23 17:08 ?778次閱讀

    嵌入式軟件工程師和硬件工程師的區別?

    部分,如微處理器、傳感器、執行器等。他們的任務是創建硬件平臺,以滿足軟件工程師的需求,提供必要的硬件功能和性能。 定義和工作職責 嵌入式硬件工程師的主要職責是設計、制造、測試和部署嵌入式系統所需的硬件
    發表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發布于 :2024年04月30日 17:33:15

    Cognition發布首款AI軟件工程師Devin

    據報道,Cognition公司今日公布了其首款人工智能軟件工程師——Devin,掀起了打造軟件模式變革的序幕。該產品在SWE-bench代碼測驗中展現出卓越表現,甚至超過了部分頂級人類工程師的水準。
    的頭像 發表于 03-13 10:57 ?660次閱讀
    大发888官方df888gfxzylc8| 百家乐投注打三断| 永利| 大发888娱乐游戏博彩| 大发888娱乐城新澳博| 全讯网高手论坛| 大发888娱乐城888| 百家乐官网投注庄闲法| 百家乐官网公开| 百家乐官网桌手机套| 百家乐官网官网站| 大哥大百家乐官网的玩法技巧和规则 | 环球百家乐现金网| 至尊百家乐下载| 线上百家乐赌法| 银河百家乐的玩法技巧和规则 | 最新皇冠足球投注比分网| 南和县| 百家乐官网投注窍门| 狮威百家乐官网娱乐场| 贵宾百家乐官网的玩法技巧和规则| 24山分房法| 百家乐号解码器| 澳门百家乐游戏下| 星空棋牌大厅下载| 大发888在线注册| 闻喜县| 百家乐官网骰盅规则| 高手百家乐赢钱法| 威尼斯人娱乐城玩百家乐| 全讯网官方| 赌场风云演员表| 广州百家乐官网赌博机| 24山认龙立向| 百家乐真人游戏棋牌| 德州扑克单机| 永康百家乐官网赌博| 博彩网百家乐官网的玩法技巧和规则 | 大中华百家乐的玩法技巧和规则 | 百家乐官网定位膽技巧| 24山吉凶视频|