CodeGym/Java Blog/এলোমেলো/সফটওয়্যার ডেভেলপমেন্ট পদ্ধতি
John Squirrels
লেভেল 41
San Francisco

সফটওয়্যার ডেভেলপমেন্ট পদ্ধতি

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

জলপ্রপাত

জলপ্রপাত পদ্ধতিটি প্রাচীনতমগুলির মধ্যে একটি এবং একটি কঠোরভাবে অনুক্রমিক বাস্তবায়ন জড়িত: প্রতিটি পর্যায় পরেরটি শুরু হওয়ার আগে অবশ্যই শেষ করতে হবে। অন্য কথায়, পরবর্তী পর্যায়ে একটি রূপান্তর মানে পূর্ববর্তী পর্যায়ের কাজ 100% সম্পূর্ণ। চিত্রটি দেখায় যে এটি কীভাবে কাজ করে: প্রথমে, আমরা সমস্যাটি বিশ্লেষণ করি (ডকুমেন্টের কাজগুলি, চ্যালেঞ্জগুলি নিয়ে আলোচনা করি), তারপর আমরা ডিজাইন করি (প্রকল্পের কাঠামো এই পর্যায়ে রূপ নেয়), এবং তারপরে আমরা কোড করি এবং পরীক্ষা করি। পূর্ববর্তী পর্যায়ে ফিরে আসা অনুমোদিত নয়। এই পদ্ধতিটি ছোট প্রকল্পগুলির জন্য সুপারিশ করা হয় যেখানে প্রয়োজনীয়তাগুলি আগে থেকেই পরিচিত এবং পরিবর্তনের সম্ভাবনা নেই৷ সফটওয়্যার ডেভেলপমেন্ট পদ্ধতি - 2সুবিধাদি:
  • প্রতিটি পর্যায়ে সম্পূর্ণ এবং ধারাবাহিক ডকুমেন্টেশন
  • ব্যবহারে সহজ
  • স্থিতিশীল প্রয়োজনীয়তা
  • বাজেট এবং সময়সীমা পূর্বনির্ধারিত
অসুবিধা:
  • ডকুমেন্টেশন একটি বড় পরিমাণ
  • খুব নমনীয় নয়
  • ক্লায়েন্ট পণ্যটির একটি ডেমো সংস্করণ দেখতে পারে না
  • পিছিয়ে যাওয়ার বিকল্প নেই

স্ক্রাম

স্ক্রাম হল একটি সফটওয়্যার ডেভেলপমেন্ট পদ্ধতি যা পুরো প্রক্রিয়াটিকে পুনরাবৃত্তিতে বিভক্ত করে। প্রতিটি ইন্টারঅ্যাশনের শেষে, দলটি পণ্যটির একটি ডেমো সংস্করণ সরবরাহ করতে প্রস্তুত। ছবিটি দেখায় যে দলটি সমান্তরালভাবে উন্নয়নের সমস্ত পর্যায়ে এগিয়ে যায়, প্রতিটি পুনরাবৃত্তির শেষে প্রকল্পের একটি সমাপ্ত অংশ পাওয়া সম্ভব করে তোলে। সফটওয়্যার ডেভেলপমেন্ট পদ্ধতি - 3আমি সহজ শব্দ ব্যবহার করে পদ্ধতির সারাংশ সংক্ষেপে ব্যাখ্যা করার চেষ্টা করব, তবে পরিভাষা অনেক আছে। আমি মনে করি সবচেয়ে গুরুত্বপূর্ণ বিষয় হল সারাংশ বোঝা। আপনি অভিজ্ঞতার সাথে পরিভাষা মনে রাখবেন। সমস্ত বিকাশ স্প্রিন্টে বিভক্ত (প্রায়শই 2-3 সপ্তাহ)। ব্যাকলগ আছে(কাজের তালিকা) সমগ্র উন্নয়ন সময়ের জন্য এবং প্রতিটি পৃথক স্প্রিন্টের জন্য। প্রতিটি টাস্কের নিজস্ব স্টোরি পয়েন্ট রয়েছে (কঠিন রেটিং)। প্রক্রিয়ায় প্রতিটি অংশগ্রহণকারীর একটি ভূমিকা রয়েছে:
  • স্ক্রাম টিম একটি প্রকল্পে কাজ করা পেশাদারদের (ডেভেলপার, পরীক্ষক, ডিজাইনার) নিয়ে গঠিত।
  • স্ক্রাম মাস্টার হল সেই ব্যক্তি যিনি নিশ্চিত করেন যে স্ক্রামের নীতিগুলিকে সম্মান করা হয়।
  • পণ্যের মালিক হলেন গ্রাহক।
