精益软件开发的思想_精益软件开发原理快速指南
精益軟件開發(fā)的思想
我記得在早期的中學(xué)商業(yè)課上就曾在豐田公司學(xué)習(xí)精益生產(chǎn),并且對通過有意設(shè)計(jì)來最大限度地減少浪費(fèi)和提高生產(chǎn)率的想法深深著迷。 隨著時(shí)間的流逝,精益方法被制造業(yè)以外的多個(gè)行業(yè)所采用,包括軟件開發(fā)。
精益軟件開發(fā)將一些核心原則付諸實(shí)踐以優(yōu)化生產(chǎn)力。 軟件開發(fā)具有幾個(gè)關(guān)鍵功能,這使其成為應(yīng)用精益方法的正確過程:
精益軟件開發(fā)是一種模型,該模型通過流程來評估個(gè)人,并通過工具來進(jìn)行交互。 有七個(gè)必不可少的要素來執(zhí)行此過程以適合您的軟件開發(fā)項(xiàng)目。
1.減少浪費(fèi)
顧名思義,精益開發(fā)將消除所有不會(huì)增加價(jià)值的東西。
廢物可在許多地區(qū)發(fā)現(xiàn):
- 在制品浪費(fèi),即部分完成的工作。 可以通過諸如看板之類的在制品限制來減少這種情況。
- 生產(chǎn)過剩的浪費(fèi)。 當(dāng)反饋周期太長時(shí),會(huì)出現(xiàn)額外或不必要的功能。
- 流程浪費(fèi)。 您可能會(huì)在重新學(xué)習(xí)中看到這一點(diǎn),可以通過更好的協(xié)作和配對編程練習(xí)來減少這種學(xué)習(xí)。
- 交接中的浪費(fèi)。 運(yùn)輸可能會(huì)減慢流程速度。 跨職能團(tuán)隊(duì)可以提高效率。 獨(dú)立團(tuán)隊(duì)?wèi)?yīng)該有一個(gè)平臺(tái)和流程來將工作融合在一起。
- 上下文切換時(shí)浪費(fèi)資源。 這也可以通過限制在制品來抵消。
- 缺陷。 如果沒有通過多重檢查和制衡將質(zhì)量納入流程,就會(huì)發(fā)生浪費(fèi)。
2.建立質(zhì)量
精益軟件開發(fā)以質(zhì)量為基礎(chǔ)。 這是有紀(jì)律的做法。 有精益的開發(fā)過程可以提高質(zhì)量。
- 結(jié)對編程減少了錯(cuò)誤溝通的浪費(fèi),并使兩個(gè)開發(fā)人員的輸出最大化。
- 測試標(biāo)準(zhǔn)為程序員提供了一套檢查系統(tǒng),以確保他們滿足所有要求。
- 通過持續(xù),及時(shí)的反饋,逐步增長或逐步開發(fā)可以提高質(zhì)量。
- 更少的等待狀態(tài)可以保護(hù)質(zhì)量和簡化效率,縮小知識差距并提高關(guān)注度。
- 自動(dòng)化是一種功能強(qiáng)大的工具,其中使用諸如機(jī)器智能之類的資產(chǎn)來消除錯(cuò)誤。
3.創(chuàng)造知識
精益開發(fā)的目的是在構(gòu)建過程中進(jìn)行有價(jià)值的學(xué)習(xí)。 這種知識使團(tuán)隊(duì)更加有能力,因?yàn)楝F(xiàn)在每個(gè)人都可以訪問以前只有少數(shù)人頭腦中的知識。 這也使入職更加容易,并且團(tuán)隊(duì)對于團(tuán)隊(duì)成員的離開更具彈性。 可以制定團(tuán)隊(duì)基礎(chǔ)結(jié)構(gòu)以識別和記錄此知識,以便長期保留。
這些基礎(chǔ)架構(gòu)元素包括:
- 代碼審查
- 配對編程
- 知識庫共享
- 注釋代碼
- 訓(xùn)練
一些軟件開發(fā)團(tuán)隊(duì)將用戶案例納入知識庫,以提供最佳實(shí)踐信息。
4.推遲承諾
精益的軟件開發(fā)方法考慮了短期目標(biāo)。 通過連續(xù)的數(shù)據(jù)收集和有意的反饋,只有在所有數(shù)據(jù)點(diǎn)均完好無損時(shí)才能做出決策。 一旦數(shù)據(jù)被完全理解,就可以將其包括在計(jì)劃中。 從本質(zhì)上講,推遲承諾會(huì)將重點(diǎn)從長期計(jì)劃轉(zhuǎn)移到當(dāng)前流程告訴您的內(nèi)容。 從長遠(yuǎn)來看,這是最有價(jià)值的信息。
5.快速交貨
結(jié)合對當(dāng)前和現(xiàn)在的關(guān)注,精益軟件開發(fā)有利于提高效率。 如果遵循這些原則,則應(yīng)加快流程。 這是因?yàn)槟鷾p少了浪費(fèi),并消除了團(tuán)隊(duì)的障礙。 如果每個(gè)人都有正確的數(shù)據(jù),工具和明確的期望,則進(jìn)步可以更快地前進(jìn)。 阻止程序始終被刪除。 精益團(tuán)隊(duì)不會(huì)無休止地工作或過度努力。 精益團(tuán)隊(duì)制定簡單的解決方案,接收并吸收反饋并繼續(xù)前進(jìn)。
6.尊重團(tuán)隊(duì)
當(dāng)精益管理首先走到最前沿時(shí),它的戰(zhàn)斗口號是“人勝于流程”。 認(rèn)識到真實(shí)的人會(huì)做真正的工作,精益管理向個(gè)人致敬。 通過主動(dòng)溝通,流程改進(jìn)甚至團(tuán)隊(duì)如何處理沖突來傳達(dá)尊重。 健康的工作環(huán)境對于實(shí)現(xiàn)精益方法的所有其他核心原則至關(guān)重要。
7.優(yōu)化整體
軟件開發(fā)可能成為速度或測試問題的犧牲品。 沖動(dòng)會(huì)導(dǎo)致錯(cuò)誤。 測試不充分會(huì)導(dǎo)致諸如以下的損失:生產(chǎn)中的錯(cuò)誤,客戶不滿意,修復(fù)所花費(fèi)的時(shí)間和金錢,收入損失,對品牌的打擊等。為了抵制次優(yōu),精益開發(fā)原則可幫助精益組織了解每個(gè)項(xiàng)目的下游影響。 價(jià)值流應(yīng)該被識別和優(yōu)化。
精益方法
要真正成為一個(gè)精干的團(tuán)隊(duì),您需要遵守所有這些原則。 您不能有脫離成員或在精益方法之外操作的獨(dú)行俠。 一旦所有人都參與進(jìn)來,您就可以在軟件的幫助下激活這種精益方法。 有一些軟件可以幫助您進(jìn)行精益軟件開發(fā),為諸如結(jié)對編程,團(tuán)隊(duì)溝通和計(jì)劃敏捷沖刺之類的事情創(chuàng)建正確的上下文。
最后,我建議您看一下該視頻 。 它提供了精益流程的簡單概述,以及在任何行業(yè)中要實(shí)施的流程。
您是否已將精益方法論應(yīng)用于編程方法甚至在軟件之外的團(tuán)隊(duì)中? 請?jiān)谙路皆u論,讓我知道您的想法!
翻譯自: https://hackernoon.com/a-quick-guide-to-lean-software-development-principles-h86g3ym0
精益軟件開發(fā)的思想
總結(jié)
以上是生活随笔為你收集整理的精益软件开发的思想_精益软件开发原理快速指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京理工大学 计算机学院 李侃,陈宇峰_
- 下一篇: CC2541的仿真器CC Debugge