The Art of Readable Code && High Performance Comments

雖說在去年之前,寫程式和接案對我來說,比較算是混口飯吃 + 興趣,但這十幾年下來,見過的專案和問題倒也不少。然而最近發現公司同仁對這方面的理解有些薄弱,猜想是不曾認真分析;這邊簡單整理,省下我費唇舌的時間。

分析專案時,我習慣將 程式設計師、美工、設計,稱為核心人力。這些人負責做出最終產品,或者規劃其中部件如何實作。也因此,計算團隊處理(新開發)專案的產能時,可以將核心人力總薪資作為判斷依據,除非團隊裡有人的薪資被嚴重高估或低估。然而資源的分布,會因為專案性質、團隊人力而有所偏移;很難定下適用於所有專案的標準分配。

在計算出核心團隊薪資之後,將它乘上 1.5,大概就是接案成本。這其中包含了業務、公關、行銷、專案管理、水電房租等支出,再扣除教育訓練、程式碼重用 等隱性收益。這個比重可能會變動,例如公司名聲比較低,就可能需要多花行銷預算,才能接到專案;但因為這部份的成本不反應在成品上,因此如果全數反應到專案金額上,客戶可能會不太滿意,甚至琵琶別抱。

決定內部成本後,加上一些額外支出(買伺服器啦、其他服務啦 等等)接著算要吃多少利潤。抓三成的話,就再乘上 1.4,五成利潤就乘 2;再多講,就是我在剝奪讀者心算(或使用計算機)的權力了。

除了用來計算目標合約金額之外,這個算式也可以拿來估計團隊的能力 (capacity)。舉例來說,年薪 2m 的團隊,照這個公式,搭配三成純利,每年能夠處理的專案,合約金額總和就是 4.2m。以這些數字作為基礎,可以更早發現人力缺口,提早解決問題。

然而比起新開發專案,複製專案的成本一向更低;合約金額一般是核心成本的十倍以上;至於要怎麼談這些專案,除了行銷、業務力的展現以外,PM 誘導客戶將需求押在暨有的模組/功能上,SA/SD 加強專案的彈性,讓功能模塊能夠跨專案,乃至於跨框架應用,這兩者則更是關鍵。

發表迴響

分類

%d 位部落客按了讚: