Artikulo

Ano ang extreme programming (XP) ?, sa anong mga halaga, prinsipyo at kasanayan ito batay

Pamilyar ka sa programming, ngunit medyo misteryo pa rin sa iyo ang Extreme Programming (XP for short).

Huwag hayaang masiraan ka ng pangalan, nanganganib kang mawalan ng kapaki-pakinabang na impormasyon.

Sa artikulong ito, sasakupin namin ang lahat ng kailangan mong malaman tungkol sa Extreme Programming para magamit mo ito sa iyong kalamangan.

Ano ang extreme programming (XP)?

Ang extreme programming ay isang software development methodology na bahagi ng kung ano ang sama-samang kilala bilang agile methodologies. Binuo ang XP sa mga halaga, prinsipyo at kasanayan at ang layunin nito ay paganahin ang mga maliliit at katamtamang laki ng mga koponan na makagawa ng mataas na kalidad na software at umangkop sa patuloy na nagbabago at nagbabagong mga kinakailangan.

Ang pinagkaiba ng XP sa iba pang maliksi na pamamaraan ay binibigyang-diin ng XP ang mga teknikal na aspeto ng pagbuo ng software. Ang matinding programming ay tumpak tungkol sa kung paano gumagana ang mga inhinyero dahil ang pagsunod sa mga kasanayan sa engineering ay nagbibigay-daan sa mga koponan na maghatid ng mataas na kalidad na code sa isang napapanatiling bilis.

Ang matinding programming ay, sa madaling sabi, ang mga mabubuting kagawian na dinadala sa sukdulan. Dahil maganda ang pares programming, gawin natin ito palagi. Dahil ang pagsubok nang maaga ay mabuti, sinubukan namin bago pa man maisulat ang code ng produksyon.

Paano gumagana ang matinding programming (XP)?

Ang XP, hindi tulad ng iba pang mga pamamaraan, ay batay sa mga halaga at prinsipyo na mahalaga at nauugnay, sa mga tuntunin ng mga kasanayan sa engineering.

Ang mga halaga ay nagbibigay ng layunin sa mga koponan. Gumaganap sila bilang isang "north star" upang gabayan ang iyong mga desisyon sa isang mataas na antas. Gayunpaman, ang mga halaga ay abstract at masyadong malabo para sa tiyak na gabay. Halimbawa: Ang pagsasabi na pinahahalagahan mo ang komunikasyon ay maaaring humantong sa maraming iba't ibang mga resulta.

Ang mga kasanayan ay, sa isang kahulugan, ang kabaligtaran ng mga halaga. Sila ay konkreto at down to earth, defipagtatakda ng mga detalye kung ano ang gagawin. Tinutulungan ng mga kasanayan ang mga koponan na mapanagutan ang kanilang mga sarili para sa mga halaga. Halimbawa, ang pagsasagawa ng mga workspace ng impormasyon ay nagtataguyod ng transparent at simpleng komunikasyon.

Ang mga prinsipyo ay mga alituntuning tukoy sa domain na tumutulay sa agwat sa pagitan ng mga kasanayan at halaga.

Ang Mga Halaga ng Extreme Programming XP

Mga halaga ng XP: komunikasyon, pagiging simple, feedback, tapang at paggalang. Tingnan natin ang bawat isa sa kanila nang mas detalyado.

Mga Halaga at Prinsipyo ng Extreme Programming

Pagbalangkas BlogInnovazione.ito ng imahe alexsoft.com

Comunicazione: Ang kakulangan sa komunikasyon ay pumipigil sa pagdaloy ng kaalaman sa loob ng isang pangkat. Kadalasan, kapag may problema, may nakakaalam na kung paano ito ayusin. Ngunit ang kakulangan ng komunikasyon ay pumipigil sa kanila na malaman ang tungkol sa problema o mag-ambag sa solusyon nito. Kaya, ang problema ay natatapos nang dalawang beses na nalutas, na bumubuo ng basura.

