Технологи ба стартап экосистемийн мэдээ мэдээллийг танд хүргэнэ.

Програм Хангамжийг “outsourcing”-р хийлгэхэд анхаарах зүйлсүүд юу вэ?

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

2028 он гэхэд Дэлхий даяар программ хангамжийн зах зээл 11% орчим хувиар өсөх статистик бий. Энэ их зах зээл хэрэгцээ шаардлагыг хэрхэн гүйцэтгэх, хангах вэ гэдэг асуулт дэлхий дахинд үүсээд байгаа.

Энэ асуудлыг шийдвэрлэх зорилгоор low code, no-coding platform-уудаас эхлээд олон шийдлүүдийг бий болгож байгаа. Гэсэн хэдий ч тухайн бизнесийн онцлог шинж чанараас хамаарч тус бүрт тохирох технологи, шийдлүүдийг хөгжүүлэх олон шаардлага бий. Программ хөгжүүлэлтийн салбарт хамгийн тулгамдаад буй асуудал бол хүний нөөцийн асуудал. Улс орон, тухайн бүсийн онцлогоос хамаарч бүс бүсийн программ хөгжүүлэлтийн хэрэгцээ шаардлагуудыг хангах хэмжээний хүний нөөц янз бүр. Ийм ч учраас outsourcing байдлаар хөгжүүлэлт хийх үйлчилгээ, шийдлүүд бий болдогийг бид бүхэн мэднэ. 

Программ хангамжийг хөгжүүлэхдээ outsourcing-р хийлгэхэд хөгжүүлэлтийн түншээ хэрхэн сонгох нь маш чухал байдаг. Зөв шийдвэр гаргахын тулд сайтар бодож төлөвлөх, үнэлэх бүтцийг бий болгох ёстой байдаг.

1 ) Та дараах энгийн зүйлсийг заавал check хийх ёстой:

  • Тэд танай салбарын туршлагатай юу? /танай бизнесийн салбарыг хэр сайн мэдэх/
  • Тэд өмнө нь танайхтай төстэй төслүүдийг боловсруулж байсан эсэх, гүйцэтгэж дуусгаж байсан уу ?
  • Тэд танай сонгосон технологи дээр хэр туршлагатай вэ ?
  • Тэд хэр нэр хүндтэй юу? Өмнөх ажлуудын сэтгэгдэл, баталгаа, үйлчлүүлэгчийн өгсөн үнэлгээ
  • Тэд одоогоор хичнээн үйлчлүүлэгчтэй вэ?
  • Тэд тасралтгүй үйлчилгээг санал болгодог уу? Тэд ямар нэмэлт үйлчилгээ санал болгодог вэ?
  • Тэд шаардлагатай үед үйлчилгээний шинэ чиглэлийг бий болгох чадамжтай юу ?
  • Төслийг гүйцэтгэхэд ямар хугацаа шаардагдах вэ?
  • Тэдний санхүүгийн байдал ямар вэ?
  • Тэдний багийн багтаамж болон чадамж ямар вэ?
  • Төслийн хугацаанд орхиж буй нөөцийг орлох хүмүүсийг хэр хурдан олж оруулах чадвартай вэ?
  • Тэд хаана байрладаг вэ?
  • Байрлаж буй газар нь ижил ур чадвартай хүмүүс хэр их байгаа вэ ?

Дээрх мэдээллийг шалгаж дууссаны дараа хэд хэдэн түншүүдийг сонгох хэрэгтэй. Сонгогдсон багууд дээр дараагийн түвшний үнэлгээг хийх хэрэгтэй.

2 ) Төслийн үнэ, өртгийн бодлого: Программ хангамж хөгжүүлэх түншүүдийн санал болгодог үнийн хамгийн түгээмэл загварууд нь Time & Material (T&M) болон Fixed Bid байдаг.

