Extreme програмчлал ба SCRUM хоёрын ялгаа

Extreme програмчлал ба SCRUM хоёрын ялгаа
Extreme програмчлал ба SCRUM хоёрын ялгаа

Видео: Extreme програмчлал ба SCRUM хоёрын ялгаа

Видео: Extreme програмчлал ба SCRUM хоёрын ялгаа
Видео: Глобальные тренды 2020 — от Agile до IoT / Java Tech Talk 2024, Арваннэгдүгээр
Anonim

Extreme Programming vs SCRUM | XP vs SCRUM

Хүрхрээ боловсруулах арга, V-Загвар, RUP болон бусад цөөн хэдэн шугаман, давтагдах ба хосолсон шугаман давталтын аргууд гэх мэт олон жилийн турш програм хангамжийн салбарт олон төрлийн програм хангамж хөгжүүлэх арга зүйг ашигласан. Agile загвар (эсвэл илүү зөвөөр хэлбэл, бүлэг арга зүй) нь уламжлалт програм хангамж хөгжүүлэх арга зүйд илэрсэн дутагдлыг арилгах зорилгоор Agile тунхаглалаар нэвтрүүлсэн сүүлийн үеийн програм хангамж хөгжүүлэх загвар юм.

Agile аргууд нь давталттай хөгжүүлэлт дээр суурилдаг бөгөөд хэрэглэгчийн санал хүсэлтийг хяналтын үндсэн механизм болгон ашигладаг. Agile-ийг уламжлалт аргаас илүү хүн төвтэй арга гэж нэрлэж болно. Agile загвар нь системийг маш жижиг, удирдах боломжтой дэд хэсгүүдэд хуваах замаар бүтээгдэхүүний ажлын хувилбарыг маш эрт хүргэдэг бөгөөд ингэснээр үйлчлүүлэгч зарим ашиг тусыг эртнээс мэдрэх боломжтой болно. Agile-ийн туршилтын мөчлөгийн хугацаа нь уламжлалт аргуудтай харьцуулахад харьцангуй богино байдаг, учир нь туршилтыг хөгжүүлэлттэй зэрэгцүүлэн хийдэг. Эдгээр бүх давуу талуудын улмаас Agile аргыг уламжлалт аргаас илүүд үздэг. Scrum болон Extreme програмчлал нь Agile аргын хамгийн алдартай хоёр хувилбар юм.

SCRUM гэж юу вэ?

Дээр дурьдсанчлан SCRUM нь Agile аргын гэр бүлд хамаарах, өсөлттэй, давтагдах төслийн менежментийн үйл явц юм. SCRUM нь хөгжлийн мөчлөгийн эхэн үед хэрэглэгчийн оролцоонд өндөр ач холбогдол өгөхөд суурилдаг. Энэ нь үйлчлүүлэгчийн туршилтыг эрт, аль болох олон удаа хийхийг зөвлөж байна. Тогтвортой хувилбар гарах үед туршилтыг цэг бүрт хийдэг. SCRUM-ийн үндэс нь төслийн эхнээс туршилтыг эхлүүлж, төслийн төгсгөл хүртэл үргэлжлэхэд суурилдаг.

SCRUM-ийн гол үнэ цэнэ бол "чанар бол багийн хариуцлага" бөгөөд энэ нь програм хангамжийн чанар нь бүх багийн (зөвхөн туршилтын баг биш) үүрэг гэдгийг онцлон тэмдэглэдэг. SCRUM-ийн өөр нэг чухал тал бол програм хангамжийг удирдах боломжтой жижиг хэсгүүдэд хувааж, хэрэглэгчдэд маш хурдан хүргэх явдал юм. Ажиллаж буй бүтээгдэхүүнийг хүргэх нь хамгийн чухал юм. Дараа нь баг нь програм хангамжаа үргэлжлүүлэн сайжруулж, томоохон алхам бүрт тасралтгүй хүргэсээр байна. Энэ нь маш богино суллах мөчлөгтэй (спринт гэж нэрлэгддэг) бөгөөд мөчлөг бүрийн төгсгөлд сайжруулах санал хүсэлтийг хүлээн авснаар хүрдэг.

