Is there a Best Approach for Software Development?

“工欲善其事, 必先利其器” 《論語.魏靈公》  “To do a good job, an artisan needs the best tools” 《Confucian Analects》 Software approach is the practice of using selected process techniques to improve the quality of a software development effort resulting fewer defects and, therefore, ultimately provides shorter delivery times and better value. One software approach is often claimed to be better than any others is always subject to debate endlessly. I must say that there is no one best development approach, different methods are best for different project contexts. What is best depends on whom the method is for, in what circumstances, for…continue reading →

有沒有最好的軟件開發方法?

“工欲善其事,必先利其器” 《論語·魏靈公》 “工欲善其事,必有器” 《論語》 軟件方法是使用選定的過程技術來提高軟件開發工作質量的實踐,從而減少缺陷,從而最終提供更短的交付時間和更好的價值。一種軟件方法通常被認為比其他任何方法都好,但總是無休止地爭論不休。我必須說,沒有一種最好的開發方法,不同的方法最適合不同的項目環境。什麼是最好的取決於方法是為誰,在什麼情況下,為了什麼目的,等等;說沒有一種方法最適合軟件開發人員,也就是說不同的方法最適合不同的團隊或不同的項目性質。 Grady Booch 說: “如果你想建造一個狗屋,你幾乎可以從一堆木材、一些釘子和一些基本工具開始,比如錘子、鋸子和捲尺。幾個小時後,你很可能最終會得到一個功能齊全的狗屋……如果你想建造一座高層辦公樓,你會想要進行廣泛的規劃……你將只是一個更大的群體的一部分負責開發和部署建築物,因此團隊將需要各種藍圖和模型來相互溝通……” 您會為小型 Web 應用程序和 NASA 太空探測器採用相同的方法嗎?可能不會。你會在六人團隊中採取與六十人團隊相同的方法嗎?再一次,可能不會。正如 Scott Amber 所指出的,不同的情況顯然需要不同的方法。軟件開發沒有一刀切的解決方案,事實上,設計人員需要擁有廣泛的工具,了解每種工具的優缺點,並能夠快速決定最合適的工具在給定上下文的理想工作流中應用。continue reading →