Тогтмол үнийн санал (Fixed Bid) нь тухайн төслийг анхлан харж цар хүрээг 100% тодорхойлж чадалгүй өмнөх ижил төстэй цар хүрээ бүхий төслүүдтэй харьцуулан үнэ тогтоох явдал элбэг. Энэ нь ирээдүйд хэрэгцээ шаардлага өөрчлөгдөх, user requirement дээр change орох үед ямар үнэтэй болохыг харж чаддаггүй. Энэ нь төслийн нийт өртгийг нэмэгдүүлэх эрсдэлтэй. Мэдээж хэрэг change-үүд төслийг гүйцэтгэх явцад гарах нь элбэг ба программ хөгжүүлэхэд баримтлах аргачлалуудаас ихээхэн хамааралтай байх нь бий. Жишээ нь: Scrum Agile аргачлалын үед бол өөрчлөлтүүд элбэг орж ирдэг. Тиймээс төслийн явц, бүтээгдэхүүний үр дүн, хэрэгжилтийг хянах боломжтой гэдэг үүднээс Т&M нь илүү сайн зохицож ажиллах талтай байдаг гэдгийг бодож үзэхэд илүүдэхгүй.  Учир нь T&M аргачлал нь гүйцэтгэгчийн гүйцэтгэсэн цаг болон гүйцэтгэл дээр үндэслэж төлбөрийг өгдөг. Энэ арга нь төслийн хэмжээг нарийн тооцоолох боломжгүй, эсвэл төслийн шаардлага өөрчлөгдөх магадлалтай өндөр төслүүдэд ашиглахад маш тохиромжтой.

Төслийн үнэ, зардалтай холбоотой дараах зүйлсийг check хийх хэрэгтэй:

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

3 ) Process Management (Процессын менежмент) 

  • Тэд ISO/CMMi сертификаттай юу?
  • Ямар аргачлалыг ашигладаг – жишээ нь. Agile/DevOps/Microservices?
  • Аргачлал нь өөр өөр бүтээгдэхүүний шаардлагад нийцүүлэн уян хатан байж чаддаг уу?
  • Sprint бүрийн төгсгөлд үйлчлүүлэгчтэй хийсэн ажлын талаарх тайлан, санал хүсэлтийг хүлээн авах үйл явц байдаг уу?

4 ) Requirements Gathering (Шаардлага цуглуулах)

  • Шаардлага цуглуулахад ямар аргачлал ашигладаг вэ?
  • Шаардлага цуглуулах олон аргачлалуудыг ашиглаж байсан туршлага хэр вэ ?
  • Шаардлагын менежментэд ямар нэгэн tool ашиглаж байгаа эсэх, ашиглаж байгаа бол тэдгээр нь ямар tool вэ ?
  • Төслийн туршид захиалагч талд процессын тайланг тайлагнадаг уу ?

5 ) Development Process (Хөгжүүлэлтийн процесс) 

  • Хөгжүүлэлтийн багын чадамж, чадавх болон хэр хэмжээний нөөцтэй эсэх ?
  • Ажлын урсгалын менежментийг хөгжүүлэхэд ямар систем, tool ашигладаг вэ? /jira, slack … etc /
  • Хөгжүүлэлтийн баг нь CI/CD чадвартай юу?
  • Системийн удирдлагын системийг ашиглаж байсан, ашиглах уу?

6 ) Project Governance & Delivery (төслийн засаглал & түгээлт)

  • Тэдний тайлагнах процесс, гүйцэтгэл, гүйцэтгэлийн талаарх матриц юу вэ?
  • Асуудлыг шийдвэрлэх, хариу арга хэмжээ авах хугацаа хэд вэ?
  • Цагийг хэрхэн тооцдог вэ?
  • Хөгжүүлэлтийн явцад тэдний багийн ажлын цаг ямар байх ?
  • Давхар өөр төслүүд дээр зэрэг ажиллах эсэх ?
  • Код, чанарын хэмжигдэхүүн, алдааг хянах, удирдлагын өөрчлөлтийг тайлагнахад ямар tool-үүдийг ашигладаг вэ?
  • Харилцааны ямар арга, хэрэгслийг ашигладаг вэ?
  • Тэд харилцааны ил тод байдлыг хэрхэн хангадаг вэ?
  • Төслийн туршид ажлын явц, тестийн гүйцэтгэл, автоматжуулалт, кодын чанар, алдаа болон бусад хэмжигдэхүүнийг хэмжих зохих хяналтын самбарууд байдаг уу?