pagiging simple: Sinasabi ng pagiging simple na palagi kang nagsusumikap na gawin ang pinakasimpleng bagay na gumagana. Ito ay madalas na hindi maunawaan at kinuha bilang ang pinakasimpleng bagay, panahon, hindi pinapansin ang "na gumagana" na bahagi.

Mahalaga rin na tandaan na ang pagiging simple ay lubos na ayon sa konteksto. Ano ang simple para sa isang koponan ay kumplikado para sa isa pa at ganap na nakasalalay sa mga kasanayan, karanasan at kaalaman ng bawat koponan.

feedback: Ang feedback sa mas tradisyonal, cascading software development methodologies ay kadalasang "masyadong maliit, huli na".

Gayunpaman, tinatanggap ng XP ang pagbabago at ang mga XP team ay nagsusumikap para sa napapanahon at palagiang feedback. Kung kailangan ang pagwawasto ng kurso, gustong malaman ng mga XPer sa lalong madaling panahon.

Ikot ng matinding programming

Pagbalangkas BlogInnovazione.ito ng imahe alexsoft.com

Ang feedback ay dumating sa maraming hugis at sukat. Kapag nakipagsosyo ka sa programming, ang mga komento mula sa iyong kasamahan ay mahalagang feedback. Gayon din ang mga opinyon ng ibang miyembro ng team sa isang ideya, kasama ang customer na, sa isip, ay miyembro ng team.

Ang mga pagsubok ay isa pang mapagkukunan ng mahalagang feedback na higit pa sa mga resulta ng pagsubok. Madali man o mahirap ang pagsulat ng mga pagsusulit, ganoon din ang feedback. Kung nagkakaproblema ka sa pagsulat ng mga pagsusulit, malamang na masyadong kumplikado ang iyong proyekto. Makinig sa feedback at i-streamline ang iyong disenyo.

Ang isang bagay na mukhang magandang ideya ay maaaring hindi gumana nang maayos sa pagsasanay. Samakatuwid, ang tapos na code ay isa ring pinagmumulan ng feedback, tulad ng isang ipinamahagi na produkto.

Panghuli, tandaan na napakaraming feedback. Kung ang isang koponan ay bubuo ng mas maraming feedback kaysa sa maaari nitong hawakan, ang mahalagang feedback ay maaaring mawala sa radar. Kaya mahalaga na pabagalin at alamin kung ano ang sanhi ng labis na feedback at ayusin ito.

Lakas ng loob: Kent Beck defilumalabas ang katapangan bilang "epektibong pagkilos sa harap ng takot". Bilang isang software engineer, marami kang dapat ikatakot at samakatuwid ay maraming pagkakataon na magpakita ng lakas ng loob.

Kailangan ng lakas ng loob upang sabihin ang totoo, lalo na ang mga hindi kasiya-siya, tulad ng matapat na pagtatantya. Ang pagbibigay at pagtanggap ng feedback ay nangangailangan din ng lakas ng loob. At kailangan ng lakas ng loob upang maiwasan ang mahulog sa sunk cost fallacy at itapon ang isang nabigong solusyon na nakatanggap ng malaking pamumuhunan.

Paggalang: Ang pangunahing saligan ng XP ay ang lahat ay nagmamalasakit sa kanilang trabaho. Walang halaga ng teknikal na kahusayan ang makakapagligtas sa isang proyekto kung walang pangangalaga at paggalang.

Ang bawat tao ay karapat-dapat sa dignidad at paggalang, at kabilang dito, siyempre, ang mga taong kasangkot sa isang proyekto sa pagbuo ng software. Kapag ikaw at ang iyong mga miyembro ng koponan ay gumagalang at nagmamalasakit sa isa't isa, ang kliyente, ang proyekto at ang mga susunod na gumagamit nito, lahat ay makikinabang

Ang Mga Prinsipyo ng Extreme Programming XP

Ang mga prinsipyo ay nagbibigay ng mas tiyak na patnubay kaysa sa mga halaga. Ang mga ito ay mga patnubay na nagbibigay-liwanag sa mga halaga at ginagawa itong mas malinaw at hindi gaanong malabo.

Pagbalangkas BlogInnovazione.ito ng imahe alexsoft.com

Halimbawa, batay sa halaga ng lakas ng loob lamang, maaari mong isipin na ipinapayong gumawa ng malaking pagbabago sa iyong iskedyul kaagad. Gayunpaman, ang prinsipyo ng Baby Steps ay nagsasabi sa amin na ang malalaking pagbabago ay mapanganib. Kaya, mas gusto ang mga maliliit sa halip.

Sangkatauhan: Gumagawa ang mga tao ng software para sa mga tao, isang katotohanang madalas hindi napapansin. Ngunit ang pagsasaalang-alang sa mga pangunahing pangangailangan, kalakasan at kahinaan ng tao ay lumilikha ng mga produkto na gustong gamitin ng mga tao. At isang kapaligiran sa trabaho na nag-aalok sa iyo ng pagkakataon para sa katuparan at paglago, ang pakiramdam ng pagiging kabilang at pangunahing seguridad, ay isang lugar kung saan mas madaling isaalang-alang mo ang mga pangangailangan ng iba.

Kabuhayan: Sa XP, ang mga koponan ay palaging binibigyang pansin ang mga pang-ekonomiyang katotohanan ng pagbuo ng software, patuloy na sinusuri ang mga panganib sa ekonomiya at mga pangangailangan ng proyekto.

Halimbawa, magpapatupad sila ng mga kwento ng user batay sa halaga ng kanilang negosyo sa halip na mga teknikal na alalahanin.

Mutual benefit: Pagkatapos ng XP, iniiwasan mo ang mga solusyon na nakikinabang sa isang partido sa kapinsalaan ng isa pa. Halimbawa, ang mga pinahabang spec ay maaaring makatulong sa ibang tao na maunawaan ito, ngunit nakakaabala ito sa iyo mula sa pagpapatupad nito at naantala ito para sa iyong mga user.

Ang isang solusyon na kapwa kapaki-pakinabang ay ang paggamit ng mga awtomatikong pagsusuri sa pagtanggap. Makakuha ng agarang feedback sa iyong pagpapatupad, ang iyong mga kapantay ay nakakakuha ng mga tumpak na detalye sa code, at ang mga user ay unang nakakuha ng kanilang mga feature. Dagdag pa, lahat kayo ay magkakaroon ng safety net laban sa mga regression.

Benepisyo (Mutual Benefit): Kung gumagana ang isang ibinigay na solusyon sa isang antas, maaari rin itong gumana sa mas mataas o mas mababang antas. Halimbawa, ang pagkuha ng maaga at patuloy na feedback ay nakataya sa iba't ibang antas sa XP.

  • sa antas ng developer, nakakakuha ang mga programmer ng feedback mula sa kanilang trabaho gamit ang test-first approach;
  • sa antas ng koponan, ang tuluy-tuloy na integration pipeline ay nagsasama, bumubuo, at sumusubok ng code nang maraming beses sa isang araw;
  • Sa organisasyon, ang lingguhan at quarterly cycle ay nagbibigay-daan sa mga team na makakuha ng feedback at pagbutihin ang kanilang trabaho kung kinakailangan.

Pagpapabuti: Ayon sa prinsipyo ng pagpapabuti, ang mga koponan ay hindi naglalayong maging perpekto sa isang paunang pagpapatupad, ngunit para sa isang pagpapatupad na sapat na mabuti, at pagkatapos ay patuloy na matutunan at mapabuti ito sa pamamagitan ng feedback mula sa mga tunay na user.

Pagkakaiba-iba: Ikaw at ang iyong mga kasamahan ay nakikinabang mula sa pagkakaiba-iba ng mga pananaw, kasanayan at saloobin. Ang ganitong pagkakaiba-iba ay madalas na humahantong sa salungatan, ngunit iyan ay okay.

Ang salungatan at hindi pagkakasundo ay mga pagkakataon para sa mas magagandang ideya na lumitaw kapag ang lahat ay naglalaro ng mga halaga ng katapangan at paggalang. Lakas ng loob na magpahayag ng magkasalungat na pananaw, paggalang sa pagpapahayag ng mga ito sa paraang sibil at may empatiya. At lahat ng ito ay isang epektibong pagsasanay sa komunikasyon.

