কাজের অভিজ্ঞতা
15,000 Flash widget থেকে HTML5-এ যাওয়া
rendering engine গোছানো, migration-এর কাজ সাজানো আর workflow-তে মান যাচাই বসিয়ে 15,000 Flash widget-কে HTML5-এ নেওয়ার কাজকে বারবার চালানো যায় এমন ব্যবস্থায় আনতে সাহায্য করেছি।
- আমার ভূমিকা
- rendering engine, migration ও QA workflow-তে নেতৃত্ব
- কাজের প্রেক্ষাপট
- LearningMate-এর e-learning আধুনিকীকরণ। নভেম্বর ২০১৪ থেকে মে ২০১৫, 15,000 Flash widget নিয়ে কাজ।
- ব্যবহৃত প্রযুক্তি
- HTML5, JavaScript, CSS3, Karma, Jasmine, CI/CD
সমস্যাটা কী ছিল
অনেক interactive learning widget Flash থেকে browser-native HTML5-এ আনতে হত। প্রতিটা আলাদা করে বানিয়ে বড় পরিসরে কাজ চলত না। আবার ব্যবহার করা rendering engine, নিয়মমতো production workflow আর কাজের গতির সঙ্গে তাল রাখার quality check দরকার ছিল।
যে সীমাগুলো মাথায় ছিল
- 15,000 interactive widget-কে এই প্রক্রিয়ার মধ্যে দিয়ে নিতে হত।
- নিজস্ব rendering engine দিয়ে আগের আচরণ আবার বানানো হচ্ছিল।
- vendor দলের প্রশিক্ষণ আর একই উন্নয়ন প্রক্রিয়া দরকার ছিল।
- migration-এর পরিমাণের সঙ্গে quality check-ও বাড়াতে হত।
যেভাবে এগিয়েছি
- production-এর কাজ বাড়ানোর আগে চাহিদা আর কাজের হিসাবের ইনপুট বিশ্লেষণ করেছি।
- বারবার লাগা widget-এর আচরণ ধরে rendering engine refactor করেছি।
- vendor দলকে প্রশিক্ষণ দিয়েছি আর migration workflow গোছিয়েছি।
- শেষে পরীক্ষা হবে বলে না রেখে ডেলিভারির প্রক্রিয়ার ভেতরেই quality check বসিয়েছি।
আর্কিটেকচারের সিদ্ধান্ত
- shared renderer-এ আবার লাগবে এমন আচরণ রেখেছি, যাতে এক জায়গায় ঠিক করলে অনেক ধরনের widget-এ কাজে লাগে।
- engine-এর কাজ, migration-এর production আর যাচাই আলাদা স্পষ্ট ধাপ করেছি।
- মুখে মুখে handoff-এর বদলে quality check-কে workflow-র দরজা করেছি।
যেখানে ছাড় দিতে হয়েছে
- shared engine-এ migration-এর সুবিধে বেড়েছে, আবার compatibility-র ঝুঁকি এক layer-এ জমেছে।
- একসঙ্গে vendor-এর বেশি কাজ সামলাতে কড়া নিয়ম, প্রশিক্ষণ আর রিভিউ দরকার হয়েছে।
কী বদল এসেছে
- নথিভুক্ত নভেম্বর ২০১৪ থেকে মে ২০১৫ সময়ে 15,000 widget বদলানোর কাজে সাহায্য করেছি।
- migration-এর কাজ ভাগ করা আর রিভিউ করার জন্য পুনরাবৃত্তিযোগ্য workflow তৈরি হয়েছে।
- মান যাচাই শেষে হাতে করার ধাপ না থেকে production ব্যবস্থার অংশ হয়েছে।
যা শিখেছি
- এত বড় migration শুধু একটার পর একটা ফাইল বদলানো নয়, গোটা ব্যবস্থার সমস্যা।
- rendering engine, migration করা দল আর QA workflow একসঙ্গে ভাবতে হয়।