雜談Barry Boehm的軟件工程七原則與敏捷實(shí)踐
編輯日期 2019-04-17 閱讀次數(shù):835 次
大概在5年以前曾經(jīng)從網(wǎng)上搜到了Barry Boehm提出的軟件工程的七原則(Seven Basic Principles of Software Engineering),這是Barry Boehm1983年發(fā)表的文章,在網(wǎng)上搜到的是別人對(duì)這七個(gè)原則的轉(zhuǎn)譯與介紹,看后覺(jué)得怪怪的,總是覺(jué)得有些地方不能準(zhǔn)確把握這七個(gè)原則的含義。于是去google搜其原文,未果,最近終于搜到了原文,因此更能準(zhǔn)確把握Barry Boehm老先生的原意。
有人將題目翻譯為軟件工程的七個(gè)基本原理,其實(shí),principles在此處還是翻譯為原則更為準(zhǔn)確。
依據(jù)原文我的對(duì)于各原則的理解如下:
原則一:使用分階段的生命周期計(jì)劃管理(manage using a phased life-cycle plan)
(1)一定要有項(xiàng)目計(jì)劃;
(2)項(xiàng)目要?jiǎng)澐稚芷陔A段,每個(gè)階段都要有計(jì)劃;
(3)計(jì)劃要分層或分階段逐步細(xì)化;
(4)要使用項(xiàng)目計(jì)劃管理項(xiàng)目,不能棄之不用。
原則二:執(zhí)行持續(xù)確認(rèn)(perform continuous validation)
(1)盡早發(fā)現(xiàn)錯(cuò)誤。大部分缺陷是編碼之前注入的,缺陷越早修復(fù)成本越低。
(2)盡早發(fā)現(xiàn)錯(cuò)誤的措施:
深入評(píng)審;
設(shè)計(jì)階段編寫(xiě)用戶手冊(cè)、使用手冊(cè)、數(shù)據(jù)準(zhǔn)備手冊(cè);
原型;
模擬;
自動(dòng)化的檢測(cè)工具;
設(shè)計(jì)審查與走查;
等等。
原則三:堅(jiān)持規(guī)范的產(chǎn)品控制(maintain disciplined product control)
執(zhí)行配置管理,確保工作產(chǎn)品之間的一致性。
原則四:使用現(xiàn)代化的編程實(shí)踐(use modern programming practices)
采用現(xiàn)代化的開(kāi)發(fā)方法、開(kāi)發(fā)實(shí)踐提升軟件的效率與質(zhì)量。
原則五:堅(jiān)持結(jié)果的清晰的責(zé)任(maintain clear accountability for results)
對(duì)于項(xiàng)目的階段產(chǎn)出、各個(gè)小組之間的承諾、每個(gè)人的產(chǎn)出與承諾要明確、要可驗(yàn)證。
原則六:使用少而精的人員(use better and fewer people)
(1)人與人之間的效率差別達(dá)10倍甚至25倍以上,因此要使用精英團(tuán)隊(duì)。
(2)采用多種方式提升溝通的質(zhì)量與效率:
不要通過(guò)加人的方式解決進(jìn)度問(wèn)題
項(xiàng)目的初期不要太多的人員
為高性能提供高的回報(bào)
淘汰低性能者
使用自動(dòng)化的輔助工具
原則七:堅(jiān)持過(guò)程改進(jìn)的承諾(maintain a commitment to improve the process)
識(shí)別、分析技術(shù)與過(guò)程的改進(jìn),建立持續(xù)改進(jìn)的機(jī)制。
如果仔細(xì)去分析敏捷的軟件開(kāi)發(fā)方法,則可以發(fā)現(xiàn),恰恰敏捷的實(shí)踐很好的滿足了上述的七個(gè)原則:
- 上一篇:白話SCRUM之一:SCRUM 的三個(gè)角色
- 下一篇:時(shí)間箱管理