panganganinag: Ang mga mahuhusay na koponan ay sumasalamin sa kanilang trabaho at sinusuri kung paano maging mas mahusay. Nag-aalok ang XP ng maraming pagkakataon para dito. Hindi lamang sa lingguhan at quarterly cycle nito, ngunit sa bawat pagsasanay na itinataguyod nito.

Ang mga damdamin ay mahalagang isaalang-alang bilang karagdagan sa lohikal na pagsusuri. Maaaring ipaalam sa iyo ng iyong bituka bago ka makapagpaliwanag ng anumang bagay. At para makausap niya ang mga hindi teknikal na tao, maaari silang magtanong ng mga tanong na nagbubukas ng ganap na mga bagong posibilidad.

Daloy: Ang mga tradisyonal na pamamaraan ng pagbuo ng software ay may natatanging mga yugto, na tumatagal ng mahabang panahon at may maliit na pagkakataon para sa feedback at pagwawasto ng kurso. Sa halip, ang software development sa XP ay nangyayari sa mga aktibidad na patuloy na nagaganap, sa isang pare-parehong "stream" ng halaga.

Pagkakataon: Ang mga problema ay hindi maiiwasan sa pagbuo ng software. Gayunpaman, ang bawat problema ay isang pagkakataon para sa pagpapabuti. Matutong tingnan ang mga ito sa ganitong paraan at mas malamang na makabuo ka ng mga malikhain at solusyong nakatuon sa layunin na nagsisilbi ring pigilan ang mga ito na mangyari muli.

Redundancy: Sinasabi ng prinsipyo ng redundancy na kung kritikal ang isang partikular na problema, dapat kang gumamit ng maraming taktika upang labanan ito.

Kunin ang mga bahid. Walang iisang taktika na makakapigil sa lahat ng mga depekto sa pagtakas sa produksyon.

Kaya't ang solusyon ng XP ay mag-stack ng isang hanay ng mga hakbang sa kalidad. Ipares ang programming, pagsubok, tuluy-tuloy na pagsasama. Ang bawat isa ay isang solong linya ng depensa, magkasama ang isang halos hindi malalampasan pader.

Pagkabigo: Ang kabiguan ay hindi isang pag-aaksaya kapag ito ay isinasalin sa kaalaman. Ang pagkilos at mabilis na pag-aaral kung ano ang hindi gumagana ay mas produktibo kaysa sa hindi pagkilos na dulot ng pag-aalinlangan kapag pumipili sa maraming opsyon.

qualità: Madalas na iniisip ng mga tao na may dilemma sa pagitan ng kalidad at bilis.

Ito ay kabaligtaran: ang pagtulak na pahusayin ang kalidad ay ang nagpapabilis sa iyo.

newsletter ng pagbabago
Huwag palampasin ang pinakamahalagang balita sa pagbabago. Mag-sign up upang matanggap ang mga ito sa pamamagitan ng email.

Halimbawa, ang refactoring—pagbabago sa istruktura ng code nang hindi binabago ang pag-uugali nito—ay isang kasanayan na ginagawang mas madaling maunawaan at baguhin ang code. Bilang resulta, mas malamang na magpakilala ka ng mga depekto sa code, na nagbibigay-daan sa iyong makapaghatid muna ng higit na halaga sa pamamagitan ng hindi kinakailangang ayusin ang mga bug.

Maliit na hakbang: Mapanganib ang malalaking pagbabago. Pinapababa ng XP ang panganib na iyon sa pamamagitan ng paggawa ng mga pagbabago sa maliliit na hakbang, sa bawat antas.

Sumulat ang mga programmer ng code sa maliliit na hakbang gamit ang pag-unlad na hinimok ng pagsubok. Isinasama nila ang kanilang code sa mainline nang maraming beses sa isang araw, sa halip na bawat ilang linggo o kahit buwan. Ang proyekto mismo ay nagaganap sa mga maikling cycle sa halip na mga pangmatagalang yugto.

