Scrum & XP – a https://dzone.com/articles/scrum-and-extreme-programming-xp
Philip Rogers

Follow

aug 30, 2017 – 4 min read

Az, amit már jó ideje bosszantónak találok, az az, hogy az iparágban sokan gyakran használják az olyan kifejezéseket, mint “Scrum, de …” pejoratív értelemben, azt sugallva, hogy a csapatoknak csak a Scrum részét képező kis számú gyakorlatot kellene követniük. A valóság az, hogy a Scrum önmagában nem elég ahhoz, hogy bármely agilis csapat képes legyen ismételten működőképes szoftvert szállítani bármilyen hosszú időn keresztül. Akár tudatában vannak ennek, akár nem, a magukat Scrum-csapatnak nevező csapatok túlnyomó többsége Scrum-XP hibridként vagy Scrum-Kanban-XP hibridként működik, ahol az XP-ből származó technikai gyakorlatok legalább egy részhalmazát alkalmazzák.

Hadd mondjam ki nyíltan, hogy a csak a Scrum gyakorlatokat követő csapatok nem valószínű, hogy hosszú távon sikeresek lesznek, mert az XP technikai gyakorlatok legalább egy részhalmaza elengedhetetlen az agilis szállítási csapat folyamatos sikeréhez.

Megfigyeltem, hogy nem elég sokan értik, mit tartalmaz és mit nem tartalmaz a Scrum, ezért kezdjük ezzel.

Mi a Scrum – menedzsment gyakorlatok összessége

A Scrum az empirikus folyamatirányítás alkalmazása, ami egy díszes megfogalmazása annak, hogy a tapasztalatok alapján kell döntéseket hoznunk, nem pedig valamilyen hipotetikus, a valóságban meg nem alapozott feltételezések alapján.

Egyszerűen fogalmazva, a Scrum menedzsment gyakorlatok egy kis halmazából áll, amelyek célja, hogy segítsenek a csapatoknak hatékonyan együttműködni és iteratív módon munkát végezni (hadd hangsúlyozzam még egyszer – a Scrumban nulla technikai gyakorlat van).

Röviden összefoglalva a Scrum útmutató tartalmát:

  • Létezik egy Scrum csapat, amely fejlesztőkből, a terméktulajdonosból és a Scrum mesterből áll.
  • Vannak Scrum események, amelyek a Sprintből, a Sprinttervezésből, a Daily Scrumból (más néven Daily Standup, XP-ben), a Sprint Review-ból és a Sprint Retrospective-ből állnak.
  • Léteznek Scrum Artefaktumok, amelyek a Product Backlogból, a Sprint Backlogból és az Inkrementből állnak, ahol egy Inkrement akkor létezik, amint a Sprint Backlog egy eleme megfelel a Kész definíciónak.
  • Létezik a Kész definíció, ahol bármely Scrum csapat közös megegyezéssel rendelkezik arról, hogy mit jelent a “kész” bármely Product Backlog elem esetében. Vegyük észre, hogy az Elfogadási kritériumoktól eltérően a Kész definíciót globálisan alkalmazzák, míg az Elfogadási kritériumok az egyes Product Backlog tételekre vonatkoznak.

Mi nem a Scrum

A közhiedelemmel ellentétben az alábbi dolgok egyike sem része a Scrumnak:

  • Felhasználói történetek. Egy adott Scrum-csapat Product Backlogjában vagy Sprint Backlogjában szereplő munkaelemek felhasználói történetekként íródnak (gyakran a következő formátumban: “Mint <személy/szerep>, <célt> akarok, hogy <kívánatos eredmény>”), de a Scrum nem ír elő semmilyen konkrét konstrukciót vagy formátumot. Megjegyzendő, hogy a felhasználói történetek az XP részét képezik.
  • Becslés. Bár a Scrum-csapatok túlnyomó többsége végez becslést valamilyen szinten, a becslés gyakorlata nem része a Scrumnak.
  • Sebesség. A sebesség szintén nem része a Scrumnak; a projektsebesség fogalma az XP része.
  • Technikai gyakorlatok. Ahogy fentebb említettük, a Scrumban nincs a technikai gyakorlatok (CI, CD, páros programozás, TDD stb.) fogalma. A csapatok által jellemzően követett technikai gyakorlatok túlnyomó többsége az XP-ből származik.

