Sunday, January 17, 2021

Feature Release Lifecycle буюу шинэ функц хэрхэн төрдөг вэ?

 Та бүхний хэрэглэдэг өдөр тутмын софтвэйр болон онлайн сэрвис, эсвэл мобайл апп чинь үргэлж шинэчлэгдэж, өөрчлөгдөж, шинэ фунц болон UX нэмэгдэж байдаг гэдгийг мэдэх байх, За тэгвэл тийм функц-ууд нь ямархуу байдлаар хөгжүүлэлт хийгдэж хэрэгчид дээр очидог тухай жоохон өөрийнхөө харсан үзсэн өнцгөөс танилцуулъя.

 Манай багын үндсэн продакт маань бараг 30-аад жилийн настай Configuration Manager гэдэг  Windows компьютеруудыг нэг дороос цогцоор нь менежетмент хийх зориулалттай софтвэйр байдаг. Сэрвэр болон клиэнт ээс бүрдэнэ, сэрвэрүүд нь Windows Server дээр суулгасан байдаг, клиэнтүүд нь ердийн Windows компьютер дээр суулгасан Windows аппликэшон юм.


Configuration Manager

 За тэгээд Configuration Manager-д нэг шинэ айдиа олоод функц болгож гаргах хүртэл нэг иймэрхүү шат дамжлага явагдаж байж хэрэглэгчид дээр хүрнэ.

1.Idea/Concept

 Хэрхэн шинэ санаа орж ирэх вэ? Ерөнхийдөө хэрэглэгчдээс л ирнэ. Манай баг онлайн систэмээр хэрэглэгчдээс санаа оноо болон хүсэлтийг нь сонсож болдог. Хэн ч гэсэн эндээс хүсэлт гаргаж болно, бусад хүмүүс бас хэрэгтэй зөв гэж үзвэл санал нэмж болдог, яваандаа хамгийн их саналтай айдиа нь нүдэнд тусаж хөгжүүлэлтэд орох магадлал өндөр болж ирдэг. Дээрээс нь дарга нар бараг бүгд өөрийн гэсэн паблик Twitter акаунттай болхоор тэрүүгээрээ дамжуулаад их хүсэлт шаалдлага сонсож байдаг. Бас Програм Менежер (ПМ) - үүд их хэрэглэгчидтэй холбогдож яриж, санаа оноо сонсож байдаг бөгөөд тэд нараар дамжиж бас орж ирнэ.

 Өөр нэг том чиглэл бол партнер багуудаас хүсэлт ирнэ, жишээ нь Windows юмуу Office-д шинэ функц нэмэгдсэн үед Configuration Manager-ээр менежемент хийж болдог болгох хэрэгтэй байдаг тул манайд хандаж эхэлдэг. 

2.Designing

 Дараачын шатанд, ПМ болон ахлах инженер-үүд голдуу хамтарч байгаад төлөвлөгөө гаргана, жирийн developer engineer бол энэ шатанд нээх оролцож эхлээгүй байдаг. 

 Юу хийдэг вэ гэхээр PowerPoint ашиглаж бүх UI/UX -ийг нь гаргана, дээрээс нь дотоод болон ар талд ямархуу байдлаар програмаа бичих талаар Visio дээр flowchart маягаар ерөнхий дүрслэлийг нь гаргана. Архитект зураг төслийг нь гаргаж байна гэсэн үг, бэлэн болтол бас овоо цаг орно. 

 Бэлэн боллоо гэж үзвэл ажиллах developer engineer-үүдээ баг бүрдүүлээд бүх план-аа танилцуулж эхлэнэ.

MS Visio - Flowchart image

3.Architect Review

 Хамгийн том даваа гэж хэлж болох байх. Ихэнх голлох салбаруудын (Architecture, Database, Security, Performance, Server side, Client side гм..) ахлах инженерүүдийн өмнө шинэ функц-аа танилцуулж, гаргасан төлөвлөгөөгөө шалгуулах хэрэгтэй болно. Бүтэн цаг асуултаар булуулж гарна, нэг л хүн хангалтгүй гэж үзвэл даалгавар аваад буцаагдана. Дараа нь дахиж шинэчилсэн планаа бариж орж ирээд нэг цаг тэсэх хэрэгтэй болно, энийгээ тэгээд бүх хүний шалгуурыг давах хүртэл хийх хэрэгтэй болно. Ганцаараа орвол ер нь дийлэхгүй тиймээс ПМ ч юмуу менежер-ээ чирч орж ирж бгаад үзэлцэх нь олон. Энэ шат нь шаардлага хангахгүй бол блокдох эрхтэй байдаг.

