Re: [請益] 預估工時的意義在哪?

看板Soft_Job作者 (迷思)時間4年前 (2019/07/22 10:11), 4年前編輯推噓8(8015)
留言23則, 11人參與, 4年前最新討論串3/9 (看更多)
跟大家分享一下我的理解 也請大神們不吝分享與討論 我認爲工時預估或者所謂的甘特圖 其實對於一個軟體專案的開發非常重要 理想狀況是: 公司要做一個專案 PM召集軟體部門的技術主管 一起把一些要實現的功能做大方向的規劃 然後主管們根據 自己的經驗以及對手下開發者(Developer, Dev)能力的理解 把工時預估出來 PM根據開出來的人力配置做財務規劃 有需要的時候跟大老闆提出增加人力的需求 然後各部門的主管在根據這個大架構 下去實做 敏捷開發的做法,可能如下: 主管把把大功能切成小功能,以兩個星期爲一個週期 然後開會分配工作給Dev 跟每個小功能所需要的時間預估 然後每天早上開30分鐘的會 把每個組員遇到的問題或瓶頸拿出來討論,並解決 每兩週Release一組版本給測試人員(QA)測試,並且發Bug Report 回饋給Dev,並且把修Bug的時間排進去下一個週期的項目 幾個週期穩定了之後再開始部署給客戶使用 DevOps的做法很類似 但是對於成員的自動化與團隊合作能力相對提高 差別是,在分配工作的時候, QA跟部署人員(Operation, Ops)也納進來 Dev在實做的時候,跟QA緊密的討論 然後每出一個小功能,馬上讓QA接手,然後Ops接手 並且讓流程儘可能的自動化,把重複性的動作都用程式取代 Ops讓客戶直接開始使用,並即時回饋 然後在下一個週期規劃的時候,把修Bug的時間排進去 不管是敏捷還是DevOps每個月或者每季 個部門主管跟PM就會開會修正本來的大架構 做出對未來更精準的預測 實際狀況是: 因爲公司的口袋不夠深?或者包袱太重?或者老闆不尊重專業?眼光短淺? 大架構討論的時候,老闆就明說,目前就這些人力, 我要什麼時候完成,你們看着辦 然後PM完全就被廢了武功,變成客戶跟技術主管的傳聲筒 主管們因爲人力不足,紛紛跳下去寫Code,做測試 主管本來應該是技術力最強,幫助組員解決開發上的難題 並且還要Review組員寫的程式碼,負責把關有問題有危險的程式碼 於是所有的程式碼都變成不需要Review了, 有些公司甚至還沒有使用版本追蹤 因爲主管要寫Code,所以有些主管也不去預估時間了, 全部交給PM用想象力去壓時間 然後PM就變成追蹤開發進度的機器人, 開會的時候就準備很漂亮的PTT,跟老闆報告進度 老板如果發現進度不如預期,就把工程師叫進來罵一罵 說我以前怎樣怎樣,然後對於現在要開發的東西 根本風馬牛不相及用懶叫比雞腿 有些老闆甚至還會說,這我來開發一定幾天就搞定 (這個老闆我看104現在還在找資訊部門的主管,一間跟法律有關的公司 如果有人被找去面試,可以站內信) 我甚至還有遇過有些公司根本沒有PM 做功能就是客戶透過聯絡人或者業務把需求傳進來 然後主管交代事情分工下去做,組員負責把東西幹出來 主管自己要做開發,所以組員遇到問題,主管可能也沒很多時間幫忙 於是就叫你自己想辦法,於是就開始出現可怕的程式碼 有些公司號稱DevOps 結果只是技術長整天也沒在帶團隊,偶爾會在通訊羣組上 跟大家聊一下天,討論一下一些新的資訊 每天各個團隊的小組長把要做的東西貼在通訊羣組上 但是基本上沒人在管羣組裏面貼了什麼,都是按照自己的意思去開發 然後後QA的人就很慘,PM給出的需求,東漏西漏,整天幫Dev擦屁股 QA沒擦乾淨的,變成Ops的人幫忙擦,結果Ops的變成全公司最賽的工作 有些公司,主管叫組員把自己要開發的項目條列出來,自己預估工時 然後需要叫組員做事的時候,就直接交代下去,也沒在管本來開發的進度 最後Review的時候就說,啊你自己估計的工時怎麼沒辦到這樣 我所理解的工時預估 其實是要增進團隊跟領導人對於預估項目完成準確度的能力 結果因爲種種原因,變成 沒有用的報表,流於形式浪費時間的開會 或者質疑組員有沒有在偷懶的數據 實在無言 ※ 引述《yukimatoi (纏)》之銘言: : 我們公司的流程是 : 評估市場需求→PM提案→設計師開規格→RD實作→QA→發布 : 實際上是什麼開發流程我是不知道 : 網路上有看過離職的前輩說這是瀑布式 : 公司這幾年又把一些敏捷的思想帶進來... : 說因為沒有一個人神到可以設計出最終規格 : 所以產品要不斷迭代 RD可以先做出一個成品給設計師看 跟設計師互相討論 : 但矛盾的是 我們的產品上線時間很早就被敲定 : 所以大部分的專案 下場就是沒有得到足夠的迭代 : 最後不是砍規格 就是RD跟設計師一起加班趕進度 : 甚至還有上線兩個月前規格才完成的狀況 : 我也問過主管 這樣迭代真的足夠嗎? 主管只說:恩,公司要賺錢 : PM最喜歡的就是預估時程 畫滿甘特圖 預期最後有幾個功能會完成 : 但最常見的狀況就是規格大改(因為我們會迭代) : 不然就是RD為了進度hard code才勉強滿足進度 : 反正有問題就看誰倒楣誰修誰接手 : RD大老雖然說要推行test 但是跟PM根本沒有共識 專案進度也沒有排入test撰寫的閒暇 : 所以RD要不就是自願加班寫test 要不就是乾脆不寫 或是寫一些無關緊要的test : 我不知道是不是只有我們公司才這樣 : 還是這是業界常態只是我太菜了 : 我是真的不太懂預估工時的意義到底在哪 : 工時預估準確 ─┬→ 可喜可賀 : └→ 規格變更 ─→ 完成時間延長(然後叫你再估一次工時) : 工時預估不準 ─┬→ RD遜砲,請重估 :         ├→ RD報喜不報憂 留下技術債 : └→ 規格變更 ─→ 完成時間延長(再估一次) : 工時不管預估準不準確,都不能影響專案目前的進度以及實際上需要的時間 : (實際需要的時間 大概只有神知道) : 但預估工時反而會給PM「一切都在我的掌握之中 專案都在軌道上」的錯覺 : 還是說我誤解了預估工時的目的 有沒有人可以指點一下? 謝謝 -- 大道之行也,天下為公,選賢與能,講信修睦,故 人不獨親其親,不獨子其子,使老有所終,壯有所用,幼有所長, 鰥寡孤獨廢疾者皆有所養;男有分,女有歸, 貨 惡其棄於地也不必藏於己,力惡其不出於身也不必為己,是故 謀閉而不興,盜竊亂賊而不作, 故外戶而不閉,是謂大同。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.156.208 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1563761479.A.D2B.html