Tinanggap ang responsibilidad: Sa XP, dapat tanggapin ang responsibilidad, hindi kailanman italaga.

Ang pananagutan ay dapat na kasama ng awtoridad na gumawa ng mga desisyon tungkol sa kung ano ang iyong pananagutan. Ang kabaligtaran ay totoo rin. Hindi mo gusto ang mga tao na gumawa ng mga desisyon kung hindi nila kailangang mabuhay sa kanilang mga kahihinatnan.

Pagkakatulad at Pagkakaiba sa tradisyonal at hindi maliksi na pamamaraan

Ang matinding programming, bilang isang maliksi na pamamaraan, ay maaaring tanggapin at simulan itong gamitin nang hindi sumusunod sa mahigpit na mga plano. Ito ay isang umuulit na disenyo sa halip na isang malaking paunang proyekto.

Malaki ang pagkakaiba ng XP sa mga tradisyunal na pamamaraan, i.e. cascading, pag-iwas sa mga pangmatagalang yugto.

  • Sa halip na isang yugto ng pagpaplano, sa XP ay nagpaplano ka sa simula ng bawat yugto ng pag-unlad na karaniwang isang linggo lamang ang haba.
  • Sa halip na subukan ang mga episode, subukan ang iyong application sa lalong madaling panahon: iyon ay, bago ipatupad ang aktwal na code.
  • Sa halip na ilunsad ang mga feature nang hiwalay sa mahabang yugto ng pagpapatupad at pagkatapos ay nagpupumilit na pagsamahin ang iyong mga kontribusyon sa pangunahing linya, nagtatrabaho ka sa maliliit na bahagi at isinasama ang mga ito nang madalas hangga't maaari.

Paano naiiba ang XP sa iba pang maliksi na pamamaraan?

Ang matinding programming, ayon sa likas na katangian nito, ay may maraming pagkakatulad sa iba pang maliksi na pamamaraan ngunit natatangi rin sa kanila.

Karamihan sa iba pang mga pamamaraan ng pag-unlad ay hindi gaanong sinasabi, kung mayroon man, tungkol sa kung paano gawin ang trabaho. Ang XP, sa kabilang banda, ay masyadong opinionated pagdating dito at binibigyang-diin ang mga kasanayan sa software engineering.

Extreme Programming laban sa Scrum

Ang Scrum ay isang balangkas upang matulungan ang mga koponan na bumuo ng mga kumplikadong proyekto sa isang adaptive na paraan. Hindi idinidikta ng Scrum kung paano ginagawa ng mga developer ang kanilang trabaho. Ang XP, tulad ng nabanggit, ay nagbibigay ng maraming diin sa mahusay na mga kasanayan sa programming.

Scrum framework

Pagbalangkas BlogInnovazione.tl Larawan mga solusyon sa net

Gayundin, ang XP ay malinaw naman tungkol sa programming. Ang scrum, sa kabilang banda, ay maaaring ilapat sa anumang proyekto na nakikinabang mula sa isang umuulit na diskarte.

Tumatanggap ang XP ng mga pagbabago sa mga bahagi nito. Ang mga koponan ay binibigyang kapangyarihan at kahit na hinihikayat na baguhin ang mga kasanayan batay sa kanilang mga partikular na pangangailangan. Ang Scrum Guide, sa kabilang banda, ay naninindigan na "Bagaman bahagi lamang ng Scrum ang maaaring ipatupad, ang resulta ay hindi Scrum".

Gayundin, ang Scrum ay isang balangkas na kailangang dagdagan ng mga pamamaraan at kasanayan upang magawa ang trabaho.

Nangangahulugan ito na ang pagtatrabaho sa matinding programming at Scrum ay lubos na inirerekomenda.

Mga tungkulin at responsibilidad

Ayon kay Kent Beck, ang isang mature na XP team ay hindi dapat magtalaga ng mga mahigpit na tungkulin, ngunit kilalanin na ang mga tungkulin ay maaaring maging kapaki-pakinabang para sa mga bagong koponan hanggang sa magsimula silang bumagal o gawing mahirap ang pakikipagtulungan.

