সফটওয়্যার উন্নয়ন প্রক্রিয়া
সফটওয়্যার প্রকৌশলে সফটওয়্যার উন্নয়ন প্রক্রিয়া হল সফটওয়্যারের নকশা, পণ্য ব্যাবস্থাপনা ও প্রকল্প ব্যাবস্থাপনার উন্নতির জন্য সফটওয়্যার উন্নয়নকে আলাদা আলাদা ধাপে ভাগ করে নেয়ার প্রক্রিয়া। এটি সফটওয়্যার উন্নয়ন জীবনচক্র হিসেবেও পরিচিত। একজন ছাত্র এস এস সি পাস করতে হলে প্রথম শেণী থেকে ক্রমানুসারে দশম শেণী পর্যন্ত পাস করতে হয়, ঠিক একি ভাবে একটি সফটওয়্যার তৈরী করতে হলে সফটওয়্যার উন্নয়ন প্রক্রিয়া (SDLC) ধাপ অনুুসারে কাজ করতে হয়। নির্দিষ্ট প্রেরণীয় (en:Deliverable) ও হস্তনির্মিত বস্তু (artifact), যেগুলো ১টি প্রকল্প দল (project team) দ্বারা ১টি অ্যাপ্লিকেশনের উন্নয়ন ও রক্ষণাবেক্ষণের জন্য তৈরি ও সম্পন্ন করা হয়, সেগুলোর প্রাক-সংজ্ঞাও এই প্রণালীবিদ্যার (methodology) অন্তর্ভুক্ত হতে পারে। বেশিরভাগ আধুনিক উন্নয়ন প্রক্রিয়াকে অস্পষ্টভাবে ক্ষিপ্র (agile) বলা যেতে পারে। অন্যান্য পদ্ধতির মধ্যে রয়েছে প্রপাতাকার উন্নয়ন (en:waterfall), প্রাথমিক নমুনাভিত্তিক উন্নয়ন (en:prototyping), পুনরাবৃত্ত ও ক্রমবর্ধমান উন্নয়ন (en:Iterative and incremental development), সর্পিল উন্নয়ন (en:Spiral development), দ্রুত অ্যাপ্লিকেশন উন্নয়ন (en:Rapid application development) ও চরম প্রোগ্রামিং (en:Extreme programing)। কেউ কেউ কোন জীবনচক্র "মডেল"-কে এক শ্রেণির প্রণালীবিদ্যা (methodologies)-এর জন্য বেশ সাধারণ পরিভাষা হিসেবে বিবেচনা করে। আবার, তারা কোন সফটওয়্যার উন্নয়ন "প্রক্রিয়া"-কে কোন নির্দিষ্ট প্রতিষ্ঠানের বেছে নেওয়া একটি নির্দিষ্ট প্রক্রিয়া বুঝাতে বেশ নির্দিষ্ট পরিভাষা হিসেবে বিবেচনা করে। উদাহরণস্বরূপ, অনেক নির্দিষ্ট সফটওয়্যার উন্নয়ন প্রক্রিয়া আছে যেগুলো সর্পিল জীবনচক্র "মডেল"-এর সাথে মানানসই। এই ক্ষেত্রকে সাধারণত পদ্ধতি উন্নয়ন জীবনচক্রের উপসেট হিসেবে ধরা হয়।