Java互聯(lián)網(wǎng)架構(gòu)-深入理解敏捷開發(fā)(java互聯(lián)網(wǎng)架構(gòu)是什么)
概述
敏捷式開發(fā)(Agile Development)對開發(fā)人員來說,是個(gè)非常熟悉的名詞,相比于傳統(tǒng)的瀑布式流程,短平快的敏捷團(tuán)隊(duì)的協(xié)作方法可能更加高效。我們公司從去年的7月份開始,也慢慢地走向了敏捷開發(fā)的轉(zhuǎn)型。因此,組織架構(gòu)也做了相應(yīng)的調(diào)整,從以前的各項(xiàng)技能團(tuán)隊(duì)變成了跨職能團(tuán)隊(duì),也就是說一個(gè)團(tuán)隊(duì)中含有各種的角色:產(chǎn)品,設(shè)計(jì)師,開發(fā),測試…這意味著每一個(gè)團(tuán)隊(duì)都是一條產(chǎn)品功能線,需要和各種職能的人進(jìn)行交流溝通。
一、什么是敏捷開發(fā)
敏捷開發(fā)是針對傳統(tǒng)的瀑布開發(fā)模式的弊端而產(chǎn)生的一種新的開發(fā)模式,目標(biāo)是提高開發(fā)效率和響應(yīng)能力。
除了原則和實(shí)踐,模式也是很重要的,多研究模式及其應(yīng)用可以使你更深層次的理解敏捷開發(fā)。
敏捷開發(fā)現(xiàn)已成為絕大多數(shù)IT企業(yè)采用的項(xiàng)目管理方法。
IT企業(yè)主要采用的項(xiàng)目管理方法學(xué)
敏捷開發(fā)以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行軟件開發(fā)。
敏捷精神(The spirit of agile):透明、溝通、協(xié)作。
瀑布流模式
簡單說說另一種常見模式:瀑布流模式。它是以文檔為驅(qū)動,在整個(gè)開發(fā)過程中,開發(fā)人員根據(jù)需求文檔進(jìn)行開發(fā),一切以文檔為依據(jù)。
而敏捷開發(fā)則是一種以人為核心、迭代、循序漸進(jìn)的開發(fā)方法。它不是一門技術(shù),它是一種開發(fā)方法,也就是一種軟件開發(fā)的流程,它會指導(dǎo)我們用規(guī)定的環(huán)節(jié)去一步一步完成項(xiàng)目的開發(fā);而這種開發(fā)方式的主要驅(qū)動核心是人,注重的是人與人之間,面對面的交流,它只寫有必要的文檔,或盡量少寫文檔,采用的是迭代式開發(fā),適用于以下情況:
-
適用于軟件,因?yàn)檐浖擒浀?,可以改。要是硬件,改起來就沒那么方便了;
適用于客戶不知道自己要啥的情況,這樣的客戶占絕大多數(shù)。因?yàn)榭蛻舨恢酪叮阅阈枰粩鄮涂蛻襞靼姿降紫胍?。換句話說,你需要和客戶溝通,合作,傾聽反饋,持續(xù)改進(jìn);
適用于競爭激烈的市場,這樣的情況下,趕在競爭對手前交付一個(gè)不完美但至少能用的產(chǎn)品非常重要;
適用于快速變化的市場,你在埋頭造一輛汽車的時(shí)候,客戶已經(jīng)想開飛機(jī)滿天飛了,這就需要你能一步步的把汽車改成飛機(jī),還能按時(shí)交付;
適用于在一個(gè)地方辦公的小團(tuán)隊(duì),一般 10 個(gè)人以內(nèi)。這樣能使敏捷中主要的溝通方式「Face to Face」是可行的。
敏捷開發(fā)的過程與分工
敏捷開發(fā)的過程主要通過產(chǎn)品范圍內(nèi)迭代內(nèi)容和周期的確認(rèn),規(guī)劃合理的迭代范圍,安排各崗位人員分步驟協(xié)同工作,通過開發(fā)過程中的任務(wù)項(xiàng)的快速跟進(jìn)和漸進(jìn)明細(xì)原則,保證資源的平衡和工作效率的最大化。
前期(前1/4時(shí)間)
由產(chǎn)品經(jīng)理驅(qū)動,訂制公司產(chǎn)品戰(zhàn)略,從而進(jìn)行需求的采集與確定,根據(jù)競品分析以及用戶調(diào)研,進(jìn)行產(chǎn)品原型的制作以及產(chǎn)品需求文檔的撰寫,在這個(gè)過程中,需要與項(xiàng)目經(jīng)理進(jìn)行評審,了解產(chǎn)品的開發(fā)難度以及可行性,從而對產(chǎn)品需求以及原型圖進(jìn)行合適地調(diào)整。
中期(1/4時(shí)間)
由 UE 完善產(chǎn)品原型的交互細(xì)節(jié),有關(guān)頁面的跳轉(zhuǎn)等用戶體驗(yàn)做到極致,然后由 UI 設(shè)計(jì)師進(jìn)行界面的設(shè)計(jì)美化,及時(shí)與產(chǎn)品經(jīng)理進(jìn)行溝通,設(shè)計(jì)出與產(chǎn)品經(jīng)理所想要的效果出來,結(jié)合自身的設(shè)計(jì)理念和技術(shù),將界面設(shè)計(jì)得人性化、扁平化。
后期(1/2時(shí)間)
由開發(fā)人員進(jìn)行產(chǎn)品具體的功能設(shè)計(jì)開發(fā),根據(jù)項(xiàng)目進(jìn)度安排時(shí)間,做好工作安排,認(rèn)真查看設(shè)計(jì)圖以及原型圖、產(chǎn)品需求不懂,不清楚的地方及時(shí)與產(chǎn)品經(jīng)理進(jìn)行溝通,以免辛苦做出的功能與產(chǎn)品的意思不符,造成浪費(fèi)時(shí)間精力的后果,產(chǎn)品進(jìn)行開發(fā)完成后,由測試人員根據(jù)測試用例進(jìn)行測試,將出現(xiàn)的問題進(jìn)行反饋,及時(shí)修復(fù)產(chǎn)品的 bug,確保產(chǎn)品在規(guī)定的時(shí)間進(jìn)行上線。
了解了這個(gè)流程,就容易解釋為什么一旦產(chǎn)品出現(xiàn)問題,產(chǎn)品就成為當(dāng)之無愧的背鍋俠,事實(shí)上,這怨不得其他人,好比造房子,產(chǎn)品的工作類似打地基,地基不好,房子會塌,房子塌了怪誰,地基打得不好,當(dāng)然是產(chǎn)品。
所以在工作中產(chǎn)品經(jīng)理特別需要注意以下三個(gè)要點(diǎn):
全程參與
前期的產(chǎn)品戰(zhàn)略以及需求,產(chǎn)品經(jīng)理都是參與其中的。特別是大的產(chǎn)品方向突出的功能點(diǎn),你都必須全局進(jìn)行了解。對公司的戰(zhàn)略方向是否匹配,之后在產(chǎn)品的開發(fā)以及以后產(chǎn)品的迭代是否難度太大;這些問題一定要想清楚,不懂的就問,不斷地進(jìn)行評審深入下去。因?yàn)橐坏┻M(jìn)入開發(fā)階段,突然變更需求,那么這段時(shí)間的精力以及時(shí)間就浪費(fèi)了,這對于公司的損傷是巨大的。
勤寫文檔
一個(gè)人的記憶不可能會記住所有的東西,所以你必須記錄下來,這樣能更好地開展工作,在寫需求文檔的時(shí)候,我們需要要對每個(gè)用詞定義緊摳,少用差不多、不確定等用詞來模糊定義,千萬不要以為需求文檔開發(fā)不看,只看設(shè)計(jì)圖,起碼測試是需要根據(jù)你的需求文檔寫測試用例的,所以需要慎重對待。
做好評審記錄
在評審的過程中,與項(xiàng)目經(jīng)理進(jìn)行評審后,記得做記錄。哪些功能要做,哪些功能不錯;什么時(shí)間開始,什么時(shí)間結(jié)束,這些都做好記錄。
在互聯(lián)網(wǎng)時(shí)代,使用敏捷開發(fā)模式可以讓產(chǎn)品在市場上快速試錯,根據(jù)數(shù)據(jù)的反饋進(jìn)行及時(shí)的戰(zhàn)略調(diào)整,讓產(chǎn)品在市場立于不敗之地,而在這個(gè)模式中,產(chǎn)品經(jīng)理無疑是最重要的一個(gè)角色。最后用敏捷開發(fā)的 slogan 來總結(jié)它的幾個(gè)特點(diǎn)吧:
「個(gè)體與交互」勝過「過程與工具」
「可以工作的軟件」勝過「面面俱到的文擋」
「客戶協(xié)作」勝過「合同談判」
「響應(yīng)變化」勝過「遵循計(jì)劃」
敏捷開發(fā)十二原則
1.我們的最高目標(biāo)是,通過盡早和持續(xù)地交付有價(jià)值的軟件來滿足客戶。
2.歡迎對需求提出變更——即使是在項(xiàng)目開發(fā)后期。要善于利用需求變更,幫助客戶獲得競爭優(yōu)勢。
3.要不斷交付可用的軟件,周期從幾周到幾個(gè)月不等,且越短越好
4.項(xiàng)目過程中,業(yè)務(wù)人員與開發(fā)人員必須在一起工作。
5.要善于激勵項(xiàng)目人員,給他們以所需要的環(huán)境和支持,并相信他們能夠完成任務(wù)。
6.無論是團(tuán)隊(duì)內(nèi)還是團(tuán)隊(duì)間,最有效的溝通方法是面對面的交談。
7.可用的軟件是衡量進(jìn)度的主要指標(biāo)。
8.敏捷過程提倡可持續(xù)的開發(fā)。項(xiàng)目方、開發(fā)人員和用戶應(yīng)該能夠保持恒久穩(wěn)定的進(jìn)展速度。
9.對技術(shù)的精益求精以及對設(shè)計(jì)的不斷完善將提升敏捷性。
10.要做到簡潔,即盡最大可能減少不必要的工作。這是一門藝術(shù)。
11.最佳的架構(gòu)、需求和設(shè)計(jì)出自于自組織的團(tuán)隊(duì)。
12.團(tuán)隊(duì)要定期反省如何能夠做到更有效,并相應(yīng)地調(diào)整團(tuán)隊(duì)的行為。
總結(jié)
以上是對深入理解敏捷開發(fā),分享給大家,希望大家可以了解什么是深入理解敏捷開發(fā)。覺得收獲的話可以點(diǎn)個(gè)關(guān)注收藏轉(zhuǎn)發(fā)一波喔,謝謝大佬們支持。(吹一波,233~~)