Tingnan natin ang ilang pangunahing tungkulin:

  • Kliente: Sa isip, ang customer ay dapat na nasa site upang sagutin ang mga tanong, unahin ang mga kinakailangan ng user, o tumulong sa pagsubok sa pagtanggap. Kapag hindi ito posible, ang tungkuling ito ay maaaring punan ng isang kinatawan ng customer.
  • Mga programmer: Sa isang XP team, tinatantya ng mga programmer ang pagsisikap na kinakailangan upang makumpleto ang mga gawain, magsulat ng mga awtomatikong pagsubok, at magpatupad ng mga kwento.
  • Coach: hindi kinakailangan na magkaroon ng isang coach at posible na maabot ang layunin nang walang isa. Gayunpaman, ang pagkakaroon ng isang taong may karanasan sa XP, upang mag-coach ng isang koponan ay maaaring matiyak na ang mga miyembro ng koponan ay sumusunod sa mga kasanayan, gawin silang mga gawi, at hindi bumalik sa mga dating paraan.
  • Mangangaso- Sinusubaybayan ng isang tracker ang mga sukatan ng pag-unlad ng koponan at nakikipag-usap sa bawat miyembro ng koponan upang matukoy ang mga isyu at makahanap ng mga solusyon. Kinakalkula ng tracker ang mga sukatan na nagsasaad kung gaano kahusay ang ginagawa ng team, gaya ng bilis at burndown na mga graph, o ang team ay gumagamit ng digital scrum o kanban board na awtomatikong kinakalkula ang mga ito.

Mga pamamaraan at pamamaraan

Ito ang mga gawi na pinagtibay sa XP. Nahahati sila sa tatlong pangunahing grupo: software engineering, lugar ng trabaho at pamamahala ng proyekto.

Software engineering

Ipares ang programming: Sa XP, sumulat ka ng code nang pares na nakaupo sa isang makina. Ikaw at ang iyong mag-asawa ay nag-uusap habang sinusuri, ipinapatupad, at sinusubok mo ang feature na iyong ginagawa. Ang pair programming ay lalong mahusay sa paggawa ng code na may mas kaunting mga bug habang nakakaengganyo, masaya, at nakakapagod.

Sampung minutong limitasyon: Kinakailangan Nagbibigay-daan sa 10 minuto upang buuin ang buong proyekto, kabilang ang pagpapatakbo ng lahat ng mga awtomatikong pagsubok, sa maximum na sampung minuto. Ang limitasyong ito ay upang mapanatiling maayos at epektibo ang pagsubok.

Mga pagsubok bago ang programming: ipatupad ang mga feature gamit ang test-first approach, na tinatawag ding test-driven development (TDD). Ang TDD ay binubuo ng pagbuo gamit ang isang simpleng umuulit na pamamaraan:

  • magsulat ng code pagkatapos mabigo ang isang pagsubok;
  • pagkatapos, isulat ang code ng produksyon upang makapasa sa pagsubok;
  • kung kinakailangan, i-refactor ang iyong production code para maging mas malinis at mas madaling maunawaan.

Ang TDD ay nagdadala ng maraming benepisyo.

Una, feedback. Kung mahirap magsulat ng isang pagsubok, ang disenyo na iyong hinahanap o na iyong minana ay malamang na masyadong kumplikado at kailangan mong pasimplehin ito.

Pangalawa, binibigyang-daan ng TDD ang mga programmer na magtiwala sa code na kanilang isinusulat at lumikha ng magandang looping ritmo kung saan ang susunod na hakbang ay palaging malinaw.

Panghuli ngunit hindi bababa sa, ang paggamit ng TDD mula sa simula ay nagsisiguro ng 100% na saklaw ng code. Ang test suite pagkatapos ay tunay na nagiging isang safety net para sa mga pagbabago sa hinaharap, na naghihikayat sa refactoring ng code at paglikha ng isang magandang bilog ng kalidad.

