XP(三)原則

什么是原則?

  • 做一件事情,通常有多種做法,但必然有一種做法是最合適的。那這“最合適”的做法是怎么篩選出來(lái)的呢?取決于這件事情的核心特性,越貼近核心特性,做法就越合適。另一種理解方式就是主要矛盾,越能解決矛盾,就越合適。而在XP中通常把這些核心特性或主要矛盾,稱之為原則。

那軟件開發(fā)中的原則有哪些?

人性化
  • 重點(diǎn)在于,是人在開發(fā)軟件,所以這個(gè)核心特性——人,的狀態(tài)直接影響這軟件開發(fā)。怎么提升?安全感,成就感,歸屬感,成長(zhǎng),親切感。
  • 偉大團(tuán)隊(duì)的魔力在于,在團(tuán)隊(duì)成員間建立相互信任之后,他們發(fā)現(xiàn)合作工作的結(jié)果是導(dǎo)致每個(gè)人都可以更加自我。
經(jīng)濟(jì)學(xué)
  • 軟件開發(fā)的最根本目的,賺錢?。?!
互惠互利
  • 如果你想要人們接受你的意見,那你就應(yīng)該解決更多的問(wèn)題,而不是制造更多的問(wèn)題。
  • XP的互惠互利原則尋找這樣的實(shí)踐,它使現(xiàn)在的我、以后的我和我的客戶都能獲益。
自相似性
  • 試著將一個(gè)解決方案的結(jié)構(gòu)復(fù)制到一個(gè)新環(huán)境中,即使他們的粒度不同。通常這是一個(gè)不錯(cuò)的起點(diǎn)。
改進(jìn)
  • 沒有最好,只有更好,庸才更喜歡等待。
  • 改進(jìn)原則表示為實(shí)踐就是:馬上開始行動(dòng),隨著實(shí)踐的推移逐步精化結(jié)果。根據(jù)經(jīng)驗(yàn)改進(jìn)長(zhǎng)期計(jì)劃,這個(gè)可能性通過(guò)季度周期這一實(shí)踐得到表現(xiàn)。增量式設(shè)計(jì)通過(guò)精化系統(tǒng)設(shè)計(jì)來(lái)貫徹改進(jìn)原則。實(shí)際的設(shè)計(jì)永遠(yuǎn)不可能是理想設(shè)計(jì)的完美映像,但你可以通過(guò)每天的努力來(lái)使這二者接近。
多樣性
  • 團(tuán)隊(duì)需要將不同的技能、態(tài)度以及看待問(wèn)題和缺陷的視角整合在一起,來(lái)考慮解決問(wèn)題和實(shí)現(xiàn)解決方案的不同方法。就跟現(xiàn)實(shí)世界保持生物多樣性一樣。
  • 多樣性不可避免地伴隨著沖突。沖突不是“我們彼此痛恨,我們不能取得進(jìn)展”的意思,而是“解決這樣的事情有兩種方法”。你將如何選擇?
  • 程序員應(yīng)該共同致力于問(wèn)題的解決,兩個(gè)觀點(diǎn)都應(yīng)該得到重視。
反省
  • 好的團(tuán)隊(duì)會(huì)思考如何工作和為什么工作。
  • 分析為什么成功或失敗。
  • 不會(huì)試圖掩藏錯(cuò)誤,而是暴露它們并從中學(xué)習(xí)
  • 重點(diǎn):反省需緊跟行動(dòng),學(xué)習(xí)是反省的行為
  • XP的實(shí)踐傾向于活動(dòng)的連續(xù)流。
  • 建議通過(guò)頻繁地部署較小的增量來(lái)改善延遲。
  • 持續(xù)交付,形成流。
機(jī)遇
  • 隨時(shí)隨地都有機(jī)遇。
  • 學(xué)會(huì)把問(wèn)題看作改變的機(jī)遇。
  • 僥幸的態(tài)度會(huì)導(dǎo)致僅僅解決表面的問(wèn)題而蒙混過(guò)關(guān)。
冗余
  • 表示跟質(zhì)量相關(guān)的測(cè)試,不能省去。
失敗
  • 不要討論萬(wàn)一失敗了怎么辦。
  • 停止無(wú)休止的討論,盡快用實(shí)踐驗(yàn)證問(wèn)題。
  • 有時(shí)當(dāng)你不知道要怎么做的時(shí)候,冒一點(diǎn)風(fēng)險(xiǎn)失敗可能是通向成功的最短最穩(wěn)妥的道路。
質(zhì)量
  • 磨刀不誤砍柴工
  • 通過(guò)犧牲質(zhì)量來(lái)控制的手段是沒有效率的。質(zhì)量不是一個(gè)控制變量。項(xiàng)目不會(huì)因?yàn)榻邮艿唾|(zhì)量而加快進(jìn)度,也不會(huì)因?yàn)橐蟾哔|(zhì)量而使進(jìn)度減慢。要求高質(zhì)量通常導(dǎo)致更快的交付,而降低質(zhì)量標(biāo)準(zhǔn)通常會(huì)導(dǎo)致更晚的不可預(yù)見的交付。
  • 問(wèn)題在于我們?nèi)绻玫教岣哔|(zhì)量的能力。
  • 人們需要做令他們感到自豪的工作。
嬰兒步
  • 人們適應(yīng)變化的速度是有限的。
  • 嬰兒步代表持續(xù)快節(jié)奏的小步前進(jìn)。
  • 對(duì)于失敗而言,小步前進(jìn)的代價(jià)要小的多。
接受責(zé)任
  • 責(zé)任和權(quán)利需要并行,兩者錯(cuò)位會(huì)扭曲團(tuán)隊(duì)的溝通。
  • 當(dāng)一個(gè)過(guò)程專家告訴我該怎么樣工作,卻不承擔(dān)這些工作及其后果時(shí),權(quán)利和責(zé)任就錯(cuò)位了。我倆都無(wú)法從一個(gè)理智的角度出發(fā)來(lái)看到或使用哪些幫助我們改進(jìn)的反饋。
  • 錯(cuò)位還要付出情緒方面的成本。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 傳統(tǒng)軟件工程方法的文檔輛過(guò)重??于是出現(xiàn)了 ?? 敏捷開發(fā) ?? “輕量級(jí)”方法的軟件開發(fā)方法??XP是敏捷開發(fā)的...
    Crumvey閱讀 1,440評(píng)論 0 2
  • 在軟件項(xiàng)目中,過(guò)程與技術(shù)對(duì)項(xiàng)目結(jié)果只有次要影響,首要影響是人。如果想要項(xiàng)目取得成功,我們就必須組建起具有合作精神的...
    話癆張閱讀 1,467評(píng)論 1 2
  • 不管我一生中取得了多大的成功,其主要原因都不是我知道多少事情,而是我知道在無(wú)知的情況下自己應(yīng)該怎么做。我一生中學(xué)到...
    爾酥閱讀 5,249評(píng)論 0 5
  • 2001 年 2 月,在美國(guó)的猶他州,17 位“無(wú)政府主義者”共同發(fā)表了《敏捷軟件開發(fā)言》,在宣言中指出: 盡早地...
    ivan_cloud閱讀 1,487評(píng)論 0 0
  • 昨天王者榮耀冠軍杯落下帷幕,estarPro4:2打敗rw俠,雖然這是意料之中的,但比賽中也有一些事讓我意想不到。...
    愁未消閱讀 188評(píng)論 0 1

友情鏈接更多精彩內(nèi)容