এই পদ্ধতিটি যোগাযোগের উপর নির্ভর করে, তাই প্রচুর সংখ্যক মিটিং রয়েছে:
  • স্ট্যান্ড-আপ - এটি একটি সংক্ষিপ্ত সভা, প্রতিদিন অনুষ্ঠিত হয়, যাতে সমস্ত দলের সদস্যরা অংশ নেয়। প্রতিটি অংশগ্রহণকারী 3টি প্রশ্নের উত্তর দেয়: আমি কী করেছি? আমি কি করবো? এবং কি ব্লকিং সমস্যা আছে?
  • পরিকল্পনা সভা - এই সভাটি স্প্রিন্টের শুরুতে অনুষ্ঠিত হয়। পরবর্তী স্প্রিন্টে যে কাজগুলি করতে হবে তা এই সভায় চিহ্নিত করা হয়।
  • রেট্রোস্পেক্টিভ - এই মিটিংটি স্প্রিন্টের শেষে অনুষ্ঠিত হয় এবং এর উদ্দেশ্য হল কী ভাল করা হয়েছে এবং কী উন্নত করা যেতে পারে তা চিহ্নিত করা।
সুবিধাদি:
  • গ্রাহক উন্নয়ন প্রক্রিয়া চলাকালীন ফলাফল দেখতে পারেন
  • উন্নয়ন প্রক্রিয়ার দৈনিক মনিটরিং
  • বিকাশের সময় সামঞ্জস্য করার ক্ষমতা
  • সমস্ত দলের সদস্যদের সাথে যোগাযোগ স্থাপন
  • ডকুমেন্টেশন একটি ছোট পরিমাণ
অসুবিধা:
  • শ্রম এবং উন্নয়নের জন্য প্রয়োজনীয় অন্যান্য খরচ মূল্যায়ন করা কঠিন
  • উন্নয়ন শুরু হওয়ার আগে প্রতিবন্ধকতা চিহ্নিত করা কঠিন
  • দলের অন্যান্য সদস্যদের কাজে সবাইকে সম্পৃক্ত করা প্রয়োজন।

কানবন

