"Swarming" কি?


42

আমি এগ্রিল বা এক্সট্রিম প্রোগ্রামিংয়ের প্রসঙ্গে স্বরর্মিংয়ের কথা শুনেছি । এটি জুটি বাঁধার পরিপূরক বলে মনে হচ্ছে।

এটা ঠিক কি? কখন এটি প্রয়োগ করা উচিত? আপনি এটি কিভাবে ভাল করবেন?


@ কোড ওয়ার্কস: গুগলে আমার অনুসন্ধানগুলি কিছু প্রাসঙ্গিক ফলাফল এনেছে এবং আমার প্রশ্নের স্পষ্ট উত্তর নেই with যদি সেখানে কোনও প্রচলিত উত্তর থাকে তবে তা সর্বদা, এখানে পোস্ট করুন।
জে বাজুজি


স্ট্র্যাটেজি ভিডিও গেম "স্টারস অফ দ্য স্টারস" তে একটি ভয়েসওভার লাইন রয়েছে যেখানে পিপীলিকা / মন্তী / মাতৃগণের লোকেরা আপনাকে একটি গবেষণা আদেশ জারি করার বিষয়ে বলে "আমরা আপনার মহিমায় ল্যাবটিকে স্বরণ করছি"। আমি সর্বদা ধরে নিয়েছিলাম যে নাটকীয় বিদ্রূপের বোধের সাথে অবতরণ করার উদ্দেশ্য।
এরিক পুনরায়

উত্তর:


43

ধারণাটি হ'ল আপনার দলের প্রত্যেকে একই সময়ে একই গল্পে কাজ করে। প্রত্যেকে বিভিন্ন কাজে মনোনিবেশ করার পরিবর্তে, প্রতিটি কাজ শেষ না হওয়া পর্যন্ত একযোগে একটি বিষয়ে মনোনিবেশ করে। তারপরে তারা পরের জিনিসটিতে এগিয়ে যায়, যেখানে তারা সকলেই এতে একসাথে কাজ করে।

এটি এমন দলগুলিকে সহায়তা করে যা স্প্রিন্ট শেষ হওয়ার আগে গল্পগুলি শেষ করতে লড়াই করে। প্রায়শই দলগুলি সমস্ত গল্পের 80% শেষ করে, তবে কোনওটিই সম্পূর্ণ হয় না। 80% গল্প সম্পূর্ণ করার চেয়ে এটি কম কার্যকর, যেহেতু অসম্পূর্ণ গল্পের কোনও ব্যবহারকারীর (কার্যকরভাবে) কোনও মূল্য নেই। দলের সবাই যখন একসাথে একটি গল্পের দিকে মনোনিবেশ করে তখন গল্পগুলি সম্পন্ন করা সহজ। এটি swarming পিছনে অনুপ্রেরণা।

এখানে কিছু অসুবিধা আছে। উদাহরণস্বরূপ, QA সবসময় জিনিসগুলি তৈরি করার আগে (বা এমনকি ডিজাইন করা) পরীক্ষা করতে পারে না। এই ক্ষেত্রে, আপনার প্রথম দিকে একসাথে একটি নকশা স্থাপন করা উচিত এবং তারপরে কিউএ প্রকৃত প্রয়োগের পরিবর্তে ডিজাইনের বিরুদ্ধে পরীক্ষা (প্রাথমিকভাবে ব্যর্থ) লিখতে পারে।


+1 টি। মজাদার. আপনি এই কাজটি বাস্তবে দেখেছেন?
কোডার্ট

2
এটি বলার আর একটি উপায় হ'ল "যতটা সম্ভব কার্য-অগ্রগতি রয়েছে", তাই না?
জে বাজুজি

1
@ কোড ওয়ার্কস হ্যাঁ আমি বর্তমানে এটি ব্যবহার করেছি যেখানে আমি বর্তমানে কিছুটা সাফল্যের জন্য কাজ করছি। এটি বিকাশের একটি দুর্দান্ত মজাদার উপায়, কারণ এটি বৈশিষ্ট্যমুখী। প্রত্যেকে একই সময়ে একই লক্ষ্যের দিকে কাজ করছে, সুতরাং আমি দেখতে পেয়েছি এটি টিম ওয়ার্ককে সত্যই উত্সাহ দেয়।
ওলেকসী 7:32

