सिस्टम डेवलपमेंट लाइफ साइकल
सिस्टम डेवलपमेंट लाइफ साइकल (SDLC), या "सॉफ्टवेयर डेवलपमेंट लाइफ साइकल" सिस्टम इंजीनियरिंग और सॉफ्टवेयर इंजीनियरिंग में सिस्टम का निर्माण करने या फेरबदल करने की प्रक्रिया है और ऐसी मॉडल एवं कार्य प्रणालियां हैं, जिनका लोग इन सिस्टमों को विकसित करने के लिए इस्तेमाल करते हैं। यह अवधारणा सामान्यतया कंप्यूटर या सूचना प्रणाली से सम्बंधित होती हैं।
सॉफ्टवेयर इंजीनियरिंग में SDLC अवधारणा कई प्रकार के सॉफ्टवेयर डेवलपमेंट कार्य प्रणालियों को सहायता पहुंचाती हैं। ये कार्य प्रणालियां सूचना प्रणाली : सॉफ्टवेयर डेवलपमेंट प्रक्रिया के निर्माण की योजना बनाने एवं उसे नियंत्रित करने का ढांचा तैयार करती हैं।
SDLC सिस्टम विशलेषक द्वारा सूचना सिस्टम के विकास में प्रयुक्त की जाने वाली सामान्य तार्किक प्रक्रिया है जिसमें जरूरतें, वैद्यता, प्रशिक्षण और उपयोगकर्ता का स्वामित्व शामिल हैं। कोई भी SDLC उच्च गुणवत्ता सिस्टम का परिणाम देने वाला होना चाहिए, जो ग्राहकों की उम्मीदों से ज्यादा या उसके बराबर होता हैं, जो समय और अनुमानित लागत के भीतर पूरा होकर पहुंच जाता है, वर्तमान और योजनाबद्ध सूचना प्रोद्योगिकी अवसंरचना में प्रभावी और सुचारू रूप से काम करता है और इसका निर्वाह करना सस्ता और बढ़ाना लागत-प्रभावी होता हैं।  कंप्यूटर सिस्टम बहुत जटिल हो गया है और अक्सर (विशेष रूप से सर्विस-ऑरिएंटेड आर्किटेक्चर के आगमन के साथ) बहु पारंपरिक सिस्टम लिंक की आपूर्ति विभिन्न सॉफ्टवेयर विक्रेताओं द्वारा होती हैं। जटिलता के इस स्तर के प्रबंधन के लिए, कई SDLC मॉडल बनाए जा चुके हैं: "वाटरफॉल", "फाउनटेन", "स्पाइरल", "बिल्ड एंड फिक्स", "रैपिड फोटोटाइपिंग", "इनक्रिमेंटल" और "सिनक्रोनाईज़ एवं स्टेबलाइज".
SDLC मॉडल को कुशल स्पेक्ट्रम के साथ, परस्पर प्रभावी और परिणामी परिभाषित किया जा सकता हैं। कुशल कार्यप्रणालियां जैसे कि XP और स्क्रम अल्प भार प्रक्रियाओं पर ध्यान देती हैं जो विकास चक्र के साथ तीव्र बदलाव की अनुमति देता हैं। संवादात्मक (Iterative) कार्य प्रणालियां जैसे कि रैशनल यूनिफाइड प्रोसेस और डाइनामिक सिस्टम्स डेवलपमेंट मेथड, सीमित परियोजना प्रसार पर ध्यान केन्द्रित करती हैं और बहु पुनरावृत्तियों के द्वारा उत्पादों को बढ़ा रही हैं या सुधार रहीं हैं। अनुक्रमिक या बिग डिजाईन अपफ्रंट (BDUF) मॉडल, जैसे "वाटरफॉल", बड़ी परियोजनाओं और जोखिम के मार्गदर्शन के लिए पूर्ण और सही योजना बनाने पर केन्द्रित रहती हैं जिससे सफल और पूर्वानुमानित परिणाम प्राप्त हो।
कुछ दक्ष और पुनरावृत्तीय प्रस्ताव SDLC टर्म को अनुक्रमिक या 'ज्यादा पारम्परिक' प्रक्रियाओं के साथ भ्रमित कर देते हैं, हालांकि, SDLC डिजाईन, कार्यान्वयन और सॉफ्टवेयर रिलीज़ की सभी कार्यप्रणालियों के लिए एक अम्ब्रेला टर्म हैं
परियोजना प्रबंधन में एक प्रोजेक्ट का जीवन चक्र और एक "सिस्टम डेवलपमेंट लाइफ साइकल" दोनों रहता है, जिसके दौरान कई विशिष्ट गतिविधियां घटित होती हैं। प्रोजेक्ट लाइफ साइकल (PLC) प्रोजेक्ट की सभी गतिविधियों का चक्कर लगाती है, जबकि सिस्टम डेवलपमेंट लाइफ साइकल उत्पाद जरूरतों को पूरा करने पर केन्द्रित रहती हैं
सिस्टम डेवलपमेंट लाइफ साइकल (SDLC) कार्य प्रणाली का ऐसा प्रकार है, जिसका सूचना सिस्टम को बनाने की प्रक्रिया को परिभाषित करने में प्रयोग होता है, जीवन चक्र के हर स्तर को दुहराकर सूचना सिस्टम को एक बहुत संकल्पित, संरचना और मेंथोडिकल तरीके से विकसित करने के लिए विचार किया जाता है। परंपरागत विकास सिस्टम्स जीवन चक्र 1960 के दशक में बड़े पैमाने के व्यावसायिक समूह के युग में बड़े पैमाने के क्रियाशील व्यवसाय प्रणाली विकास करने के लिए प्रारम्भ हुआ। सूचना सिस्टम्स गतिविधियां हेवी डाटा प्रासेसिंग और नम्बर क्रंचिंग रूटीन्स के आस-पास चक्कर लगाती हैं।
1980 के दशक में स्ट्रक्चर्ड सिस्टम्स एनालाइसिस और डिजाईन मेथड (SSADM) SDLC में आधारित था। SSADM सूचना सिस्टम्स के विश्लेषण और डिजाईन का एक सिस्टम दृष्टिकोण, सरकारी वाणिज्यिक कार्यालय के लिए निर्मित, एक UK सरकारी कार्यालय सरकार में प्रौद्योगिकी के इस्तेमाल के साथ संबद्ध हुई। 1980 के दशक से पारंपरिक जीवन चक्र सिस्टम डेवलपमेंट में प्रवेश करती हैं जो तेजी से वैकल्पिक दृष्टिकोण और ढांचों के साथ प्रतिस्थापित हुई है, जिसने पारंपरिक SDLC की कुछ जन्मजात कमियों से बाहर निकलने का प्रयास किया।
सिस्टम डेवलपमेंट लाइफ साइकल (SDLC) महत्वपूर्ण चरणों का अनुसरण करती हैं जो विकासकर्ता के लिए आवश्यक है जैसे कि योजना बनाने, विश्लेषण, डिजाईन और कार्यान्वयन और नीचे के भाग में समझाया गया हैं। कई सिस्टम्स विकास जीवन चक्र अस्तित्व में हैं। सबसे पुराना मॉडल, जिसे मूलत: "द सिस्टम्स विकास जीवन चक्र" माना जाता था वाटरफॉल मॉडल है, चरणों का एक अनुक्रम जिसमें हर चरण का निर्गम अगले चरण के लिए आगत हो जाता है। ये चरण सामान्यतः उसी आधारभूत कदमों का अनुसरण करती हैं लेकिन कई विभिन्न वाटरफॉल कार्य प्रणालियां क़दमों को अलग नाम देती हैं और कदमों की संख्या में 4 और 7 के बीच का अंतर होता है। कोई भी सिस्टम डेवलपमेंट लाइफ साइकल मॉडल बिल्कुल सही नहीं होता है लेकिन क़दमों को गुणवत्ताशील और विभिन्न चरणों में बांटा जा सकता है।
भावी परियोजना का उच्च स्तरीय रूप उत्पन्न करने और परियोजना का लक्ष्य निर्धारित करने के लिए। कभी-कभी निधि प्राप्त करने के प्रयास में उच्च प्रबंधन को परियोजना पेश करने के लिए व्यवहार्यता अध्ययन का उपयोग किया जाता है। परियोजनाओं को आमतौर पर व्यवहार्यता के तीन क्षेत्रों में मूल्यांकित किया जाता है: अर्थ सम्बन्धी, कार्य सम्बन्धी और तकनीक सम्बन्धी. इसके अलावा, इसका प्रयोग प्रयोजना को पटरी पर रखने के संदर्भ में और MIS टीम की प्रगति का मूल्यांकन करने में भी होता है। MIS उन चरणों का पूरक भी है। इस चरण को विश्लेषण चरण भी कहा जाता है।
सिस्टम विश्लेषण का उद्देश्य सिस्टम को फिक्स करने के प्रयास में समस्या कहां है को तय करना है। इस चरण में सिस्टम को विभिन्न हिस्सों में तोड़ना और स्थिति के विश्लेषण के लिए आरेख खींचना शामिल हैं। परियोजना का उद्देश्य का विश्लेषण विभाजित कार्य जिसको निर्माण करने के जरुरत है और उपयोगकर्ता को शामिल रखने का प्रयास जिससे कि निश्चित आवश्यकताओं को परिभाषित किया जा सके।  आवश्यक गैदेरिंग को कभी-कभी विस्तृत और सही जरूरतों को प्राप्त करने के लिए ग्राहक के साथ-साथ सेवा प्रदाताओं के व्यक्तिगत/टीम की जरुरत पड़ती है।
सिस्टम डिजाईन में कार्यों और परिचालनों का विस्तार से वर्णन किया जाता है जिसमें पटल अभिन्यास (स्क्रीन लेआउट्स), व्यापार के नियम, प्रक्रिया आरेख और दूसरे दस्तावेज़-प्रलेखन शामिल हैं। इस चरण का निर्गमन नये सिस्टम को मापदंड के रूप में या उपसिस्टम के रूप में वर्णन करेगा।
डिजाईन चरण में आवश्यकताओं को अपने प्रारंभिक आगत के रूप में लिया जाता है। इन आवश्यकताओं की पहचान स्वीकृत आवश्यक दस्तावेज़ में हो जाती है। हर जरुरत के लिए, एक या ज्यादा डिजाईन अवयवों का सेट साक्षात्कार, कार्यशालाएं और/या आदर्श प्रयासों के परिणाम में पेश की जायेगी. डिजाईन अवयव वांछित सॉफ्टवेयर विशेषताओं का विस्तार से वर्णन करती है और साधारणतः कार्यात्मक पदानुक्रम आरेख, पटल अभिन्यास आरेख, व्यवसाय नियमों की सारणी, व्यापार प्रक्रिया आरेख, सिउडोकोड और एक पूर्ण सत्ता-संबध पूर्ण डाटा शब्दकोश के साथ शामिल हैं। इन डिजाईन अवयवों को पर्याप्त विस्तार के साथ सॉफ्टवेयर का वर्णन करने के लिए निर्धारित किया जाता है जिसमें कुशल प्रोग्रामर्स न्यूनतन अतिरिक्त निवेश के साथ सॉफ्टवेयर डेवलपमेंट कर सके।
मोड्यूलर और उपसिस्टम्स प्रोग्रामिंग कोड इस चरण के दौरान पूरी की जाती है। इकाई परीक्षण और मापांक परीक्षण इस स्तर में डिवेलपरों के द्वारा की जाती हैं। यह चरण अगले चरण के साथ अंतर्मिश्रित है जिसमें मुख्य परियोजना के समाकलन के पहले व्यक्तिगत मोड्यूल को परीक्षण की जरुरत पड़ेगी.
सॉफ्टवेयर परीक्षण में कोड का विभिन्न स्तरों पर परीक्षण होता है। इकाई, सिस्टम और उपयोगकर्ता स्वीकृति परीक्षणों को कई बार किया जाता हैं। यह एक ग्रे एरिया है क्योंकि इसमें कई विचार अस्तित्व में है कि अगर कोई पुनरावृत्ति घटित हो जाए तो परीक्षण के चरण क्या हो और कितनी हो। आमतौर पर पुनरावृत्ति वाटरफॉल मॉडल का भाग नहीं है लेकिन कुछ इस चरण में घटित होते हैं।सिस्टम के फैलाव में वृद्धियों या सिस्टम के समापन से पहले परिवर्तन और सेवा मुक्त करना सम्मिलित है। सिस्टम का रख-रखाव SDLC का एक महत्वपूर्ण पहलू है संगठन में मुख्य कर्मचारी परिवर्तन जगहों के रूप में नये परिवर्तन कार्यान्वित की जायेगी; जिसको सिस्टम आधुनिकी कारणों की जरुरत होगी।
सिस्टम डेवलपमेंट लाइफ साइकल चरण परियोजना गतिविधि के लिए प्रोग्रामैटिक गाइड के रूप में काम करती है और परियोजना के विषय से काम करती है और परियोजना के विषय से गहरे मिलान करके परियोजनाओं को चलाने का लचीला लेकिन अनुकूल रास्ता प्रदान करती है। SDLC चरण के हर एक उद्देश्य को इस विभाग में मुख्य प्रदेयों, दिये गये कार्यों की व्याख्या और प्रभावी प्रबंधन के लिए संबधित नियंत्रित उद्देश्यों के सारांश के साथ परिभाषित किया गया हैं। परियोजनाएं कार्यान्वित करने के साथ हर SDLC चरण के दौरान नियंत्रण उद्देश्यों का निर्माण और संचालन करना परियोजना प्रबंधक के लिए बहुत संकटपूर्ण है। वांछित या प्रस्तावित परिणाम का स्पष्ट कथन प्रदान करने में नियंत्रण उद्देश्य मदद करती है और संपूर्ण SDLC प्रक्रिया के अंतगर्त प्रयोग होना चाहिए। कंट्रोल ओब्जेक्टिव्स को मुख्य वर्गों (डोमेन्स) में समूहीकृत किया जा सकता है और जैसा कि चित्र में दर्शाया गया है, यह SDLC चरणों से जुड़ा हुआ है।
किसी भी शुरूआती SDLC के प्रबंधन और नियंत्रण के लिए हर परियोजना को कुछ डिग्री वर्क अवरोध स्ट्रक्चर (WBS) का निर्माण करने के लिए आवश्यक कार्यों की सूची और पकड़ने की जरुरत होगी। WBS और सभी प्रोग्रामैटिक सामग्री परियोजना नोटबुक के "प्रोजेक्ट डिसक्रिप्शन" विभाग में रखा जाना चाहिए। WBS स्वरूप को अधिकांशतः परियोजना प्रबंधक को सौंप दिया जाता है जो इसे इस ढंग से स्थापित करता है कि परियोजना कार्य की सबसे अच्छी व्याख्या हो जाती है। कुछ मुख्य क्षेत्र हैं जो WBS में SDLC नीति के अंश के रूप में जरुर वर्णित किये जाए. निम्नलिखित आरेख मुख्य क्षेत्रों का वर्णन करता है जो परियोजना प्रबंधक द्वारा निर्मित तरीके में WBS में व्याव्याचित की जायेगी.
कार्य अवरोध संरचना के ऊपरी विभाग को मुख्य चरणों और परियोजना के मील के पत्थर को संक्षिप्त व्यवहार में पहचानना चाहिए। इसके अतिरिक्त, उपरी विभाग को संपूर्ण विषय का अवलोकन और परियोजना की समय सीमा प्रदान करनी चाहिए और परियोजना अनुमोदन के लिए आरंभिक परियोजना विवरण प्रयास का भाग होगा। WBS का मध्य विभाग WBS कार्य विकास के गाइड के रूप में सात सिस्टम डेवलपमेंट लाइफ साइकल (SDLC) पर आधारित हैं। WBS तत्व माइल्सटोंन्स से बना होना चाहिए और "क्रियाकलाप" के विरोध में "कार्य" और एक निश्चित अवधि (साधारणतः दो हफ्ते या ज्यादा) रहनी चाहिए। प्रत्येक कार्य में एक औसत दर्जे का निर्गम जरुरी हो (जैसे: दस्तावेज़, निर्णय, या विश्लेषण). एक WBS कार्य एक या अधिक क्रियाकलापों (जैसे- सॉफ्टवेयर इंजीनियरिंग, सिस्टम इंजीनियरिंग) पर आश्रित हो सकता है और उसको दूसरे कार्यों के साथ घनिष्ट सहयोग की जरुरत पड़ सकती है चाहे वह आंतरिक या बाह्य परियोजना हो। परियोजना का कोई भाग जिसे कोनट्रैकटर्स से समर्थन की जरुरत हो, उसके पास SDLC चरणों से उपर्युक्त कार्यों को शामिल करने के लिए लिखित स्टेटमेंट ऑफ़ वर्क (SOW) होनी चाहिए।  SOW का विकास SDLC के किसी विशेष चरण के दौरान नहीं होता लेकिन SDLC प्रक्रिया से कार्य को शामिल करने के लिए विकसित होता है जो बाह्य संसाधनों जैसे ठेकेदारों द्वारा आयोजित हो सकता हैं।
बेसलाइंस सिस्टम डेवलपमेंट लाइफ साइकल (SDLC) का एक महत्वपूर्ण भाग हैं। ये बेसलाइंस SDLC के चार से पांच चरणों के बाद निर्मित होते हैं और मॉडल के पुनरावृत्ति प्रकृति के लिए महत्वपूर्ण हैं. SDLC में हर बेसलाइंस को एक माइलस्टोन माना गया है। सिस्टम डेवलपमेंट लाइफ साइकल (SDLC) के पूरक सॉफ्टवेयर डेवलपमेंट सिस्टम हैं:आधुनिक कंप्यूटिंग दुनिया में कुछ लोग अपने सिस्टम डेवलपमेंट लाइफ साइकल (SDLC) के लिए सख्त वाटरफॉल मॉडल का प्रयोग करेंगे क्योंकि कई आधुनिक कार्यप्रणालियां इस सोच को हटा चुकी हैं। कुछ लोग तर्क देते हैं कि SDLC अब एजाइल कंप्यूटिंग जैसे मॉडल पर लागू नहीं होता लेकिन यह अभी भी प्रौद्योगिकी हलकों में व्यापक रूप से इस्तेमाल होता है। SDLC अभ्यास को सॉफ्टवेयर डेवलपमेंट के पारंपरिक मॉडल में लाभ होता है जो अपने आप को संरचित माहौल में ज्यादा लाभ पहुंचाती हैं। SDLC कार्यप्रणाली का प्रयोग नुकसानदायक उस वक्त है जब परिवर्तनीय विकास की जरुरत होती है या (i.e वेब विकास या इ-कमर्स) जहां पणधारी को नियमित रूप से अवलोकन की जरुरत है कि सॉफ्टवेयर कैसा डिजाईन हुआ है। SDLC को ताकत या कमजोरियों के नज़रियें से देखने के बजाय बहुत ज्यादा जरुरी है SDLC मॉडल से सर्वोत्तम कार्यप्रणालियों को लेना और इसे डिजाईन किए सॉफ्टवेयर के लिए जो कुछ भी ज्यादा उपर्युक्त हो उस पर लागू करना।
SDLC का एक वैकल्पिक तीव्र अनुप्रयोग विकास है, जो प्रोटोटाइपिंग, संयुक्त अनुप्रयोग विकास और CASE टूल्स के कार्यान्वयन को जोड़ती है। RAD के लाभ गति, कम विकास लागत और विकास प्रक्रिया में सक्रिय उपयोगकर्ता योगदान.
इसलिए वाटरफॉल मॉडल सबसे पुराना वास्तविक SDLC मॉडल है इसलिए सबसे प्रभावी मॉडल है ऐसा सिर्फ इसलिए नहीं मानना चाहिए। एक समय मॉडल मुख्य तौर पर स्वचालित क्रियाकलापों की दुनिया के लिए लाभदायक था जो लिपिकों और एकाउन्टैन्टों को सौपा गया था। जो कुछ भी हो, प्रौद्योगिकी विकास की दुनिया मांग कर रही है कि सिस्टम के पास प्रभावी कार्यक्षमता है जो हेल्प डेस्क तकनीशीयन/प्रशासक या सूचना प्रौद्योगिकी विशेषज्ञों/विश्लेषकों की सहायता करेगा।