fbpx

Agile аргачлал (Agile Methodology) гэж юу вэ?

Facebook, google, amazon зэрэг томоохон компаниуд яагаад Agile аргачлалыг програм хөгжүүлэлтдээ хэрэглэдэг вэ? Угтаа энэ арга ямар зарчимаар ажилладаг, ашиглаж эхэлсэн түүх, ялгаа,  давуу талын талаар сонирхож үзэцгээе.

Agile аргачлал нь жижиг жижиг алхмаар хол зам туулахтай ижил. Ажлыг бүхлээр нь биш жижиг алхмуудад хувааснаар илүү бодитой шийдэл олох боломжийг өгдөг. Мөн санал хүсэлтийг тогтмол хүлээн авч хэрэгжүүлдэг нь бусад аргыг бодоход уян хатан байдлыг нэмэгдүүлдэг байна.

Үндсэн зарчим

  • Нэг том хэсэгт анхаарахаас илүү тухайн ажлийг жижиг хэсгүүдэд хувааж бага багаар сайжруулах.
 
  • Багууд өөрчлөлтөд хурдан дасан зохицож, хэрэглэгчийн шаардлагад үр дүнтэй хариу үйлдлийг шуурхай хүргэх.

Тэгвэл Agile аргачлал бусад аргуудаас хэрхэн ялгардаг вэ?

Жишээ болгон Хүрхрээ(Waterfall) аргатай харьцуулан дүгнэе.

Хүрхрээ арга нь хөгжлүүлэлтийг тодорхой үе шатуудад хуваах замаар шугаман ба дараалсан байдлаар төслийг хэрэгжүүлдэг арга юм. Үе шат бүр нь өмнөх үр дүнгээс хамаардаг учраас нэг ажлыг дуусгаад дараагийн ажил руу шилжих замаар ажилладаг.

Нөгөө талаас Agile нь уян хатан байдал, хамтын ажиллагаа, бага багаар үр дүнд хүрэх зарчимтай. 

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

Agile аргачлалын амьдралын мөчлөг

1. Шаардлага цуглуулах

    • Эхний шатанд үйлчлүүлэгчид, хэрэглэгчид, мэргэжилтнүүд зэрэг оролцогч талуудын хэрэгцээ, шаардлагыг тодорхойлж, баримтжуулдаг.
 
  1. Дизайн
    • Өндөр түвшний системийн архитектурыг хөгжүүлэх. Өгөгдлийн бүтэц, алгоритм, интерфейсийг багтаасан нарийвчлалыг бий болгох.
 
  1. Хөгжүүлэлт (Код)
    • Програм хангамжид зориулсан кодын хэсэг. 
 
  1. Testing (Туршилт)
    • Энэ үе шатанд хэд хэдэн төрлийн тестүүд хийгддэг. Жишээ нь:
      • Интеграцийн тест (Integration Testing): Бүрэлдэхүүн хэсгүүдийн хамтын ажиллагааг шалгах.
      • Системийн туршилт (System Testing): Системийг бүхэлд нь турших.
      • Гүйцэтгэлийн туршилт (Performance Testing): Системийн хурд, өргөтгөх чадвар, тогтвортой байдлыг үнэлэх.
 
  1. Deployment (Нийлүүлэлт)
    • Программ хангамжийг хэрэглэгчид ашиглах боломжтой болгох буюу нийтэд хүргэх.
 
  1. Хянах (засвар үйлчилгээ)
    • Хэрэглээнд гаргасны дараа гарч болох аливаа асуудлыг шийдвэрлэх. Программ хангамжийн шинэчлэлтүүд болон засваруудыг гаргах.
 

Дүгнэлт

Динамик байдлыг шингээж багаар ажиллах чадварыг хамгийн үр дүнтэй түвшинд хүргэж байгаа учраас Agile аргачлал нь бодитой үр дүнд хүрэх боломжийг олгодог шилдэг арга юм. Аргачлал бүрийн давуу тал болон хязгаарлалтыг ойлгож тухайн төсөлд тохирох үр дүнтэй  аргыг сонгох нь нэн түрүүнд тодорхойлох ажил гэж ойлгож болно.

Leave a Reply