兩個重點。引致一些公司一直用很多資源,然而也未能開發到一件真正他們想要的的產品。是什麼導致這個情況出現?
在香港,流水式開發(Waterfall)是常用的系統開發方法。很多人認為,只要初期的需求被完整地定義,最終產出的系統就會符合預期。理論上這是對的,但實際上,國外的經驗證明,即使花費多年時間,流水式開發也未必能完全實現預期目標。因為在開發過程中,總會有許多細節需要調整。我們可以在面談時更詳細地討論這個問題。
總的來說,我們可以用一個比喻來說明:很多時候,客戶想要的是一個可以購物的系統,最終雖然系統能夠實現購物功能,但許多期望的功能,例如用戶登錄或忠誠度計劃,實際上並未實現。這是因為無論計劃多麼詳細,人們心中的想法總是有差異的。
這就是為什麼單靠流水式開發並不是完全行不通,而是因為它需要經歷許多不同的報價和開發階段,這樣一來,過程會變得非常緩慢。儘管我們已經習慣了這種模式。
因此,國外普遍流行的是敏捷式開發(Agile),還有一種稱為閃電式開發的方法(此處不作詳細介紹)。簡單來說,敏捷式開發更像是購買時間。在每一次迭代中,根據實際產出和變化,決定下一步如何調整。
有些公司的一直都未能做到一件他們心目中的產品, 為什麼呢? 因為這兩個重要的開發方式是完全不同的。他們向供應商支付流水式開發的費用,但卻以敏捷式的方式進行溝通。這樣的做法會導致什麼結果呢?就好比一個人拿著一本中文書,另一個人拿著一本法文書,他們如何可能有效溝通? 需要的時間就更加長了。
清晰地理解開發方法的選擇對於軟件開發來說是非常重要的。我期待有一天能與你面對面分享, 一個真正適合香港公司的開發方法, 我們亦正使用這個方法來開發我們的 租務管理系統 出租王 JOJORENT 。
所以這兩個開發,在意義上來說是什麼?
軟體開發是一個涉及需求分析、設計、開發、測試、部署等多個階段的複雜工程。在選擇合適的開發方法時,目的是提高開發效率、降低成本並滿足客戶需求。目前,主要有兩種開發方法:流水式開發和敏捷式開發。流水式開發是一種傳統的方法,而敏捷式開發則是近年來興起的方法。
流水式開發 是一種線性開發方法,將開發過程劃分為需求分析、設計、開發、測試、部署等階段。每個階段完成後才能進行下一階段。其優點是過程清晰、可控、穩定;缺點則是過程僵化、耗時、缺乏客戶參與。
敏捷式開發 則是一種迭代式的方法,強調以用戶需求為核心,採用持續迭代的方式進行開發。其優點是過程靈活、高效、開放;缺點則是過程複雜、不可控、易受外部因素影響。
如果你需要更加多資訊, 這裏提供其他的一些文章給你參考:
選擇哪種開發方法取決於產品需求的穩定性、開發的複雜性、客戶參與的需求以及團隊的開發能力。流水式開發適合需求穩定、複雜度低、客戶參與度低的項目;而敏捷式開發適合需求變化頻繁、複雜度高、客戶參與度高的項目。 當然有更加多細節是需要配合, 我們非常樂意與你進行深入交流。