সফটওয়্যার ডেভেলপমেন্ট লাইফ সাইকেল (SDLC) হল সফটওয়্যার বানানোর একটা পদ্ধতিগত উপায় যার দ্বারা নির্ভুল এবং উচ্চমান সম্পন্ন সফটওয়্যার পাই। SDLC মূললক্ষ্য হল উচ্চমান সম্পন্ন সফটওয়্যার এবং কাস্টমারের প্রয়োজন মিটাতে সক্ষম। আমাদের ডেভেলপমেন্ট হতে হবে নির্দিষ্ট সময় এবং ব্যয়ের মধ্যে। SDLC তে বিস্তারিত প্লান উল্লেখ করা থাকে যার ভেতরে থাকে সফটওয়্যার বানানোর পূর্বের প্লান, কিভাবে এটা তৈরি হবে, বানানোর পর এটা কিভাবে মেইনটেইন হবে এই সব কিছু বলা থাকে। SDLC এর লাইফ সাইকেলে নির্দিষ্ট কতগুলো ধাপ আছে এবং প্রতিটা ধাপেই কাজের ধরন আলাদা।
ধাপ ১ - Planning and Requirement Analysis
Requirement Analysis হল সবচেয়ে গুরুত্বপূর্ণ এবং প্রাথমিক ধাপ। এইটা সাধারণত টিমের সিনিয়র মেম্বাররা করে কাস্টমার এবং ওই বিষয়ের এক্সপার্টদের মতামতের ভিত্তিতে। এই তথ্যগুলোর উপর নির্ভর করে তৈরি করা হয় প্রোজেক্টের প্রাথমিক রোডম্যাপ বানানো হয় এবং সেটার সব দিক থেকে ফিজিবিলিটি চেক করে দেখা হয়। অর্থাৎ প্রোজেক্ট যেন নির্দিষ্ট সমইয়ে এবং নির্দিষ্ট বাজেটের ভেতরে শেষ করা যাবে কিনা। Requirement অনুসারে কোয়ালিটি এবং ভবিষ্যতে যে কোন রিস্ক আছে কিনা সেই প্লান ও এই ধাপেই করা হয়।
ধাপ ২ - Defining Requirements
Requirement Analysis হওয়ার পর পরবর্তী ধাপ হল সফটওয়্যারের Requirement গুলো একত্রিত করে তুলে ধরা এবং একটা ডকুমেন্টে লেখা। এরপর সকল Requirement গুলো প্রোজেক্টের সকল অংশীদারদের কাছ থেকে অনুমোদন করাতে হয়। এই সকল কিছু যেই ডকুমেন্টে থাকে তার নাম হল "SRS" অথবা "Software Requirement Specification" যার ভেতরে পুরো প্রোজেক্ট লাইফ সাইকেলের সমস্ত Requirement থাকবে।
ধাপ ৩ - Designing the Product Architecture
SRS তৈরি হবার পর এটা অনুসরণ করে সফটওয়ারের আর্কিটেকচার ডিজাইন করতে হবে। SRS এর ভেতরে সমস্ত Requirement এর উপর ভিত্তি করে বিভিন্নভাবে আর্কিটেকচার ডিজাইন করতে হয় এবং এইটা যেই ডকুমেন্টে থাকে সেই ডকুমেন্টের নাম Design Document Specification অথবা DDS. প্রোজেক্টের সকল অংশীদার বা stakeholders রা DDS ডকুমেন্ট রিভিউ করে বিভিন্ন প্যারামিটারের উপর ভিত্তি করে যেমনঃ বাজেট, সময়, রিস্ক, প্রোজেক্টটা কত বড় ইত্যাদি। তারপর সবচেয়ে ভাল আর্কিটেকচার নির্ধারন করা হয়।
ধাপ ৪ - Building or Developing the Product
এই ধাপে প্রোডাক্টের ডেভেলপমেন্ট শুরু হয়। DDS ডকুমেন্ট অনুসারে এইটার কোডিং করা হয়। ডিজাইন যতটা সুশৃঙ্খল এবং বিস্তারিত ভাবে করা হয়, কোডিং এ ও তখন ঝামেলা কম হয়। ডেভেলপারদের তাদের নিজের প্রতিষ্ঠানের কোডিং গাইডলাইন মেনে চলতে হয়। কেমন সফটওয়্যার বানানো হবে তার উপর ভিত্তি করে প্রোগ্রামিং ল্যাংগুয়েজ নির্ধারণ করা হয়।
ধাপ ৫ - Testing the Product
প্রোডাক্ট তৈরি হয় যাবার পর টেস্টিং environment এ Deploy করতে হয়। এরপর টেস্টিং টিম পুরো সিস্টেম এবং ফাংশান টেস্ট করে যেন সব ফিচার ঠিকঠাক মত কাজ করে। এরপর যদি কোন বাগ আসে তারপর সেইগুলো ফিক্স করে আবার টেস্ট করতে হবে। এরপর পর্যায়ক্রমে আমরা বাগ ফ্রি এবং স্ট্যান্ডার্ড সফটওয়্যার পাব।
ধাপ ৬ - Deployment in the Market and Maintenance
পুরো প্রোডাক্ট রেডি হওয়ার পর সিস্টেম deploy করতে হয়। এরপর কিছুদিন রিয়েল এনভাইরোমেন্টে টেস্ট চলতে থাকে। সেখান থেকে কোন বাগ পেলে ওইটা ফিক্স করা হয়। এরপর প্রোজেক্ট মেইন্টেইন করতে হয়।
জনপ্রিয় কিছু SDLC মডেল
- Waterfall model
- Agile Model
- V-Model
- Spiral Model