精益思想和軟體開發

IT168人月神話發表於2008-08-20
在現在的快速和敏捷軟體開發中已經使用了很多的精益思想,比如準時制生產,看板管理,TQM,零缺陷,團隊和並行工程等都可以在敏捷軟體開發中找到影子。前面我寫過TPS和專案管理,而這篇重點描述TPS和軟體開發。

整潔和明亮的辦公環境是很重要的,好的環境產生好的心情,好的心情產生高質量的產品。而敏捷開發強調的辦公環境都需要為高效溝通服務,辦公是集中辦公,辦公位之間最好是沒有阻隔板等開放環境。牆面預留來做看板和狀態管理,有個1-2個專門的小會議室方面2-3個人下範圍的進行問題的討論和評審。工作時間每個人最好能夠專注,不受太多外界的干擾,只有休息和工作時間完全分開才可能高效率產生高質量的產品。

精益裡面的看板管理在敏捷軟體開發中有明顯的體現,比如使用者故事牆,貼在白板上的小紙條(TODO,DOING,DONE),涉及進度的S曲線等。這一切都是為了進度在整個團隊是視覺化的。只有明確知道你現在的位置和偏差,才知道如何改進以達到目標。在這裡我們推薦的仍然是基於特徵值和功能點的快速迭代開發模式,FDD特徵驅動開發應該成為後續快速軟體開發的主流。

在敏捷和極限程式設計中的測試驅動開發TDD應該是精益思想中關於拉式生產很好的體現。同時我們基於使用者場景和Story進行的用例驅動開發也是拉動生產很好的體現。首先針對使用者需求我們會編寫UserStory,而在UserStory出來後我們不會先開始設計和編碼工作,而是要通過編寫測試程式碼來驅動開發,同時也驅動對需求的檢驗和細化。

說到交付能力,一定會提及到精益思想和柔性生產裡面談到的小批量和多批次的概念。我們的交付需要進行多次交付,使使用者能夠儘快的拿到他們需要的產品。而要做到儘早的交付,並非所有功能都全面完成了才交付就引入了迭代開發和持續整合必須要引入到我們現在的軟體開發中,每一次迭代都是可以向使用者獨立交付的產品。所以也可以講:

準時化開發 = 持續整合 + 迭代開發 + 多次交付。
零庫存 = 使用者故事驅動 + 每次提交都不產生半成品。

根據軟體開發的生命週期模型,一個功能的開發需要經過需求,設計,編碼和測試等多個工作單元或工序。在精益思想裡面的自主工作單元就強調產品能夠一件一件的生產,各工序的工作人員都能夠一起工作而且工序之間沒有庫存。在軟體開發中,上下游各個環境的密切配合就顯得更加重要的,工序之間有庫存說明了在整個流水線中存在了瓶頸,整個開發生產線是沒有達到一種最優的。因此在快速軟體開發中我們必須要考慮上下游角色之間如何更好的銜接,工序之間如何減少等待和浪費等問題。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15027599/viewspace-433254/,如需轉載,請註明出處,否則將追究法律責任。

相關文章