আমি এগ্রিল বা এক্সট্রিম প্রোগ্রামিংয়ের প্রসঙ্গে স্বরর্মিংয়ের কথা শুনেছি । এটি জুটি বাঁধার পরিপূরক বলে মনে হচ্ছে।
এটা ঠিক কি? কখন এটি প্রয়োগ করা উচিত? আপনি এটি কিভাবে ভাল করবেন?
আমি এগ্রিল বা এক্সট্রিম প্রোগ্রামিংয়ের প্রসঙ্গে স্বরর্মিংয়ের কথা শুনেছি । এটি জুটি বাঁধার পরিপূরক বলে মনে হচ্ছে।
এটা ঠিক কি? কখন এটি প্রয়োগ করা উচিত? আপনি এটি কিভাবে ভাল করবেন?
উত্তর:
ধারণাটি হ'ল আপনার দলের প্রত্যেকে একই সময়ে একই গল্পে কাজ করে। প্রত্যেকে বিভিন্ন কাজে মনোনিবেশ করার পরিবর্তে, প্রতিটি কাজ শেষ না হওয়া পর্যন্ত একযোগে একটি বিষয়ে মনোনিবেশ করে। তারপরে তারা পরের জিনিসটিতে এগিয়ে যায়, যেখানে তারা সকলেই এতে একসাথে কাজ করে।
এটি এমন দলগুলিকে সহায়তা করে যা স্প্রিন্ট শেষ হওয়ার আগে গল্পগুলি শেষ করতে লড়াই করে। প্রায়শই দলগুলি সমস্ত গল্পের 80% শেষ করে, তবে কোনওটিই সম্পূর্ণ হয় না। 80% গল্প সম্পূর্ণ করার চেয়ে এটি কম কার্যকর, যেহেতু অসম্পূর্ণ গল্পের কোনও ব্যবহারকারীর (কার্যকরভাবে) কোনও মূল্য নেই। দলের সবাই যখন একসাথে একটি গল্পের দিকে মনোনিবেশ করে তখন গল্পগুলি সম্পন্ন করা সহজ। এটি swarming পিছনে অনুপ্রেরণা।
এখানে কিছু অসুবিধা আছে। উদাহরণস্বরূপ, QA সবসময় জিনিসগুলি তৈরি করার আগে (বা এমনকি ডিজাইন করা) পরীক্ষা করতে পারে না। এই ক্ষেত্রে, আপনার প্রথম দিকে একসাথে একটি নকশা স্থাপন করা উচিত এবং তারপরে কিউএ প্রকৃত প্রয়োগের পরিবর্তে ডিজাইনের বিরুদ্ধে পরীক্ষা (প্রাথমিকভাবে ব্যর্থ) লিখতে পারে।
সোয়ার্মিং কেবল এই বিষয়টি বোঝায় যে কোনও কাজ বা গল্প সম্পূর্ণ করতে একাধিক লোক একসাথে কাজ করে। আমার অভিজ্ঞতায় এটি এমন কিছু নয় যা আপনি প্রায়শই করেন।
সাধারণত, আমার দলের প্রতিটি সদস্য একটি আলাদা টাস্ক এবং / অথবা আলাদা গল্পে কাজ করে। যদি কেউ পিছনে পড়ছে, বা যদি কোনও কাজ বা গল্পটি প্রথম দিকে শেষ করার ইচ্ছা হয়, তবে অন্যান্য লোকেরা অন্য কাজগুলিতে কাজ করা বন্ধ করে দেবে এবং "ঝাঁকুনি" টাস্কটি সম্পন্ন করবে, যার অর্থ তারা সবাই একসাথে একটি কাজ বা গল্পে কাজ না করা পর্যন্ত এটি কাজ করবে সম্পন্ন হয়.
আমাদের সম্প্রতি কয়েকটি সংখ্যক গল্প ছিল যা কিছুটা বিরক্তিকর, আগ্রহী কাজ ছিল was কাজ শেষ করার জন্য আমি দলকে একটি ছোট প্রেরণাদায়ক (পিজ্জা) এবং সময়সীমা (দিনের শেষ দিন) দিয়েছিলাম, তাই তারা গল্পটির সূত্রপাত করেছিল এবং এক বিকেলে কমপক্ষে দু'দিন কাজ সরিয়ে ফেলে। তারা কাজটি প্রথম দিকেই শেষ করে ফেলেছিল, তারপরে প্রতিটি দলের সদস্যরা যা কিছু কাজ করছেন তাতে ফিরে গেলেন। তারা একটি নিখরচায় দুপুরের খাবার পেয়েছিল, আমি খুব তাড়াতাড়ি কাজ শেষ করেছিলাম যা এটি স্বচ্ছ প্রকৃতির কারণে টেনে নিয়ে যেতে পারত এবং দলটি তাদের স্প্রিন্টের আগে চলে গিয়েছিল। জয়, জয়-জয়।
"ওঁকে দেওয়া" "ওহে, আসুন আপনাকে এটিতে সহায়তা করি" এর অভিনব শব্দ ছাড়া আর কিছুই নয়।
সাঁতার কাটা আসলে চঞ্চলতার একটি কেন্দ্রীয় ধারণা। এটি "সমস্যা আছে যখন" করা হয় এমন কিছু নয়। সোয়ার্মিং, এর সহজতম আকারে, এর অর্থ হল যে দলগুলি আইটেমগুলিতে (গল্পগুলি) সম্মিলিতভাবে কাজ করে এবং তাদের সমাপ্তির লক্ষ্যে কাজ করে। মূল ধারণাটি "শুরু করা ছেড়ে দেওয়া, এবং সমাপ্তি শুরু করা"। অন্য কথায়, প্রতিটি বিকাশকারী কোনও গল্পে স্বতন্ত্রভাবে কাজ করার পরিবর্তে, দল একসাথে আরও সীমিত গল্প / কাজগুলিতে সেট করে এবং প্রতিটি আইটেম শীঘ্রই সম্পন্ন করে। এটিকে একক থ্রেডেড সিস্টেম এবং বহু-থ্রেডযুক্ত পার্থক্য হিসাবে ভাবেন। যদি কোনও ইউজার স্টোরিতে 10 টি কাজ করা আবশ্যক, এবং প্রত্যেকে 8 ঘন্টা হয়, ধরে নিয়ে যে কোনও জটিলতা নেই, একজন বিকাশকারী প্রতিটি কাজ ধারাবাহিকভাবে কাজ করতে পারে এবং 80 ঘন্টা, বা প্রায় দুই সপ্তাহের মধ্যে গল্পটি সম্পূর্ণ করতে পারে (প্রদত্ত 10 দিনের স্প্রিন্ট) প্রতিদিন 8 দেব ঘন্টা)। দু'টি বিকাশকারী যদি কাজগুলি ভাগ করে একযোগে কাজ করেন তবে কী হবে? একই 80 ঘন্টা কাজ এক সপ্তাহের মধ্যে এভাবে শেষ করা যায়। তৃতীয় যোগ করুন, এবং আপনি এখন দেখতে পাবেন এটি 3 থেকে 4 দিনের মধ্যে হয়ে যায়।
জলাবদ্ধতা বিভিন্ন উপায়ে করা যেতে পারে:
যে সমস্ত টিম প্রতিটি বিকাশকারীকে একটি গল্প দেয় তাদের মধ্যে "কাজ চলছে" বা ডাব্লুআইপি খুব বেশি থাকে এবং প্রায়শই অনেক গল্প শুরু হয় তবে সম্পন্ন হয় না। এটি একটি আন্তঃ-প্যাটার্ন, এবং সেরা অনুশীলন নয়।
যে দলগুলি ঝাঁকিয়ে থাকে তাদের মধ্যে কম ডাব্লুআইপি এবং আরও গল্পগুলি সম্পন্ন হওয়ার ঝোঁক থাকে - এবং সম্পন্ন করার অর্থ, আমি বিকাশিত, পরীক্ষিত, অনুমোদিত এবং মোতায়েনের জন্য প্রস্তুত। এইভাবে, এটি একটি অনুশীলন যা তত্পরতার মূল বিষয়।
নিম্নলিখিত নিবন্ধ InfoQ উপর swarming এক পদ্ধতির বর্ণনা
বিস্তারিত ব্যাখ্যার জন্য নিবন্ধটি পড়ুন।