Incremental na disenyo: Ang pagsasagawa ng incremental na disenyo ay nangangahulugan na kailangan mong mamuhunan sa iyong disenyo ng application araw-araw, naghahanap ng mga pagkakataon upang alisin ang pagdoble at gumawa ng maliliit na pagpapabuti upang makamit ang pinakamahusay na posibleng disenyo para sa kung ano ang kailangan ng iyong system ngayon.

Tuloy-tuloy na integration: Sa XP, isinasama mo ang iyong trabaho sa pangunahing shared repository nang ilang beses sa isang araw, na nagti-trigger ng awtomatikong pagbuo ng buong system. Ang pagsasama nang maaga at nang madalas hangga't maaari ay kapansin-pansing binabawasan ang halaga ng pagsasama habang ginagawa nitong mas malamang na mangyari ang mga pagsasanib at lohikal na salungatan. Inilalantad din nito ang mga isyu sa kapaligiran at pagkagumon.

Nakabahaging code (sama-samang pagmamay-ari): Nagsusulong ang XP ng nakabahaging code, o sama-samang pagmamay-ari: ang bawat developer ay responsable para sa lahat ng code. Hinihikayat nito ang pagpapalitan ng impormasyon, binabawasan ang kadahilanan ng bus ng koponan at pinatataas ang pangkalahatang kalidad ng bawat module kung isasaalang-alang natin ang prinsipyo ng pagkakaiba-iba.

Single CodeBase: Ang solong codebase ay kilala rin bilang “trunk-based development”. Nangangahulugan ito na mayroon lamang isang mapagkukunan ng katotohanan. Kaya sa halip na mag-develop nang hiwalay sa mahabang panahon, pagsamahin ang iyong mga kontribusyon sa isang stream nang maaga at madalas. Nakakatulong ang mga feature flag na limitahan ang iyong paggamit ng mga feature hanggang sa makumpleto ang mga ito.

Araw-araw na pamamahagi: deployment sa produksyon ng hindi bababa sa isang beses sa isang araw ay isang lohikal na kahihinatnan ng patuloy na pagsasama:. Sa katunayan, ngayon, maraming mga koponan ang lumayo pa at nagsasagawa ng tuluy-tuloy na pagpapatupad. Ibig sabihin, sa tuwing may sumali sa mainline, ang application ay idini-deploy sa produksyon.

Code at mga pagsubok: Ang kasanayang ito ay nangangahulugan na ang source code, kabilang ang mga pagsubok, ay ang tanging permanenteng artifact ng isang software project. Ang paggawa ng iba pang mga uri ng artifact, kabilang ang dokumentasyon, ay kadalasang nasasayang dahil hindi ito nakakagawa ng tunay na halaga para sa customer.

Kung kailangan mo ng iba pang mga artifact o dokumento, magsikap na buuin ang mga ito mula sa production code at mga pagsubok.

Pagsusuri ng sanhi ng ugat: Sa tuwing may depekto na napupunta sa produksyon, huwag lang itama ang depekto. Tiyaking alam mo kung ano ang sanhi nito sa unang lugar, kung bakit nabigo ka at ang iyong mga kasamahan sa koponan na pigilan ang skid. Pagkatapos, gumawa ng mga hakbang upang matiyak na hindi na ito mauulit.

kapaligiran sa trabaho

Sabay upo: Sa XP, mas gusto ng mga team na magtulungan sa isang open space. Ang pagsasanay na ito ay nagtataguyod ng komunikasyon at isang pakiramdam ng pagiging kabilang sa isang pangkat.

Ang buong team: Ang lahat ng kailangan para sa tagumpay ng proyekto ay bahagi ng XP team. Ito ay lubos na kontekstwal - iba para sa bawat koponan - at dynamic, maaari itong magbago sa loob ng isang koponan.

Mga workspace ng impormasyon: Ginagamit ng isang workspace ng impormasyon ang pisikal na espasyo ng koponan upang magpakita ng impormasyon na nagpapahintulot sa sinuman na malaman, sa isang sulyap, ang pag-usad ng proyekto. Maaaring mag-iba kung paano ito ginagawa, mula sa mga pisikal na tala at graph hanggang sa mga screenshot na nagpapakita ng mga Kanban board at dashboard mula sa software sa pamamahala ng proyekto.

Masiglang gawain: Sa XP, nagtatrabaho ka lang hangga't maaari kang gumawa ng masiglang trabaho. Ang mga oras ng pagtatrabaho ay dapat na limitado sa 40 bawat linggo, maximum.

Pamamahala ng proyekto

Analisi- Sumulat ng mga kinakailangan ng user sa isang format na kilala bilang pagsusuri ng user. Ang pagsusuri ng user ay may maikli, mapaglarawang pangalan at isang maikling paglalarawan din ng kung ano ang kailangang ipatupad.

Walang ingat: Kapag nagpaplano ng isang cycle, magdagdag ng mga menor de edad na gawain na maaaring iwanan ng pangkat kung kinakailangan. Maaaring palaging magdagdag ng higit pang mga kuwento kung ang koponan ay naghahatid ng masyadong maraming.

Mga cycle (buwan-buwan at lingguhan): Ang pag-unlad sa XP ay nangyayari sa dalawang pangunahing cycle: ang lingguhang cycle at ang buwanang cycle.

Mga pagpupulong, cycle, naka-iskedyul na paglabas: Ang pag-unlad sa XP ay gumagana sa dalawang pangunahing cycle: ang lingguhang cycle at ang quarterly cycle. Sa una, inirekomenda ni Kent Beck ang isang dalawang linggong cycle, ngunit binago iyon sa ikalawang edisyon ng kanyang aklat.

Lingguhang cycle: ang lingguhang cycle ay ang "pulso" ng isang proyekto ng XP. Magsisimula ang cycle sa isang pulong kung saan pipiliin ng kliyente kung aling mga kuwento ang gusto niyang gawin sa loob ng linggo. Bukod pa rito, sinusuri ng team ang kanilang trabaho, kabilang ang pag-usad noong nakaraang linggo, at nag-iisip ng mga paraan upang mapabuti ang kanilang proseso.

Buwanang cycle: Bawat buwan, ang koponan ay sumasalamin at kinikilala ang mga pagkakataon sa pagpapabuti sa kanilang proseso. Pumipili ang kliyente ng isa o higit pang mga tema para sa buwang iyon, kasama ang mga pagsusuri sa mga temang ito.

Paano magsimulang magtrabaho sa matinding programming?
Ang mga teknikal na kasanayan at mga gawi sa XP ay maaaring mahirap matutunan. Ang ilan sa mga kasanayan ay maaaring tila banyaga sa mga programmer na hindi ginagamit sa kanila.

Ercole Palmeri

newsletter ng pagbabago
Huwag palampasin ang pinakamahalagang balita sa pagbabago. Mag-sign up upang matanggap ang mga ito sa pamamagitan ng email.

Kamakailang Mga Artikulo

Mga Online na Pagbabayad: Narito Kung Paano Ka Binabayaran ng Mga Serbisyo ng Streaming Magpakailanman

Milyun-milyong tao ang nagbabayad para sa mga serbisyo ng streaming, na nagbabayad ng buwanang bayad sa subscription. Karaniwang opinyon na ikaw ay…

Abril 29 2024

Itinatampok ng Veeam ang pinakakomprehensibong suporta para sa ransomware, mula sa proteksyon hanggang sa pagtugon at pagbawi

Ang Coveware ng Veeam ay patuloy na magbibigay ng mga serbisyo sa pagtugon sa insidente ng cyber extortion. Mag-aalok ang Coveware ng mga kakayahan sa forensics at remediation...

Abril 23 2024

Green and Digital Revolution: Kung Paano Binabago ng Predictive Maintenance ang Industriya ng Langis at Gas

Binabago ng predictive maintenance ang sektor ng langis at gas, na may makabago at proactive na diskarte sa pamamahala ng halaman.…

Abril 22 2024

Itinaas ng UK antitrust regulator ang BigTech alarm sa GenAI

Ang UK CMA ay naglabas ng babala tungkol sa gawi ng Big Tech sa merkado ng artificial intelligence. doon…

Abril 18 2024