07/22 12:50, 4年前 , 1F
有時候主管能力不見得比組員好...
07/22 12:50, 1F
我講的是正常情況啊 如果主管只是出一張嘴,那真的是悲劇

07/22 12:55, 4年前 , 2F
我以為DevOps只負責自動化和部署?為什麼會有要幫RD擦屁股
07/22 12:55, 2F

07/22 12:55, 4年前 , 3F
的時候呀
07/22 12:55, 3F
operation帮忙擦屁股啊 因爲軟體有bug,只有operation的人會on-call 在線上遇到問題,其他人又下班了。。。

07/22 13:45, 4年前 , 4F
他說的應該是部署到正式環境後,系統跑不起來,結果是
07/22 13:45, 4F

07/22 13:46, 4年前 , 5F
DevOps幫忙找問題點在哪吧~很多DevOps原本都是PG轉的
07/22 13:46, 5F
其實我一直看不懂PG是什麼的縮寫

07/22 17:15, 4年前 , 6F
現實是, 主管自己也不知道怎麼寫, 那怎麼估時間?
07/22 17:15, 6F

07/22 17:16, 4年前 , 7F
沒有全部RD參與評估, 都是主管自己猜的, 因為他也沒做過.
07/22 17:16, 7F
主管估的不準 我的看法是,主管必須要加強自己對進度的掌控度 所以我才會說現實變成: 1.主管拿來堵爛你說沒有跟上進度,甚至拿來扣KPI 2.無用的報表。。。

07/22 17:17, 4年前 , 8F
這種做法, 肯定就是壓時間這種方式.
07/22 17:17, 8F

07/22 17:29, 4年前 , 9F
從字裡行間感受到m大滿滿的無奈啊,幫QQ
07/22 17:29, 9F

07/22 17:56, 4年前 , 10F
掌握度, RD當事人最清楚, 所以我們是開個會, 由RD群評估時
07/22 17:56, 10F

07/22 17:56, 4年前 , 11F
間, 如果有做過的, 也可以提供想法, 覺得比主管估時間準多
07/22 17:56, 11F

07/22 17:57, 4年前 , 12F
如果不會的話, 也可以知道誰做過, 誰做比較好, 或者可以請
07/22 17:57, 12F

07/22 17:58, 4年前 , 13F
教知道的同事, 怎麼想也比主管自己評估準太多了.
07/22 17:58, 13F

07/22 18:02, 4年前 , 14F
我喔喔,們家是RD和DevOps都要值班,如果on call就看是哪
07/22 18:02, 14F

07/22 18:02, 4年前 , 15F
邊的問題了
07/22 18:02, 15F

07/22 19:41, 4年前 , 16F
鬼島老闆玩敏捷開發95%是在壓榨開發人員
07/22 19:41, 16F

07/22 21:03, 4年前 , 17F
PG → Programming 和 RD 類似,個人把他歸類在只需要寫
07/22 21:03, 17F

07/22 21:04, 4年前 , 18F
程式,不需要去理解前後關係,把這個功能寫出來就是了
07/22 21:04, 18F
原來如此,謝謝分享

07/23 01:08, 4年前 , 19F
那間公司中山區嗎?
07/23 01:08, 19F
不知道耶,我只知道在中山北路的一個巷子裡,蠻靠近北車的

07/23 04:59, 4年前 , 20F
敏捷的那一段誤解蠻多的
07/23 04:59, 20F
喔喔,可否也分享一下你所知道的敏捷呢

07/23 15:48, 4年前 , 21F
這種英文縮寫法也太怪
07/23 15:48, 21F
哈我以前在國外工作,所以不知道台灣人習慣怎麼用 Dev : Developer 開發人員 QA : 做測試的人員,包括寫自動化測試 Ops : Operation 就是負責部署的人員

07/23 21:42, 4年前 , 22F
推現實
07/23 21:42, 22F

07/23 22:36, 4年前 , 23F
跟我以前的公司有87%像
07/23 22:36, 23F
哈我舉了好幾個現實例子,大大是哪一種? ※ 編輯: menesn (114.45.110.92 臺灣), 07/24/2019 17:26:58
文章代碼(AID): #1TDHj7qh (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1TDHj7qh (Soft_Job)