項目。
結果,這位程序花了大約一天的時間才把這項功能做出來(和他原本所說的一個下午已經有了點差距),然后寫出來的功能有Bug又修了兩天,然后因為實際運作起來的狀況和營運預期的又有些不同,因此又花了兩三天的時間去調整。最后整整花了七個工作天的時間,才把這個項目做到營運需求的樣子。這個半天變成七天的工時預估,就是這位程序忽視了除錯、測試以及調整所需要花費的時間。
會不斷的有雜事打斷你正在進行的工作
記得曾經有國外的文章提到過,許多的程序設計師喜歡在夜晚工作,因為這個時段他們的產能最高。其實,仔細去分析這個狀況就會發(fā)現(xiàn),并不是程序設計師的生理時鐘有什么問題,造成他們會在夜晚的時間工作效率比較而。而是平常上班的時間,他們的工作可能會不斷的被各種事情打斷,只有在夜晚沒有人干擾的時候才能夠專心工作,因此產能比較高。
其實同樣的狀況在研發(fā)游戲的時候也一樣會發(fā)生。當一款游戲在研發(fā)的時候,任何一位項目的成員身上通常都不會只有一件工作,而這些工作可能分別和不同的同仁有關,因此當你在進行一項工作的時候,很有可能會被另外一項工作出現(xiàn)的狀況所打斷。如果是營運中的游戲,研發(fā)成員同時負責維護舊有的內容以及開發(fā)新的內容,那么這個狀況就更為嚴重。
游戲研發(fā)有很大一部份是腦力的勞動,而思考到一半的事情若是被打斷,在打斷之后要重新回到原本的狀態(tài),通常會需要一點時間。這就好像是汽車加速到100公里后踩了急煞車,之后要重新加速回到100公里通常也需要花一點時間是一樣的。而這個重新加速的時間,就會成為時程預估中無法估計到的時間。每多一次打斷,這個時間就會不斷的增加。
3、每日工時估算的錯誤
當一個開發(fā)項目出現(xiàn)后,研發(fā)人員就會依據這個項目的難易度來預估開發(fā)需要的時間。依據工作項目的大小,可能會以天數或是小時數來估算這個項目完成所需要的時間。一般來說,大多數的游戲公司每日的上班時間是八小時(雖然實際的工作時間遠超過八小時),因此有些開發(fā)人員會先以小時數估算所需的時間,然后除以八求出所需要的天數。不過,雖然公司規(guī)定的每日工時是八小時,實際上每個人一天『真正』在工作的時間是否真的有八個小時呢?
早上到公司吃個早餐、看看新聞,上班的時候上一下臉書、PTT,中午午餐時間以前和同事討論一下午餐要吃什么,中午午休時間多睡個十幾分鐘。如果再加上抽個煙、上廁所時順便到其他同事那里串個門子、或是去茶水間倒水的時候和同事聊聊天,一天真正剩下來可以工作的時間還剩下多少?就銀狐自己的習慣,每日的工時如果能有六個小時,那么這位同仁已經算是相當努力工作的,有些夸張一點的人一天真正的工時可能連四小時都不到呢。
在實際每日工時相差如此龐大的狀況下,原本估算出來的時程根本無法完成。雖然說大多數的游戲公司加班的狀況常見。不過,也有許多的人就算是留在公司加班但是心根本不在工作上。當你的周圍有許多下班后留在公司玩游戲的同事時,就算是再怎么有定力的人,恐怕都很難真正的把心思放在工作上吧。在估算工時的這件事情上,銀狐個人習慣用每日工時四至六的這個區(qū)段來計算實際所需天數。
如果你要問銀狐有沒有避免游戲研發(fā)Delay的方法?銀狐會告訴你「我沒有」。我所能做的,就是在項目預估開發(fā)時間的時候,避免項目的成員踏入以上的誤區(qū)。但是,就算是避開了這些誤區(qū),還是有許多會造成項目研發(fā)Delay的因素,剩下的就只能『兵來將擋,水來土掩』的見招拆招了。
而某些老板/上司習慣用壓縮后的時程來逼迫員工加班趕工,這種作法也許一次兩次會有效,但是人不是機械,是會彈性疲乏的,當項目的成員陷入這樣的狀態(tài)后,是很難再將大家的士氣拉起來的,到了那個時候可就神仙也難救了。他們的想法可能是『反正一年的項目會做一年半才完成,那我不如一開始就把項目時間喊成六個月,這樣就算做了一年才完成也比做到一年半要好』這樣的想法。
以上所說的幾種狀況,都是研發(fā)游戲的項目人員在估算時間的時候容易踏入的誤區(qū)。在發(fā)生這些狀況的時候,對于預估的時間都會出現(xiàn)程度不一的誤差。當然,這些時間上的誤差都比不上某些老板/上司喜歡用的『菜市場殺價式』的喊價狀況,那種隨隨便便就把項目時間砍掉1/2或是1/3的狀況,其最終的結果都會悲劇收場。