Mi az Extreme Programming?

Már több mint két évtizede, hogy megalakult az első Extreme Programming (XP) csapat, ahol a Chrysler Comprehensive Compensation (C3) nevű projekten dolgoztak. A módszerek, amelyeket ez a csapat alkalmazott, jelentős mértékben az 1980-as évekből származnak, amikor Kent Beck és sokan mások kísérleteztek a szoftverfejlesztés jobb módjaival, azaz az addigra uralkodóvá vált “vízeséses” megközelítés alternatívájával.

A munka vizualizálása mindig is fontos információ volt az agilis csapatok munkájának megismeréséhez. Ezért az XP bevezetéseként azt javaslom, hogy aki többet szeretne megtudni, jól teszi, ha ezekkel az ábrákkal kezdi:

  • Extrém programozási projekt (végponttól végpontig tartó diagram)
  • Iteráció (diagram, amely arra összpontosít, hogy mi történik egy iteráción belül; vegye figyelembe, hogy amit az XP iterációnak hív, az fogalmilag hasonló ahhoz, amit a Scrum Sprintnek hív)
  • Fejlesztés (diagram, amely a fejlesztési interakciókra és tevékenységekre összpontosít)
  • Kollektív kódtulajdonlás (diagram, amely az alapvető technikai gyakorlatokra összpontosít)

Megjegyzés: A fenti diagramok számos elemét egy oldalon ötvöző látványtervért lásd Bill Wake: Extreme Programming Overview (Extrém programozás áttekintése) című könyvét.

Kiegészítő olvasmányok az XP-ről

Ha a fenti vizuális ábrák eléggé felkeltették az érdeklődését ahhoz, hogy többet akarjon olvasni az XP-ről, nézze meg a következő információforrásokat, amelyek nagyjából a legrövidebb > leghosszabb olvasmányok sorrendjében vannak felsorolva:

  • Don Wells, Extreme Programming: A gentle introduction
  • Martin Fowler, BeckDesignRules (lásd még Xp Simplicity Rules)
  • Kent Beck, Ward Cunningham, et al., Extreme Programming Core Practices (aka the 12 XpXtudes)
  • Don Wells, The Rules of Extreme Programming
  • Ward Cunningham, et al.,Extreme Programming (aka the WikiWikiWeb)
  • Ron Jeffries, What is Extreme Programming?
  • Kent Beck & Cynthia Andres, Extreme Programming Explained: Embrace Change (2nd Ed.)

Additional References

Az ebben a részben szereplő összes hivatkozás Don Wells XP weboldaláról származik, hacsak másképp nem jelöljük.

  • Az agilis modellek festmények, nem fényképek (minden modell téves; néhány hasznos)
  • Agilis folyamat közmondások (szavak, amelyek szerint minden csapat élhet)
  • Bill Wake, Arrange, Act, Assert (minta egységtesztek írásához)
  • Bill Wake, Sudoku Solver (érdekes variáció a TDD-re)
  • Bill Wake, Tests from a Hat (kreatív megközelítés az egységtesztek írásához)
  • Honest Plans (hogyan néz ki a becslés a gyakorlatban)
  • Manage Your Goals Instead of Activities (fő különbségek a vízesés és az agilis fejlesztés között)
  • The Values of Extreme Programming (Egyszerűség, Kommunikáció, visszacsatolás, tisztelet, bátorság)
  • XP és adatbázisok (az arany > ezüst > bronz adatbázisokon alapuló minta )

Articles

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.