Agile vs Ənənəvi Proqram İnkişafı Metodologiyası
Bu gün proqram təminatı sənayesində istifadə olunan bir sıra müxtəlif proqram inkişaf metodologiyaları var. Şəlalə inkişaf metodu ən erkən proqram inkişaf üsullarından biridir. V-Model, RUP və şəlalə metodologiyasından sonra gələn bir neçə başqa xətti, iterativ və birləşmiş xətti-iterativ üsullar şəlalə metodunun bir çox problemini aradan qaldırmağı nəzərdə tuturdu. Bütün bu əvvəlki metodologiyalar Ənənəvi Proqram İnkişafı Metodologiyaları adlanır. Çevik model, ənənəvi modellərdə aşkar edilən çatışmazlıqları aradan qaldırmaq üçün təqdim edilən daha yeni proqram təminatı inkişaf modelidir. Agile-in əsas diqqəti mümkün qədər tez sınaqdan keçirmək və sistemi çox kiçik və idarə oluna bilən alt hissələrə bölməklə məhsulun işlək versiyasını çox erkən buraxmaqdır.
Ənənəvi Proqram təminatının İnkişafı Metodologiyası nədir?
Şəlalə metodu, V-Model və RUP kimi proqram təminatı metodologiyaları ənənəvi proqram inkişaf metodologiyaları adlanır. Waterfall metodologiyası ən erkən proqram inkişaf modellərindən biridir. Adından da göründüyü kimi, tərəqqinin şəlaləyə bənzər bir neçə mərhələdən (tələblərin təhlili, dizayn, inkişaf, sınaq və tətbiq) yuxarıdan aşağıya axdığı ardıcıl bir prosesdir. V-Model Şəlalə proqram təminatının inkişaf modelinin davamı hesab olunur. V-Model Şəlalə modelində müəyyən edilmiş fazalar arasında eyni əlaqələrdən istifadə edir. Lakin xətti enmək əvəzinə (Şəlalə modeli kimi) V-Model diaqonal olaraq aşağı enir və sonra V hərfinin formasını meydana gətirərək yenidən yuxarı hərəkət edir (kodlaşdırma mərhələsindən sonra). RUP (Rasional Vahid Proses) inkişaf təşkilatı tərəfindən ehtiyaclarına uyğun olaraq fərdiləşdirilə bilən uyğunlaşdırıla bilən proses çərçivəsidir (tək konkret proses deyil). Şəlaləyə bir qədər bənzəyir, başlanğıc, işlənmə, tikinti və keçid kimi sabit mərhələlərə malikdir. Lakin şəlalədən fərqli olaraq, RUP təkrarlanan prosesdir.
Agile nədir?
Agile çevik manifestə əsaslanan çox yeni proqram təminatı inkişaf metodologiyasıdır (daha doğrusu, bir qrup metodologiyadır). Bu, ənənəvi proqram inkişaf metodologiyalarında bəzi çatışmazlıqları aradan qaldırmaq üçün hazırlanmışdır. Çevik üsullar inkişaf dövrünün əvvəlində müştərinin iştirakına yüksək üstünlük verməyə əsaslanır. Müştəri tərəfindən mümkün qədər erkən və tez-tez testlərin daxil edilməsini tövsiyə edir. Stabil versiya mövcud olduqda hər nöqtədə sınaq aparılır. Agile-in təməli layihənin əvvəlindən sınaqdan keçməyə və layihənin sonuna qədər davam etməyə əsaslanır. Scrum və Extreme proqramlaşdırma Çevik metodların ən məşhur variantlarından ikisidir.
Agile-in əsas dəyəri “keyfiyyət komandanın məsuliyyətidir”dir ki, bu da proqram təminatının keyfiyyətinin bütün komandanın (yalnız sınaq komandasının deyil) məsuliyyət daşıdığını vurğulayır. Agile-in digər vacib cəhətlərindən biri proqram təminatını daha kiçik idarə olunan hissələrə bölmək və onları çox tez müştəriyə çatdırmaqdır. İşləyən məhsulun çatdırılması son dərəcə vacibdir. Sonra komanda proqram təminatını təkmilləşdirməyə və hər bir əsas addımda davamlı olaraq təqdim etməyə davam edir. Bu, çox qısa buraxılış dövrləri (Scrum-da sprintlər adlanır) və hər dövrün sonunda təkmilləşdirmə üçün rəy əldə etməklə əldə edilir. Əvvəlki üsullarda tərtibatçılar və sınaqçılar kimi komandanın çox qarşılıqlı əlaqəsi olmayan töhfəçilər indi Çevik model çərçivəsində birlikdə işləyirlər.
Agile və Ənənəvi Proqram İnkişafı Metodologiyası arasında fərq nədir?
Agile metodu bəzi ənənəvi yanaşmalar kimi iterativ inkişafa əsaslansa da, Çevik və Ənənəvi metodologiyalar əsas fərqlərə malikdir. Ənənəvi yanaşmalar idarəetmə mexanizmi kimi planlaşdırmadan istifadə edir, Agile modelləri isə əsas idarəetmə mexanizmi kimi istifadəçilərin rəyindən istifadə edir. Agile ənənəvi metodlardan daha çox insan mərkəzli yanaşma adlandırıla bilər. Çevik model ənənəvi metodologiyalarla müqayisədə məhsulun işlək versiyasını çox erkən təqdim edir ki, müştəri bəzi üstünlükləri erkən həyata keçirə bilsin. Agile-in sınaq dövrü müddəti ənənəvi üsullarla müqayisədə nisbətən qısadır, çünki sınaq inkişafa paralel aparılır. Ənənəvi modellərin əksəriyyəti Agile modelindən çox sərt və nisbətən az çevikdir. Bütün bu üstünlüklərə görə hazırda Agile ənənəvi metodologiyalardan üstündür.