7 ) Quality Standard (чанарын стандарт)

  • Төслийг бүх хугацаанд өндөр чанартай байлгахын тулд ямар стратеги хэрэгжүүлдэг ?
  • Кодын ямар стандартыг баримталдаг ?
  • Болзошгүй алдааг цаг тухайд нь илрүүлэхийн тулд тасралтгүй шалгах, турших аргыг ашигладаг уу?
  • Тестийн орчныг бодит орчинтой ойролцоо байлгах тал дээр ямар ажиллагаа хийдэг вэ ? Зохих туршилтууд болон өгөгдлийг ашигладаг уу ?
  • Тест болон чанар шалгах процессын хэдэн хувь нь автоматжуулсан байдаг вэ?
  • Чанарын баталгаажуулалтын ажилд ямар tool ашигладаг вэ?
  • Чанарын баталгаажуулалтын ямар хэмжигдэхүүнүүдийг хянадаг вэ?

8 ) Organization & Workplace Culture (Байгууллага болон ажлын байрны соёл)

Программ хангамж хөгжүүлэх аутсорсинг хийх сайн программ хангамж хөгжүүлэх түншийг сонгохын тулд тухайн компанийн дотоод ерөнхий процедур, уур амьсгал, ажлын соёл зэргийг маш сайн анхаарч үзэх нь чухал байдаг. Ажилчидтайгаа хэрхэн харьцдаг, компанийн эрхэм зорилго, үнэт зүйл гэх мэт дэлгэрэнгүй мэдээллийг авахаас эхэлнэ.

  • Байгууллагын эрхэм зорилго, алсын хараа юу вэ?
  • Тэдний бизнесийн зорилго нь таны хийж буй зүйлтэй ямар холбоотой вэ?
  • Үйлчлүүлэгч хэр зэрэг тэргүүн ач холбогдолтой вэ?
  • Байгууллагын хэмжээнд менежментийн хэв маяг ямар байна вэ?
  • Одоогийн байдлаар компанийн нийт гүйцэтгэл ямар байна вэ?
  • Байгууллагын ирээдүйн төлөвлөгөө/замналын зураглалыг ажилчидтайгаа хуваалцдаг уу?
  • Тэдэнд боловсон хүчнийг хөгжүүлэх ямар хөтөлбөрүүд байдаг вэ?
  • Ажилчдад ямар төрлийн урамшуулал олгодог вэ?
  • Тэд ажилчдадаа ямар шагнал, урамшуулал олгодог вэ?
  • Тухайн байгууллага дахь татан буулгахад хүрэх хувь хэмжээ хэд вэ?

9 ) Legal and Security (Хууль болон Нууцлал)

  • Технологийн чадавх, үйл явц, авьяас чадвар, чанарыг шалгах нь хангалтгүй байдаг. Та мөн бизнесийн болон хууль эрх зүйн талаас нь шалгах хэрэгтэй. Энэ нь үндсэндээ SLAs, NDAs, SOWs болон төслийн бусад практик талыг хэлнэ.
  • Оюуны өмч/ Эх кодууд болон бусад эмзэг өгөгдлүүдийг хамгаалах аюулгүй байдал, нууцлалын удирдамж, хэрэгжүүлэлт байдаг уу?
  • Төсөлд шаардагдах код, лиценз, техник хангамж, бусад зүйлийг хэн эзэмших вэ?
  • Төслийн хүрээнд хөгжүүлэгдсэн системийн оюуны өмч аль талд харьяалагдах вэ?

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

Өдрөөс өдөрт программ хангамжийн салбарт аутсорсинг үйлчилгээ ихсэж өсөж байгаа энэ үед та компанийнхаа программ хангамжийн асуудлыг программ хөгжүүлэгч нэмж ажилд аваад шийдвэрлэх боломжгүй гэдгийг ойлгох нь чухал. Компанийн үйл ажиллагаа өргөжиж тэлэх хирээр түүнийг дагаад программ хангамжийн ачаалал өсдөг. Энэ бүх хэрэгцээг та 100, 1000 инженер аваад ч шийдвэрлэхэд бэрх болно. Тиймээс илүү ухаалаг байж зөв өөрчлөлтийг өөрийн программ хангамжийн газартаа хийгээрэй.  Ажлын ачаалал өндөр үед зарим шаардлагатай систем, программ хангамжуудыг аутсорсингоор хийлгэж өөрийн үндсэн программ хөгжүүлэлтийн багаа тодорхой цөөн тоонд барьж хөгжүүлэгч нарын илүү ур чадвар, сайжрахад анхаарал хандуулж чадварлаг цөөн хүнтэй багыг бий болгох боломжтойг санаарай.

Total
0
Shares

Leave a Reply

Related Posts
Total
0
Share