1
@ জয়বাউজি হ্যাঁ, বেশ। যদিও পুরো দলের সমর্থন থাকাও গুরুত্বপূর্ণ।
ওলেকসি

9
@ কোড ওয়ার্কস, মোটেও নয়। আসলে এটি সম্ভবত এটি বাড়িয়েছে। যেহেতু প্রত্যেকে একসাথে এত নিবিড়ভাবে কাজ করছিল, সেখানে কম ব্লকার উপস্থিত ছিল। যখন কোনও বিষয় এলো, কমপক্ষে দলের কোনও ব্যক্তি কীভাবে এটি সমাধান করবেন তা জানতেন এবং এটির পুরো মনোযোগ থাকায় এটি এখনই তা করতে সক্ষম হয়েছিলেন। এছাড়াও, প্রসঙ্গ-স্যুইচিং আপনার উত্পাদনশীলতার পক্ষে সাধারণত খারাপ। শুধু আপনাকে সিপিইউ জিজ্ঞাসা করুন। : পি
ওলেকসী

10

সোয়ার্মিং কেবল এই বিষয়টি বোঝায় যে কোনও কাজ বা গল্প সম্পূর্ণ করতে একাধিক লোক একসাথে কাজ করে। আমার অভিজ্ঞতায় এটি এমন কিছু নয় যা আপনি প্রায়শই করেন।

সাধারণত, আমার দলের প্রতিটি সদস্য একটি আলাদা টাস্ক এবং / অথবা আলাদা গল্পে কাজ করে। যদি কেউ পিছনে পড়ছে, বা যদি কোনও কাজ বা গল্পটি প্রথম দিকে শেষ করার ইচ্ছা হয়, তবে অন্যান্য লোকেরা অন্য কাজগুলিতে কাজ করা বন্ধ করে দেবে এবং "ঝাঁকুনি" টাস্কটি সম্পন্ন করবে, যার অর্থ তারা সবাই একসাথে একটি কাজ বা গল্পে কাজ না করা পর্যন্ত এটি কাজ করবে সম্পন্ন হয়.

আমাদের সম্প্রতি কয়েকটি সংখ্যক গল্প ছিল যা কিছুটা বিরক্তিকর, আগ্রহী কাজ ছিল was কাজ শেষ করার জন্য আমি দলকে একটি ছোট প্রেরণাদায়ক (পিজ্জা) এবং সময়সীমা (দিনের শেষ দিন) দিয়েছিলাম, তাই তারা গল্পটির সূত্রপাত করেছিল এবং এক বিকেলে কমপক্ষে দু'দিন কাজ সরিয়ে ফেলে। তারা কাজটি প্রথম দিকেই শেষ করে ফেলেছিল, তারপরে প্রতিটি দলের সদস্যরা যা কিছু কাজ করছেন তাতে ফিরে গেলেন। তারা একটি নিখরচায় দুপুরের খাবার পেয়েছিল, আমি খুব তাড়াতাড়ি কাজ শেষ করেছিলাম যা এটি স্বচ্ছ প্রকৃতির কারণে টেনে নিয়ে যেতে পারত এবং দলটি তাদের স্প্রিন্টের আগে চলে গিয়েছিল। জয়, জয়-জয়।

"ওঁকে দেওয়া" "ওহে, আসুন আপনাকে এটিতে সহায়তা করি" এর অভিনব শব্দ ছাড়া আর কিছুই নয়।


এটি অন্য উত্তর থেকে একেবারেই আলাদা বলে মনে হচ্ছে। আপনি বলছেন "যখন কোনও অস্বাভাবিক, জরুরি প্রয়োজন হয়, তখন সবাইকে এটির সাথে নিয়ে এস"। @ ওলেকসি বলেছিলেন, "উন্নয়ন চক্রের পরিকল্পনা করার সময়, প্রত্যেক ব্যক্তিকে সমান্তরালে পৃথক কার্যক্রমে কাজ করার চেয়ে প্রত্যেককে একবারে একটি কাজে রাখা ভাল better" হয় সংজ্ঞাটি প্রশংসনীয়, এবং উভয়ই কার্যকর অনুশীলন, তবে তার 4x ভোট রয়েছে, তাই আমি ধরে নিচ্ছি যে তার উত্তরটি সর্বাধিক অনুমোদিত-সংজ্ঞাটি প্রতিফলিত করে।
জে বাজুজি

@ জা বাজুজু: স্প্রিন্ট পরিকল্পনার অংশ হিসাবে সবাইকে একটি কাজ করা হয়েছে কিনা, বা প্রয়োজন অনুসারে এটি জৈবিকভাবে ঘটেছে কিনা, সংজ্ঞা এখনও অনেকটা একই - সবাই একসাথে একসাথে কাজ করে।
ব্রায়ান ওকলে

আমি মনে করি আপনার উত্তরটি এখানে খুব গুরুত্বপূর্ণ। 'গৃহীত' অন্য যে উত্তরটি হ'ল "কী"। তবে আপনার মনে হয় কীভাবে সম্বোধন করা হচ্ছে।
এপি-ইনাগো

2

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

জলাবদ্ধতা বিভিন্ন উপায়ে করা যেতে পারে:

  1. পেয়ার প্রোগ্রামিং (দুই বিকাশকারী পাশাপাশি কোডে কাজ করার জন্য বসে আছেন, একজন হ'ল "ড্রাইভার" কোড লিখছেন, অন্যটি ন্যাভিগেটর, দীর্ঘমেয়াদী দিকটি মাথায় রেখে এবং এক সাথে কোড পর্যালোচনাতে সহায়তা করে helping
    1. জোড়ের কাজ: একটি বিকাশকারী এবং পরীক্ষক একই কাজ একই সাথে কাজ করে, একটি কোডিং এবং অন্যটি টেস্টিং, রাইটিং অটোমেশন ইত্যাদি on
    2. আমি উপরে উল্লিখিত মত swarming, যা খুব সাধারণ। সাধারণত, দলের সদস্যরা একটি গল্প জড়ো করে, তবে প্রত্যেকে এই পদ্ধতিতে স্বতন্ত্র কাজগুলির মালিক হয়।
    3. মোব প্রোগ্রামিং: পুরো টিম একসাথে একটি গল্পে (বা এমনকি টাস্ক) মনোনিবেশ করে।

যে সমস্ত টিম প্রতিটি বিকাশকারীকে একটি গল্প দেয় তাদের মধ্যে "কাজ চলছে" বা ডাব্লুআইপি খুব বেশি থাকে এবং প্রায়শই অনেক গল্প শুরু হয় তবে সম্পন্ন হয় না। এটি একটি আন্তঃ-প্যাটার্ন, এবং সেরা অনুশীলন নয়।

যে দলগুলি ঝাঁকিয়ে থাকে তাদের মধ্যে কম ডাব্লুআইপি এবং আরও গল্পগুলি সম্পন্ন হওয়ার ঝোঁক থাকে - এবং সম্পন্ন করার অর্থ, আমি বিকাশিত, পরীক্ষিত, অনুমোদিত এবং মোতায়েনের জন্য প্রস্তুত। এইভাবে, এটি একটি অনুশীলন যা তত্পরতার মূল বিষয়।


1

নিম্নলিখিত নিবন্ধ InfoQ উপর swarming এক পদ্ধতির বর্ণনা

  • দলটি কোডিংয়ের বেশিরভাগ কাজের জন্য মব প্রোগ্রামিং ব্যবহার করে
  • দলের একটি অংশ বা স্বতন্ত্র দলের সদস্যরা প্রায়শই বিভক্ত হয়ে সংক্ষিপ্ত বিরতিতে দলে যোগদান করে
  • প্রত্যেকে সবকিছু করে (কোনও ভূমিকা নেই)
  • দলটি অনুমান ব্যবহার করছে না, ডাব্লুআইপি সর্বদা এক, স্ট্যান্ডআপ বা অনুরূপ অনুষ্ঠানের দরকার নেই

বিস্তারিত ব্যাখ্যার জন্য নিবন্ধটি পড়ুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.