2008-09-21 225 views
0

我正在聽a podcast。他們在哪裏談到豐田正在使用的原則:除非您準備好使用軟件,否則不要做任何事情? [豐田原理]

直到您準備好使用它時,纔會做任何事情。

我想這告訴我們看看其他地方,以瞭解其他做法多年以來已知的。

+0

你的「問題」很可能否決,因爲它不包含一個問題描述。 – benzado 2008-09-22 19:45:27

+0

[C2在YAGNI上有更多內容。](http://c2.com/cgi/wiki?YouArentGonnaNeedIt) – 2008-09-21 12:27:46

回答

3

可能適用於軟件建設,但我不知道它適用

如果我們考慮到五週辰lements在「toyota-way of decision making」的基礎上,原則是「你如何在做出決定是一樣的決策質量的重要」:

[模式幽默ON]

  • 找出什麼真的在繼續,包括genchi gembutsu。

    除了有時,一個人終於明白了什麼是對,當客戶在項目結束時向我們解釋去;) PM_Build_Swing

  • 瞭解根本原因解釋表面現象,要價「爲什麼?」五次。

    肯定,但客戶端不是在項目過程中有足夠的可用;)

  • 廣義考慮備選解決方案和開發首選方案的詳細理由。

    爲時已晚,程序員已經編碼像瘋子:)

  • 隊內達成共識,包括豐田員工和外部合作伙伴。

    哎呀那個程序員已經重新書寫了認證系統,即使舊工作正常

  • 使用非常有效的溝通工具做一到四,最好邊的一張紙的一個紙。

    您是否聽到「powerpoint死亡」?這並不總是我們的強項;) Death by PowerPoint

[模式幽默OFF]

嚴重的是,由以前的答案說,敏捷理念確實解決一些這方面的核心租戶豐田原則。

而且這可能是一個小更豐富,只是「你是不是要去需要它」,在書中「The Toyota way

1

這樣思考是一種很好的敏捷實踐。還有一種叫做Test-Driven-Development的東西,它可以幫助你在沒有錯誤的情況下(幾乎)獲得軟件,但是也會產生這樣的副作用,那就是你沒有使用的任何東西。

一個例子是你自己的收藏類。如果你只需要一個Add方法和一個ToArray方法,那麼爲什麼要用時間去實現Remove和Count方法呢?

所以是的。遵循該原則:)

2

排序,是的。這是agile philosophy的核心部分。

基本上,在大型設計前期和笨重的規格上,基本上都希望靈活性和響應速度。實現這一目標的最佳方式之一就是隻需構建足以滿足當前的需求,因爲你永遠不知道他們什麼時候會改變。

2

有點新舊。它通常被稱爲「你不需要它」(縮寫爲YAGNI)(「你不需要它」(非偶像英語中的「你需要它」)。

與執行功能相關聯,當你不需要它的問題:

  • 的實施需要時間遠離開發是需要的功能
  • 的功能是很難的文檔和測試,因爲如果你不需要它,誰知道它應該做什麼?
  • 保持功能將需要額外的時間
  • 的功能增加了額外的代碼,複雜的代碼庫
  • 的功能可能會產生滾雪球效應,由此來看,其他的功能,你可以再要添加,即使他們」再不需要
相關問題