4.Security Review

 Security хариуцсан нэг бүтэн баг байдаг, яагаад гэвэл энэ МД систэмийн хувьд маш чухал асуудал учраас, заавал рисорс хаяж үргэлж хангалттай хяналт шалгалт явагдаж байхаар төлөвлөгдсөн байдаг. Тэр баг нь олон жил хийсэн маш туршлагатай хүмүүсээс бүрдсэн болхоор юу юуг анхаарч харахаа маш сайн мэднэ, еронхий болон нарийн төлөвлөгөөг харж байгаад, хэрэгтэй гэж үзвэл яаж код бичсэн байгааг нь шалгаж шаардлага тавина. Дата хандалт болон certificate, encryption гэх мэт чухал security-ийн топикд хандаж байвал бүүр ч нарийн асууж шалгааж байж явуулна. Энэ шат ч бас шаардлага хангахгүй бол блокдох эрхтэй байдаг.

5.Test Review

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

6.UI/UX Review

 User Interface/Experience -ийн expert-үүд дээр очиж хийж байга prototype юмуу загвар зурагнуудаа танилцуулж зөвөлгөө авна. Эд нар харж байгаад олон талаас нарийн зөвөлгөө өгдөг.

7.Coding/Testing Phase

 Энэ шатанд ирхээр бүх план гарчихсан байдаг тул, developer-ууд нь хариуцсан хэсэгээ аваад код бичиж эхэлнэ, тусгай тэстэр гэсэн роль байхгүй болсон болхоор өөрдсөө unit test/integration test-ээ давхар хийгээд явдаг. Хэмжээнээсээ хамаараад хир удах нь янз янз, хэдэн долоо хоногоос жил дамжсан прожект болчих нь ч байдаг. Ахлах инженерүүд код ревиев хийнэ, ПМ-үүд гар тэст хийж шалгана, голлох ажил нь developer-ууд дээр ирнэ.

Явцын дунд мэдээлэл солилцох, хянах зорилгоор, 2-5 хоногт нэг удаа SCRUM Meeting хийгээд явчина, ПМ голдуу хөтлөөд гадаад дотоод коммюникэшоноо хариуцаад явна.

 Бичиж байгаа код-оо development код байс-рүү нэмээд явчина, продакт релийз болоод ирхээр эндээс код-оо аваад билд хийгээд шип хийдэг.

8.Private Preview

 Бичиж байга прожэкт маань хүн туршиж үзэх хэлбэр хэмжээнд ороод ирхээр нь бета вэршон (сард нэг удаа Technical Preview гэж бета build шип хийдэг) гэж гаргаад хэдхэн тусгай хэрэглэгчдэд хүргэж байгаад тэст хийлгэж үзнэ. Дөнгөн данган л ажиллах хэмжээний юмнууд байдаг тул, ажиллаж өгөхгүй байх нь байна, энэдээс тэгээд хэдэн feedback аваад, планд том өөрчлөлт гарахгүй бол цаашаа үргэлжлүүлнэ. 

9.Public Preview

 Дараагын шатанд ирхээр, албан ёсны продакт билд (Current Branch build) -д нэмээд, дэфолтоор нь бол унтаастай болгосон байдаг. Ингээд хүссэн хэн ч гэсэн нөгөө функц-ээ асааж байгаад хэрэглэж тэстэлж үзэж болхоор болсон байдаг. Энэ шатанд ирхээд хэдэн зуугаас хэдэн мянган хэрэглэгч туршиж үзэж, feedback явуулах боломжтой болж ирдэг. Энэ шатанд ирхээр дизайн өөрчлөлт гэж бараг хийхгүй, зөвхөн куалити засалт л орно. Баахан bug fix явагдана гэсэн үг. Дараагын шат нь албан ёсны шипмэнт болох тул, сүүлийн удаан бүх юмаа шалгаж засна, дор хаяж хэдэн сар болдог. Угаасаа продакт маань жилд 3-удаа л апдэйт хийдэг тул.

10.Production Ready: Official Release

Баяр хүргэе! It is party time! 





No comments:

Post a Comment