貓也會的「時間管理術」:Timeboxing

圖片來源:blog.vsharing.com

不知道各位讀者有沒有過這樣的經驗:在漫長的暑假或寒假開始之前,雄心壯志地規劃了許多想閱讀的書籍及想完成的計畫,但一轉眼到了假期結束時,卻發現自己什麼事情也沒做,美好而珍貴的假期就這樣不留一片雲彩地溜走了。

或是你接受了主管交派的任務指示,必須在一個月內完成某項工作,然而卻到了最終期限的前幾天,才發現竟然還有許多細節項目仍待處理,於是只好開始燃燒小宇宙般地夙夜匪懈?又或者你總是苦於無法提升自己的工作效能與做事效率?

怎麼會這樣呢?最初在擬定計畫時,不是覺得「二個月的時間很足夠了」嗎?當初自忖合理,甚至覺得游刃有餘的時程估算,為什麼到頭來還是讓我們疲於奔命?為何在許多情況下,我們總是無法達成原先設立的縝密計畫?

「計畫總是趕不上變化。」你說。

然而,所謂的「變化」到底從何而來?這一切的一切,究竟是命運的糾葛,還是我們既生為人類就注定逃不開「時間」對我們的奴役?無論你的身份是學生、工作者或大老闆,只要你想進一步提升自己的工作效能並且改善工作成效,你就不能不認真用心地熟識它,我們今天的主角——「時間盒」 (Timeboxing)

Continue reading “貓也會的「時間管理術」:Timeboxing”

遊戲開發入門:專案時程怎麼估?

gantt-chart在專案管理領域中,所謂的時程,也就是一般常聽到的 Schedule 一詞。當上司、主管或者指導教授交付給你一項工作時,需要知道這項任務的預估完成時間。我們身為遊戲開發者以及工作執行者的身份,應該要使用什麼方法來預估工作的時程?如何達到預估的準確性?工作時程中又隱含著些什麼樣的秘密呢?

經過前篇文章「遊戲開發入門:專案管理管什麼?」的介紹之後,相信即使是從未接觸過專案管理領域的讀者,也能夠對於專案管理的基本概念有一些基礎的概念與認識。接下來,本篇將深入時程的層面,探討在專案管理中相當重要的專案時程估算議題。

(圖片來源:www.codinghorror.com)

任何一項工作的時程安排,都需要具備三項條件:起始日期結束日期以及與其他工作的依存關係。在專案管理領域以及專案時程表中,最受到廣泛使用的甘特圖 (Gantt Chart),可以用清楚易懂的圖示來描述工作項目的這三項條件。而另外一項在專案時程中會經常聽到的術語是 Work Breakdown Structure(工作分解結構),或經常簡稱為 WBS。簡單來說,WBS 近似於前篇文章裡所提到的「工作項目階層分解程序」,能夠將原來非常龐大的功能項目,逐步往下分解為可處理的單一工作項目。

在遊戲開發流程中,為什麼我們需要制訂出專案時程表

Continue reading “遊戲開發入門:專案時程怎麼估?”

遊戲開發入門:專案管理管什麼?

project-management我想,在進入 Scrum 這個新奇有趣又好玩的新主題之前,必須要先來一兩篇楔子,介紹關於遊戲開發層面的入門知識。首先,就來談談基礎的專案管理概念。

(圖片來源:http://www.areait.info/)

「專案管理」聽起來是一個很酷炫的 Buzz Word,如果用一句《神奇寶貝》裡的名言比喻,專案管理就像是個「可愛又迷人的反派角色」一樣,經常讓人對它又愛又恨。在之前的「經驗與管理的迷思」以及「Peopleware:腦力密集產業的人才管理之道」這兩篇文章裡,已經討論過「人」這項因素對於開發團隊的重要性。然而在一個企業、公司或團隊中,如果只注重人的因素仍然是不足夠的,因為即使是能力再強的領導者或管理者,也無法一天八小時盯住每一項工作的執行細節。如果說在管理學中常聽到的「領導統御」是著重於「人」的層面,則「流程管理」就是著重於「事」的層面。良好的管理制度,將能夠補足「人」所力有未逮之處。

專案管理,最初由時間管理 (Time Management) 的概念衍生而來,而時間管理的概念則存在於我們每一個人的生活當中;當你身為一個學生的時候,如何管理一天的生活?如何管理二個月的暑假生活?如何管理一整個學期的生活?如果只是放任著時間流去,最後或許會發現自己什麼事情也沒有完成,什麼東西也沒有留下。對於遊戲開發來說亦然如此,專案的功能清單與臭蟲列表上,總是存在著難以計數的項目等待進行;有多少事情需要完成?有多少人手可以用?六個月之內可以看到什麼樣的成果?專案管理,必須要能夠妥善地回答這些問題。

Continue reading “遊戲開發入門:專案管理管什麼?”

遊戲開發中的PvP:程式設計者 VS. 程式設計者

來談談 Programmers 與 Programmers 之間的合作關係。

一直到出了社會,經過幾年的工作歷練以後,我才深深地體會到以前在學校中大部分的課程作業與考試,往往太過於注重個人的程式能力,卻忽略了團隊合作的重要性。「一個人能夠將程式完成;一群人卻反而未必能將程式完成。」現今的大專院校設立了許許多多的資訊相關科系,但是對於有志朝向軟體相關產業發展的學生,卻很少有機會學習合作開發的相關知識,更缺乏與同學共同撰寫程式系統的實作經驗,實在是一件很令人惋惜的事情。

除了「《Top 10 Traits of a Rockstar Software Engineer》:明星程式設計師必備的十項特質」中所提到的十點必備特質以外,我認為對於程式設計者來說,最重要也最關鍵的特質就是溝通技巧協調能力。「溝通」以及「協調」,聽起來是再尋常也不過的普通字眼,有什麼重要性?又有誰做不到呢?在現實世界中,不會每件事情都如課本中的理論般,達到準確無誤的理想狀態。如果能夠與同儕間達成良好的溝通與協調,撰寫程式也會變得容易許多;反之,如果無法達到雙方都能接受認可的滿意狀態,將會造成許苦痛、誤解,甚至對立的情勢。

無論是正式的會議或非正式的會談,溝通的程序,經常會佔去許多工作上的時間。在《人月神話:軟體專案管理之道》中提到,當專案中的成員數目往上增加時,彼此之間的溝通成本也會相對地提高,達到門檻上線之後,增加成員就幾乎無法對專案產生任何正面效益了。而除了與企畫設計者、美術設計者以及專案管理者的溝通以外,許多程式設計者經常忽略的層面,反而是與程式部門的內部溝通程序

Continue reading “遊戲開發中的PvP:程式設計者 VS. 程式設計者”

經驗與管理的迷思

在遊戲業界裡,擔任管理職務者,往往是具有多年經驗與歷練的人。

他們在好幾年、甚至超過十數年的資歷中,可能經歷過大大小小許多間的公司,也參與過很多完成與未完成的專案。從一開始可能誤打誤撞的進入了業界,一待就是八、九個年頭過去。一路走來,做為一個職員,表現一直都屬良好。於是在幾次的轉換公司或內部拔擢之中,他們理所當然地成了管理職務的候選者。機緣巧合下,他們得到上層的賞識與信任,終於晉升成為管理職,頭銜變好聽了,薪水增加了,公司也得到有能力的主管,從此大家都一帆風順、過著幸福快樂的日子。

然而事實真的是這樣嗎?

Continue reading “經驗與管理的迷思”