2016-05-22 72 views
-3

我是一名自由職業者。每當我設計一個新的網站或桌面應用程序時,我都會嘗試估計每個組件開發,調試和測試所需的時間。但是,當我開始實施時,我意識到我需要更多時間,因爲我不瞭解的錯誤或者我沒有想到的例外情況。結果,我總是落後於我的時間表。當客戶看到一個演示或我開發的組件,並且他們意識到項目比他們想象的更有趣,並且他們開始請求越來越多的功能時,這會變得更糟。如果你告訴我如何學習計劃,以便我能夠按時完成項目,我會很感激。我該如何規劃敏捷軟件開發?

回答

3

首先,這是每個軟件開發者都有的問題。也許除了那些真正無聊的人,但那不是我稱之爲軟件開發的東西。

軟件開發不像熨燙襯衫。如果你在5分鐘內完成一次,你可以肯定的是,你將需要另外20分鐘的時間用於其餘的4分鐘。

這種常規工作可能佔軟件開發的20%。其餘更像科學工作,瞭解事情的工作方式。它也涉及很多創意。這些東西幾乎是不可能估計的。你可以在10分鐘內找到解決方案。你也可以努力工作一天或更長時間,而不需要更進一步。

另一方面,您的客戶(或您的管理層)需要知道軟件何時準備就緒以及需要多少成本是可以理解的。

那麼你能做什麼?這裏有幾點建議:

  • 使用你的經驗。分析您以前的項目。你估計多少錢,它真的需要多少錢?使用差異作爲修正因子。這種方法的流行簡化是「加倍」,「三倍」等等。
  • 使用敏捷方法。這意味着你必須說服你的客戶進行小步驟。估計小步驟要容易得多。每一步之後,都需要來自客戶的反饋。如果出現意外問題,請立即向客戶解釋。讓他明白需要額外的努力。敏捷可能是最好的解決方案,但它需要你和你的客戶之間的一定程度的信任。

您還提到您的客戶在開發過程中需要額外的功能。這是可以理解的,沒有人能提前想到所有事情。但向你的客戶解釋,這些變更請求會導致你額外的工作,他必須支付。

+0

非常感謝您的全面回答。請給我推薦一個在線課程,書籍,網站......以瞭解更多信息並獲得更多有關敏捷的經驗?我的一些朋友告訴我Scrum幫助很大?你怎麼看待這件事?你知道任何更好的軟件開發規劃工具嗎? – 1man

0

統計上,初始估計超過了300%:) 在您的情況下,當使用「固定價格」模型時,至少要添加20%以覆蓋風險。另外,如果可能的話,提供兩個值:「實施將花費40到60小時,具體取決於API」。再次,因爲這是「固定價格」,所以不能在初始範圍內添加任何更改,這必須與客戶一起明確。如果您收到新的功能請求,請將其估算爲單獨的一部分工作(更合適的選項)或重新估算初始範圍(如果無法單獨估算)。如果要求太模糊,最好使用「時間和材料」,因爲您無法提供準確的估算值,因爲您需要支付實際工作時間。