কানবান হল একটি পদ্ধতি যা টিমের কাজগুলি সম্পূর্ণ করার ক্ষেত্রে অগ্রগতি কল্পনা করার উপর ভিত্তি করে। মূল ধারণাটি হল বর্তমানে সম্পাদিত কাজগুলির সংখ্যা হ্রাস করা ("প্রগতিতে" কলামে)। স্ক্রামে, দলটি সফলভাবে স্প্রিন্টগুলি সম্পন্ন করার উপর দৃষ্টি নিবদ্ধ করে। কানবানে, কাজটি প্রধান অবস্থান দখল করে। এটি রক্ষণাবেক্ষণ পর্যায়ের প্রকল্পগুলির জন্য ভাল, যেখানে প্রাথমিক কার্যকারিতা ইতিমধ্যেই বাস্তবায়িত হয়েছে এবং ন্যূনতম উন্নতি এবং বাগ ফিক্সিং বাকি রয়েছে৷ কানবানে, কাজগুলি পৃথকভাবে বরাদ্দ করা হয়। একটি টাস্ক বোর্ডের সমস্ত ধাপ অতিক্রম করে, অন্যান্য কাজের থেকে স্বাধীন, এবং একবার এটি সম্পন্ন হলে গ্রাহককে দেখানো যেতে পারে। একটি কানবান বোর্ড কলাম নিয়ে গঠিত, যার প্রতিটি একটি পৃথক উন্নয়ন প্রক্রিয়ার প্রতিনিধিত্ব করে। কিছু কলাম (উদাহরণস্বরূপ, "প্রগতিতে চলছে" ) তারা ধরে রাখতে পারে এমন কাজের সংখ্যা সীমিত করুন। এটি দ্রুত এবং সহজে কাজ বন্টন সমস্যা এলাকা খুঁজে পেতে সাহায্য করে. ছবিটি এমন একটি বোর্ডের উদাহরণ দেখায়। কলামের সংখ্যা এবং তাদের নাম পরিবর্তিত হতে পারে। আমি সবচেয়ে সাধারণ উপস্থাপন করব: সফটওয়্যার ডেভেলপমেন্ট পদ্ধতি - 4
  • করণীয় - যে কাজগুলো করতে হবে তার তালিকা
  • অগ্রগতিতে - বর্তমানে কাজ করা হচ্ছে
  • কোড রিভিউ - যে কাজগুলি সম্পন্ন করা হয়েছে এবং পর্যালোচনার জন্য জমা দেওয়া হয়েছে
  • টেস্টিং-এ কাজগুলি পরীক্ষার জন্য প্রস্তুত৷
  • সম্পন্ন - সমাপ্ত কাজ
সুবিধাদি:
  • ব্যবহারে সহজ
  • দৃশ্যমানতা (প্রতিবন্ধকতা সনাক্ত করতে সাহায্য করে, বোঝা সহজ করে)
  • প্রক্রিয়া নিজেই উচ্চ দলের সম্পৃক্ততা
  • অত্যন্ত নমনীয় উন্নয়ন
অসুবিধা:
  • একটি অস্থির কাজের তালিকা
  • দীর্ঘমেয়াদী প্রকল্পে প্রয়োগ করা কঠিন
  • কঠিন সময়সীমার অভাব

সফ্টওয়্যার উন্নয়ন পদ্ধতি সম্পর্কে একটি চূড়ান্ত শব্দ

যারা ম্যানেজমেন্ট পদে অধিষ্ঠিত বা উচ্চাকাঙ্খী তাদের অবশ্যই সফ্টওয়্যার বিকাশের পদ্ধতিগুলি পুঙ্খানুপুঙ্খভাবে বুঝতে হবে, তবে প্রত্যেকেরই অন্তত মৌলিক বিষয়গুলি বুঝতে হবে। পদ্ধতিগুলি উন্নয়ন প্রক্রিয়ার একটি অবিচ্ছেদ্য অংশ এবং শুধুমাত্র আইটি-ক্ষেত্রেই ব্যবহৃত হয় না। আমার নিবন্ধ পড়ার জন্য সময় দেওয়ার জন্য আপনাকে ধন্যবাদ. আমি এটা আপনার জন্য সহায়ক ছিল আশা করি. আমি যতটা সম্ভব সহজলভ্য এবং সংক্ষিপ্তভাবে শুধুমাত্র মূল পয়েন্টগুলি বর্ণনা করার চেষ্টা করেছি। ফলস্বরূপ, এই নিবন্ধটি সম্পূর্ণ নয়। আমি এটি সম্পর্কে আপনার মতামত শুনতে এবং আপনার প্রশ্নের উত্তর খুশি হবে. শুভকামনা!
মন্তব্য
  • জনপ্রিয়
  • নতুন
  • পুরানো
মন্তব্য লেখার জন্য তোমাকে অবশ্যই সাইন ইন করতে হবে
এই পাতায় এখনও কোনো মন্তব্য নেই