SCRUM нь хөгжүүлэлтийн багийг жигд ажиллуулах хэд хэдэн үндсэн үүргийг тодорхойлдог. Эдгээр нь Бүтээгдэхүүний эзэмшигч (хэрэглэгчийг төлөөлж, бүтээгдэхүүний хоцрогдсон бүртгэлийг хөтөлдөг), Scrum мастер (скрам уулзалт зохион байгуулж, спринтийн хоцрогдол, бүдүүлэг графикийг хадгалах замаар багийн зохион байгуулагч, зохицуулагчийн үүрэг гүйцэтгэдэг) болон багийн бусад гишүүд юм. Баг нь уламжлалт үүргээс бүрдэж болох ч ихэнхдээ өөрсдийгөө удирддаг багууд байдаг. Scrum-ын үндсэн олдворууд нь Бүтээгдэхүүний хоцрогдол/хувилбарын тоо (хүслийн жагсаалт), Sprint-н хоцрогдол/согогийн бүртгэл (давталт бүрт хийх ажил), Шатаах график (үлдсэн ажил болон огноо). SCRUM-ийн гол ёслолууд нь Бүтээгдэхүүний хоцрогдолтой уулзалт, Спринт уулзалт, Эргэн харах уулзалт юм.

Экстрим програмчлал гэж юу вэ?

Extreme Programming (товчилсон XP) нь Agile загварт хамаарах програм хангамж хөгжүүлэх арга зүй юм. Хэт их програмчлал нь маш жижиг тасралтгүй үе шаттайгаар (уламжлалт аргуудтай харьцуулахад) үе шатуудыг гүйцэтгэдэг. Зөвхөн нэг өдөр эсвэл долоо хоног шаардагдах эхний дамжуулалт нь санаатайгаар бүрэн бус байна. Програм хангамжийг хөгжүүлэх тодорхой зорилтуудыг хангахын тулд автоматжуулсан тестийг эхэнд нь бичдэг. Дараа нь хөгжүүлэгчид кодчилол хийдэг. Програмчлалыг хосоороо хийхэд гол анхаарлаа хандуулдаг. Бүх шалгалтыг давсны дараа кодчилол дууссан гэж үзнэ. Дараагийн үе шат бол дизайн, архитектур бөгөөд энэ нь ижил програмистуудын кодыг дахин өөрчлөхтэй холбоотой юм. Энэ үе шатны төгсгөлд бүрэн бус (гэхдээ ажиллагаатай) бүтээгдэхүүнийг оролцогч талуудад танилцуулна. Үүний дараа шууд дараагийн үе шат (хамгийн чухал онцлогуудын дараагийн багцад төвлөрдөг) эхэлнэ.

Extreme Programming болон SCRUM хоёрын ялгаа нь юу вэ?

Extreme Programming болон SCRUM нь маш төстэй, нийцсэн аргачлалууд юм. Гэсэн хэдий ч эдгээр хоёр аргын хооронд нарийн боловч чухал ялгаа байдаг. SCRUM спринт нь 2-4 долоо хоног үргэлжилдэг бол ердийн XP давталт нь богино байдаг (сүүлийн 1-2 долоо хоног). Ихэвчлэн SCRUM багууд спринтийг өөрчлөхийг зөвшөөрдөггүй, харин XP багууд давталт доторх өөрчлөлтөд арай уян хатан байдаг. Жишээлбэл, спринт төлөвлөсний дараа тухайн спринтийн багц өөрчлөгдөөгүй хэвээр байх боловч ажиллаж эхлээгүй байгаа функцийг XP дээрх өөр функцээр хүссэн үедээ сольж болно. XP болон SCRUM хоёрын өөр нэг ялгаа нь XP дээр хөгжүүлсэн функцүүдийн дарааллыг хэрэглэгч хатуу эрэмбэлдэг бол SCRUM баг бүтээгдэхүүний дарааллыг (SCRUM-ийн Бүтээгдэхүүний эзэмшигчээс эрэмбэлсэн бүтээгдэхүүний дарааллаар) шийддэг.

XP-ээс ялгаатай нь SCRUM нь инженерчлэлийн ямар ч дадлага хийдэггүй. Жишээлбэл, XP нь туршилтанд тулгуурласан хөгжүүлэлт (TDD), хос програмчлал, рефакторинг гэх мэт практикт тулгуурладаг. Гэсэн хэдий ч, зарим нь өөрийгөө зохион байгуулах багуудад олон дадлага хийхийг үүрэг болгох нь сөргөөр нөлөөлнө гэж үзэж байгаа бөгөөд үүнийг авч үзэж болно. XP-ийн дутагдал. Extreme програмчлалын бас нэг дутагдалтай тал бол туршлагагүй багууд ямар ч автоматжуулсан тест, TDD (эсвэл зүгээр л хакердах)гүйгээр дахин засвар хийх хандлагатай байдаг. Тиймээс зарим нь SCRUM-ыг харан зогсоход илүү тохиромжтой (зөвхөн төвлөрсөн цагийн хайрцагт давталт хийх замаар томоохон сайжруулалтыг авчирдаг) бөгөөд XP нь дээр дурьдсан туршлагын үнэ цэнийг олж мэдсэн бага зэрэг төлөвшсөн багуудад тохиромжтой гэж үздэг (тэднээс асуусан учраас ашиглахын оронд). хийх).

Зөвлөмж болгож буй: