Tag Archives: এজাইল

এজাইলঃ পুনরাবৃত্তিক ধাপের পরিকল্পনা (Iteration Planning)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

এজাইলে টিমের জন্য পুনরাবৃত্তিক ধাপের পরিকল্পনার উদ্দেশ্য হল উঁচু সারির প্রোডাক্ট ব্যাকলগ আইটেমের সেট সম্পন্ন করা। এই কমিটমেন্ট পুনরাবৃত্তিক ধাপের লেন্থ/length ও টিমের কাজের গতির উপর নির্ভর করে নির্ধারিত থাকে।

প্রক্রিয়ার সাথে কারা সংযুক্ত

  • স্ক্রাম মাস্টারঃ স্ক্রাম মাস্টার এজাইল ডেলিভারি টিমের সহায়ক ব্যাক্তি হিসেবে কাজ করেন,
  • প্রোডাক্ট ওনারঃ প্রোডাক্ট ওনার প্রোডাক্ট ব্যাকলগ ও তাদের গ্রহণযোগ্যতামূলক ক্রাইটেরিয়া নিয়ে বিস্তারিত যে বিষয়গুলো আছে তাদের সমাধান করেন।
  • এজাইল টিমঃ টিমের বৈশিষ্ট্য ও কাজ এজাইল ডেলিভারির উপর নির্ভর করে,এবং কমিটমেন্ট পূরণের জন্য কাঙ্খিত লক্ষ্যমাত্রা নির্ধারণ করে।

পরিকল্পনার অপরিহার্য বিষয়

  • প্রোডাক্ট ব্যাকলগের আইটেমগুলো নির্দিষ্ট আকারের ও সংশ্লিষ্ট স্টোরি পয়েন্ট সমৃদ্ধ।
  • পোর্টফলিও আইটেমগুলো প্রোডাক্ট ওনার কর্তৃক রেঙ্কিং করানো।
  • প্রতিটা পোর্টফলিও আইটেমের জন্য গ্রহণযোগ্যতামূলক ক্রাইটেরিয়া পরিস্কারভাবে নির্ধারিত।

পরিকল্পনা প্রক্রিয়া

পুনরাবৃত্তির পরিকল্পনার ক্ষেত্রে নিচের ধাপগুলো সম্পন্ন হয়,

  • পুনরাবৃত্তিক ধাপে কতগুলো স্টোরি সংস্থাপন করা যাবে
  • স্টোরিগুলোকে টাস্কহিসেবে ভাঙ্গা এবং পৃথক ওনারের অধীনে সেই টাস্ক বণ্টন করা
  • প্রতিটা টাস্ককে ঘণ্টা এককে ভাগ করা,
  • এই এস্টিমেশন পুনরাবৃত্তিক ধাপে প্রতি টিম মেম্বারের কত ঘণ্টা করে লাগবে তা নির্ধারণে সাহায্য করে।
  • টিম মেম্বারদের তাদের গতি ও সক্ষমতা অনুযায়ী টাস্ক দেয়া হয় যাতে কারো উপর বেশি চাপ না পরে।

 

কাজের গতি পরিমাপ করা

এজাইল টিম কাজের গতি পরিমাপ করে পূর্বের পুনরাবৃত্তিক ধাপের উপর ভিত্তি করে। কোনও ধাপে ইউজার স্টোরি সম্পন্ন করতে প্রয়োজনীয় ইউনিটের গড় সংখ্যা থেকে কাজের গতি পাওয়া যায়।

চলমান ধাপে কতগুলো ইউজার স্টোরি সম্পন্ন হবে তা জানতে পরিকল্পিত কাজের গতি টিমকে সাহায্য করে।

টিমের সক্ষমতা

কোনও টিমের সক্ষমতা তিনটি সূচক থেকে নির্ধারণ করা যায়,

  • দৈনিক আদর্শ কর্মঘণ্টার সংখ্যা
  • প্রতি ধাপে ব্যাক্তি পর্যায়ে প্রাপ্ত দিনের সংখ্যা
  • সদস্যদের তার টিমের জন্য স্বতন্ত্রভাবে বরাদ্দ সময়ের হার

পরিকল্পনার ধাপগুলো

  •   প্রোডাক্ট ওনার প্রোডাক্ট ব্যাকলগের সবচেয়ে উঁচু সারির আইটেম বর্ণনা করেন
  • টিম আইটেম সম্পন্ন হতে প্রয়োজনীয় টাস্ক বর্ণনা করে
  • টিম মেম্বাররা কাজ বুঝে নেয়
  • টিম মেম্বাররা প্রতি কাজের জন্য সময় বরাদ্দ করে নেয়
  • এই প্রক্রিয়া পুনরাবৃত্তিক ধাপের সব আইটেমের জন্য রিপিট হতে থাকে
  • কোনও সদস্যের উপর চাপ পরলে বাকিদের মধ্যে কাজ বণ্টন করে সেই চাপ কমিয়ে আনা হয়।

 

এজাইল মেনিফেস্টো (Agile – Manifesto)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

২০০১ সালের ফেব্রুয়ারিতে ইউতাহ এর স্নোবার্ড রিসোর্টে ১৭ জন ডেভলপার একসাথে হন লাইটওয়েট ডেভলপমেন্ট নিয়ে আলোচনা করার জন্য। তাঁদের সম্মেলনের ফলে সফটওয়ার ডেভলপমেন্টের জন্য আমরা এজাইল মেনিফেস্টো পাই।

“আমরা এটি করে এবং অন্যকে এটি করতে সাহায্য করে সফটওয়ার ডেভলপমেন্টের জন্য ভাল উপায় বের করছি। এই কাজের মাধ্যমে আমরা যে বিষয়গুলো মূল্যায়ন করব তা হল,

  • ব্যাক্তি ও যোগাযোগকে প্রক্রিয়া ও যন্ত্রপাতির উপরে মূল্যায়ন করব,
  • ওয়ার্কিং সফটওয়ারকে কম্প্রিহেনসিভ ডকুমেন্টেশনের উপরে মূল্যায়ন করব,
  • গ্রাহক সম্পর্ককে কন্টাক্ট নিগোসিয়েশনের উপরে মূল্যায়ন করব,
  • পরিবর্তনের সাথে তাল মেলানোকে প্ল্যান অনুসরণের উপরে মূল্যায়ন করব,

অর্থাৎ বাম পাশের আইটেমগুলোকে ডানপাশের আইটেমের তুলনায় বেশি মূল্য দিতে হবে।”

 

এজাইল মেনিফেস্টোর ১২ টি মূলনীতি হল

• গ্রাহক সন্তুষ্টি

সচল ও দ্রুত উৎপাদনের মাধ্যমে গ্রাহক সন্তুষ্টি অর্জন করা,

• পরিবর্তনকে স্বাগত জানানো

সফটওয়ার ডেভলপমেন্টে পরিবর্তন অবশ্যম্ভাবী , তাই পরিবর্তনকে স্বাগত জানানো একটি প্রধান বিষয়।

• একটি ওয়ার্কিং সফটওয়ার উৎপাদন করা

স্বল্প সময়ে যেমন কয়েক সপ্তাহ থেকে কয়েক মাসের মধ্যে গ্রাহক চাহিদা অনুসারে একটি ওয়ার্কিং সফটওয়ার উৎপাদন করা।

• সমন্বয় সাধন

ব্যবসায়িক লোকজন ও ডেভলপারদের প্রকল্পের পুরোটা সময় সমন্বয়ের মাধ্যমে কাজ করতে হবে।

• মোটিভেশন

ব্যক্তি পর্যায়ে মোটিভেট করার প্রবণতা নিয়ে প্রকল্প গ্রহণ করতে হবে।

• মুখোমুখি কথোপকথন

ডেভলপমেন্ট টিমে মুখোমুখি কথোপকথন সবচেয়ে কার্যকর ও গঠনমূলক যোগাযোগ প্রক্রিয়া।

• ওয়ার্কিং সফটওয়ার অনুযায়ী কাজের অগ্রগতি পরিমাপ করা

ওয়ার্কিং সফটওয়ার একটি মূল বিষয়। এর মাধ্যমে অগ্রগতি পরিমাপ করা যাবে।

• কন্সটেন্ট প্যাক মেইনটেইন করা

এজাইল সাসটেইনেবল ডেভলপমেন্টের জন্য কন্সটেন্ট প্যাক মেইনটেইন করবে

• মনিটরিং

গতি বৃদ্ধির জন্য টেকনিক্যাল বিষয় ও ভাল ডিজাইনের জন্য মনিটরিং করা

• সারল্য

বিষয় আশয়গুলো সহজ রাখা ও সরল টার্ম ব্যবহার করা

• স্বনিয়ন্ত্রিত টিম

আদর্শ এজাইল টিম স্বনিয়ন্ত্রিত হবে, অন্য টিমের উপর বেশি নির্ভর করবে না কারণ স্বতন্ত্র টিম থেকেই সেরা স্থাপত্যগত, ডিজাইনভিত্তিক ও প্রত্যাশামত সফটওয়ার পাওয়া যায়।

• নিয়মিত কাজ রিভিউ করা

নিয়মিত কাজ রিভিউ করলে টিম জানতে পারে কীভাবে আরও বেশি দক্ষ হওয়া যায় ও সেই অনুযায়ী বিহেভিয়ার সমন্বয় করতে পারে।

 

এজাইলের বৈশিষ্ট্য (Features of Agile)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

বেশিরভাগ এজাইল ডেভলাপমেন্ট পদ্ধতি কোনও সমস্যা সমাধানের সময় এটিকে ছোট ছোট টাস্কে ভাগ করে নেয়।

কোনও প্রকল্পের জন্যই সরাসরি কোনও দীর্ঘমেয়াদী পরিকল্পনা থাকে না।

পুনরাবৃত্তিমূলক বিষয়গুলো স্বল্পমেয়াদী যেমন ১ থেকে ৪ সপ্তাহের মেয়াদে পরিকল্পনা করা হয়।

প্রতিটা পুনরাবৃত্তিমূলক বিষয়ের জন্য একটি করে ক্রস ফাংশনাল টিম তৈরি করা হয় যা সফটওয়ার ডেভলাপমেন্টের সকল ধাপ যেমন পরিকল্পনা, রিকোয়ারমেন্ট বিশ্লেষণ, ডিজাইন, কোডিং, ইউনিট টেস্টিং এবং এক্সেপটেন্স টেস্টিং করে থাকে।

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

এর পরে রিভিউ কমেন্ট গ্রহণ করা হয় এবং কর্মক্ষম সফটওয়ারের জন্য এর সংশ্লিষ্টতা যাচাই করে দেখা হয়।

 

মুখোমুখি যোগাযোগ

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

একটি ইনফরমেশন রেডিয়েটর যা কিনা একটি ফিজিকাল ডিসপ্লে, অফিসে সুস্থিতভাবে বসানো থাকে, যার মাধ্যমে যে কেউ এজাইল টিমের অগ্রগতি সম্পর্কে জানতে পারে। এই ইনফরমেশন রেডিয়েটর প্রকল্পের সর্বশেষ অবস্থা নির্দেশ করে থাকে।

 

ফিডব্যাক লুপ

ডেইলি স্ট্যান্ডআপ এজাইল ডেভলাপমেন্টের একটি কমন ধারা, এটি ডেইলি স্কাম নামেও পরিচিত। এখানে প্রত্যেক সদস্য সংক্ষিপ্ত সেশনে নিজেদের সম্পন্ন করা কাজের অগ্রগতি, ভবিষ্যৎ ও এক্ষেত্রে কিসের মোকাবেলা করতে হচ্ছে তা নিয়ে আলোচনা করে।

 

এজাইলঃ ডেইলি স্ট্যান্ডআপ । Agile Daily Stand Up

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

ডেইলি স্ট্যান্ডআপ হল এজাইল টিমের সকল সদস্যদের মধ্যে দৈনিক স্ট্যাটাস মীটিং। এটি কাজের রেগুলার আপডেটই কেবল দেয় না বরং সব সদস্যের সমস্যাগুলোকে সামনে আনে যার ফলে এগুলো সমাধান করা সহজ হয়। ডেইলি স্ট্যান্ডআপ এজাইল টিমের একটি অবশ্য করনীয় কাজ, এবং সবসময় এর চর্চা দরকার, তা যেভাবেই এজাইল টিমের গঠন হয়ে থাক না কেন।

 

ডেইলি স্ট্যান্ডআপ আসলে কী

এটি মূলত এজাইল টিমের সকল সদস্যদের মধ্যে দৈনিক স্ট্যাটাস মীটিং আর সাধারণত ১৫ মিনিট স্থায়ী হয়। প্রত্যেক সদস্যকে তিনটি গুরুত্বপূর্ণ প্রশ্নের উত্তর দিতে হয়,

  • আমি গতকাল কী করেছি?
  • আগামীকাল কী করছি?
  • কোনও বাধা বিপত্তি আছে কিনা

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

 

ডেইলি স্ট্যান্ডআপ কেন গুরুত্বপূর্ণ

এজাইল ডেইলি স্ট্যান্ডআপের কিছু সুবিধা আছে,সেগুলো হল,

  • টিম দৈনন্দিন অগ্রযাত্রা সম্পর্কে অবহিত থাকে, পর্যায়বৃত্তিক ধাপের প্ল্যানমত কাজ এগুচ্ছে কিনা তা জানা যায়
  • প্রত্যেক সদস্য তার লক্ষ্য সম্পর্কে বাকিদের জানায়
  • কোনও বিলম্ব বা বাধা থাকলে তা দৃশ্যমান হয়

 

ডেইলি স্ট্যান্ডআপে কে কে থাকেন

  • স্কাম মাস্টার, প্রোডাক্ট ওনার, ডেলিভারি টিম দৈনিক ভিত্তিতে উপস্থিত থাকেন
  • অংশীদার ও গ্রাহকদের উপস্থিত থাকতে উৎসাহিত করা হয়
  • প্রত্যেক সদস্যের অনুসন্ধান ও সমস্যার বিষয়ে নোট নেয়ার দায়িত্ব স্কাম মাস্টারের

 

ভৌগলিকভাবে বিচ্ছুরিত টিমের ক্ষেত্রে

ডেইলি স্ট্যান্ডআপ বিভিন্নভাবে হতে পারে, ভিন্ন টাইম জোনে অবস্থিত সদস্যদের জন্য যা করনীয়ঃ

  • রোটেশনভিত্তিক একজন সদস্য নির্বাচন করতে হবে যে ভিন্ন টাইম জোনে অবস্থিত সদস্যদের নিয়ে মীটিং করতে পারবে
  • প্রতি টিমের জন্য ভিন্ন স্ট্যান্ডআপ মীটিঙের আয়োজন করা এবং রেলি, শেয়ার পয়েন্ট বা উইকির মত মাধ্যমে স্ট্যাটাস আপডেট রাখা,
  • অনেক ধরনের কমুনিকেশন টুল প্রস্তুত রাখা ইত্যাদি।

 

এজাইল পদ্দতিতে সম্পাদিত (done) এর সংজ্ঞাঃ The definition of done for User Story, Iteration, and Release

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

ইউজার স্টোরি, পুনরাবৃত্তিক ধাপ ও রিলিজের ক্ষেত্রে সম্পাদিত (done) এর সংজ্ঞা নিচে দেয়া হল,

ইউজার স্টোরি

ইউজার স্টোরি হল এক ধরনের রিকোয়ারমেন্ট যা ব্যবহারকারীর সহজাত বর্ণনায় কয়েক লাইনে বিবৃত হয় ও একটি পুনরাবৃত্তিক ধাপে সম্পন্ন হয়। একটি ইউজার স্টোরি তখনই সম্পন্ন বা ডান(done) হবে যখন

  • সংশ্লিষ্ট সব কোড অন্তর্ভুক্ত হয়েছে,
  • সব ইউনিট টেস্ট কেস পার হয়েছে,
  • সব এক্সেপ্টেন্স টেস্ট কেস পার হয়েছে,
  • হেল্প টেক্সট লেখা হয়েছে,
  • প্রোডাক্ট ওনার স্টোরিটাকে গ্রহণ করেছে।

পুনরাবৃত্তিক ধাপ

পুনরাবৃত্তিক ধাপ হল নির্দিষ্ট সময়ের ফ্রেমে ইউজার স্টোরির কালেকশন, সমস্যা ও গ্রহণযোগ্যতার সমন্বয় যা উৎপাদনের থেত্রে বিবেচিত হবে। এই পুনরাবৃত্তিক ধাপগুলো বিবৃত হয় তখন, যখন পুনরাবৃত্তিক ধাপের পরিকল্পনা, খসড়া ও রিভিউ মীটিং করা হয়। একে স্প্রিন্টও বলা হয়। একটি পুনরাবৃত্তিক ধাপ সম্পন্ন হয় তখন যখন এই কাজগুলো সম্পন্ন হয়ে থাকেঃ

  • প্রোডাক্ট ব্যাকআপ সম্পন্ন
  • পারফর্মেন্স পরীক্ষিত
  • ইউজার স্টোরিগুলো গৃহীত ও পরবর্তী ধাপে পাঠানো হয়ে গেছে
  • ত্রুটি  সারানো হয়ে গেছে অথবা পরবর্তী ধাপের জন্য স্থগিত করা হয়েছে

রিলিজ

রিলিজ একটি বড় মাইলস্টোন যা প্রকল্পের আভ্যন্তরীণ বা বাইরে উৎপাদন, টেস্টকৃত ভার্সন ইত্যাদি বোঝায়। একটি রিলিজ তখনি সম্পন্ন হবে যখন,

  • সিস্টেমে স্ট্রেস টেস্ট করা হয়ে গেছে,
  • পারফর্মেন্স যাচাই করা হয়েছে,
  • সিকিউরিটি ভ্যালিডেশন হয়ে গেছে,
  • দুর্যোগ ব্যবস্থাপনা পরিকল্পনা যাচাই করা হয়েছে।

 

এজাইল – পণ্য ব্যাকলগ (Agile Product Backlog)

Huge Sell on Popular Electronics

পণ্য ব্যাকলগ হচ্ছে সম্পাদন করা হবেে এমন একটি তালিকা । আইটেমগুলোকে বৈশিষ্ট্য অনুযায়ী স্থান দেওয়া হয় । আদর্শ ক্ষেত্রে আইটেমগুলোকে ইউজার স্টোরি অনুযায়ী বিভাজন/Divide করা উচিত।

পণ্য ব্যকলগ গুরুত্বপূর্ণ কেন?

  • এটি তৈরি করা হয় যাতে প্রত্যেকটি এবং সকল বৈশিষ্ট্য এর আনুমানিক হিসাব করা যায় ।
  • এটি পণ্যের রোডম্যাপ পরিকল্পনায় সাহায্য করে।
  • এটা বৈশিষ্ট্যসমূহের পুণরায় প্রাধান্য নির্ধারণ করতে সাহায্য করে, যাতে পণ্যের মান আরো বাড়ানো যায়।
  • এটি কোন বৈশিষ্ট্যটি প্রথম প্রাধান্য পাবে তা নির্ণয় করতে সাহায্য করে। সকল বৈশিষ্ট্য এর একসাথে র‌্যংক নির্ণয় করে এবং এরপরে মূল্য নির্ধারণ করে।

 

পণ্য ব্যাকলগের বৈশিষ্ট্য

  • প্রত্যেক পণ্যের একটি করে পণ্য ব্যকলগ থাকা উচিত যার বড় এবং আরো বড় বৈশিষ্টের সেট থাকতে পারে ।
  • একাধিক দল একটি ব্যাকলগ এর উপর কাজ করতে পারে।
  • ব্যবসায়িক মান, প্রযুক্তিগত মান, ঝুঁকি ব্যবস্থাপনা বা কৌশলগত ফিটনেস বৈশিষ্ট্যের উপর ভিত্তি করে পণ্যের র‌্যাঙ্ক নির্ণয় করা হয়।
  • উচ্চ র‌্যাংকিং সম্পন্ন  পণ্য রিলিজ পরিকল্পনা করার সময়ের ছোট ছোট ঘটনার উপর ভিত্তি করে এই পণ্যের পুনরাবৃত্তি করা হবে কিনা তা নির্ধারণ করে।

বাংলায় এজাইল পদ্ধতি টিউটোরিয়াল (Agile Methodology Tutorial in Bangla)

Huge Sell on Popular Electronics

Naim Mustafa Ali
BSc. in Soil, Water and Environment, MS in Water Science from University of Dhaka
Agile একটি সফিওয়্যার ডেভেলপমেন্ট পদ্ধতি যাতে ক্রমানুসাতে 1 থেতে 4 সপ্তাতেে সংক্ষিপ্ত পুনোরাবৃত্তি ব্যবহার করে একটি সফটওয়্যার নির্মাণ করা হয় যেন তা পরিবর্তিত ব্যবসাইক চাহিদার সঙ্গে সংযুক্ত করা যায়। এই সহজ টিউটোরিয়ালে উপযুক্ত উদাহরণ ব্যবহারের মাধ্যমে Agile development সম্পর্কে সাধারণ এবং দ্রুতভাবে বুঝতে সাহায্য করবে।

পাঠকবর্গ

এই টিউটোরিয়ালটি Beginners দের Agile এর মূলনীতি ও তার বাস্তবায়ন বুঝতে সাহায্যের জন্য প্রস্তুত করা হয়েছে। এই টিউটোরিয়াল শেষ করার পর আপনি নিজেকে দক্ষতার একটি মধ্যম পর্যায়ে খুঁজে পাবেন, যেখান থেকে আপনি আরও এগিয়ে গেতে পারবেন।

পূর্বশর্ত

এই টিউটোরিয়াল সঙ্গে অগ্রসর হওয়ার আগে, আপনার প্রয়োজনীয় সফটওয়্যার ডেভেলপমেন্ট ধারণা যেমনঃ কোডিং, টেস্টিং ইত্যাদির মৌলিক জ্ঞান প্রয়োজন।