डायनेमिक सिस्टम डेवलपमेंट मेथड



डायनेमिक सिस्टम डेवलपमेंट मेथड (डीएसडीएम) एक एजाइल मैनेजमेंट प्रोजेक्ट डिलीवरी फ्रेमवर्क है, जिसे प्रारंभ में सॉफ्टवेयर डेवलपमेंट पद्धति के रूप में उपयोग किया जाता है। यह पहली बार 1994 में प्रवाहित किया गया था, डीएसडीएम ने मूल रूप से तीव्र अनुप्रयोग डेवलपमेंट (आरएडी) पद्धति में कुछ अनुशासन प्रदान करने की मांग की थी। इसके पश्चात के संस्करणों में डीएसडीएम एजाइल प्रोजेक्ट फ्रेमवर्क को संशोधित किया गया और यह सॉफ्टवेयर डेवलपमेंट और कोड निर्माण पर विशेष रूप से ध्यान केंद्रित करने के अतिरिक्त परियोजना प्रबंधन और समाधान वितरण के लिए एक सामान्य दृष्टिकोण बन गया था, और इसका उपयोग नॉन-आईटी परियोजनाओं के लिए किया जा सकता है। डीएसडीएम एजाइल प्रोजेक्ट फ्रेमवर्क पूरे प्रोजेक्ट जीवनचक्र में गतिविधियों की एक विस्तृत श्रृंखला को सम्मलित करता है और इसमें मजबूत नींव और शासन सम्मलित है, जो इसे कुछ अन्य एजाइल विधियों से भिन्न करता है। डीएसडीएम एजाइल प्रोजेक्ट फ्रेमवर्क एक पुनरावृत्त और वृद्धिशील डेवलपमेंट दृष्टिकोण है जो निरंतर उपयोगकर्ता/ग्राहक भागीदारी सहित एजाइल डेवलपमेंट के सिद्धांतों को अपनाता है।

डीएसडीएम प्रारंभ में लागत, गुणवत्ता और समय तय करता है और बताए गए समय की कमी को पूरा करने के लिए परियोजना को वितरित करने योग्य समायोजित करने के लिए मास्को के दायरे की प्राथमिकताओं को अवश्य, चाहिए, होगा और नहीं होगा में उपयोग करता है। डीएसडीएम सॉफ्टवेयर और नॉन-आईटी समाधान विकसित करने के लिए कई एजाइल सॉफ्टवेयर डेवलपमेंटों में से एक है, और यह एजाइल एलायंस का एक भाग है।

2014 में, डीएसडीएम ने 'डीएसडीएम एजाइल प्रोजेक्ट फ्रेमवर्क' में विधि का नवीनतम संस्करण प्रारंभ किया था। साथ ही नए डीएसडीएम मैनुअल ने सेवा वितरण (विशेष रूप से आईटीआईएल) प्रिंस2, सफल प्रोग्रामर्स के प्रबंधन और पीएमआई के लिए अन्य फ्रेमवर्क के साथ कार्य करने की आवश्यकता को पहचाना है। पिछले संस्करण (डीएसडीएम 4.2) में केवल एक्सट्रीम प्रोग्रामिंग के साथ डीएसडीएम का उपयोग करने के विषय में मार्गदर्शन सम्मलित था।

डीएसडीएम का इतिहास
1990 के दशक के प्रारंभ में, रैपिड एप्लीकेशन डेवलपमेंट (आरएडी) जो पूरे आईटी उद्योग में विस्तारित हो रहा था। सॉफ़्टवेयर अनुप्रयोगों के लिए उपयोगकर्ता इंटरफ़ेस प्राचीन हरी स्क्रीन से ग्राफ़िकल उपयोगकर्ता इंटरफ़ेस की ओर बढ़ रहे थे जो आज उपयोग किए जाते हैं। बाज़ार में नए एप्लिकेशन डेवलपमेंट टूल आ रहे थे, जैसे पॉवरबिल्डर इनसे डेवलपर्स को अपने प्रस्तावित समाधानों को अपने क्लाइंट के साथ अधिक सरलता से साझा करने में सक्षम बनाया गया - प्रोटोटाइप एक वास्तविकता बन गया और शास्त्रीय, अनुक्रमिक (वॉटरफॉल मॉडल) डेवलपमेंट विधियों की निराशा को एक तरफ रखा गया था।

चूंकि, आरएडी आंदोलन बहुत असंरचित था: उपयुक्त प्रक्रिया की कोई सामन्य सहमति वाली परिभाषा नहीं थी और कई संगठन अपनी परिभाषा और दृष्टिकोण के साथ आए थे। कई प्रमुख निगम संभावनाओं में बहुत रुचि रखते थे, लेकिन वे इस बात से भी चिंतित थे कि वे अंतिम डिलिवरेबल्स में गुणवत्ता के स्तर को न खो दें, जिससे फ्री-फ्लो डेवलपमेंट को बढ़ावा मिल सकता है।

डीएसडीएम कंसोर्टियम की स्थापना 1994 में सॉफ्टवेयर इंजीनियरिंग के क्षेत्र में विक्रेताओं और विशेषज्ञों के एक संघ द्वारा की गई थी और उनके सर्वोत्तम अभ्यास अनुभवों को मिलाकर एक स्वतंत्र आरएडी फ्रेमवर्क को संयुक्त रूप से विकसित करने और बढ़ावा देने के उद्देश्य से बनाया गया था। इसका प्रारंभ लंदन में बटलर समूह द्वारा आयोजित एक कार्यक्रम से हुई, उस बैठक में सभी लोग ब्लू चिप (शेयर बाजार) संगठनों जैसे ब्रिटिश एयरवेज, अमेरिकन एक्सप्रेस, ओरेकल और लॉजिका (डेटा साइंसेज और एलाइड डोमेक जैसी अन्य कंपनियों को तब से अन्य संगठनों द्वारा अवशोषित कर लिया गया है) के लिए कार्य करते थे।

जुलाई 2006 में, डीएसडीएम सार्वजनिक संस्करण 4.2 व्यक्तियों को देखने और उपयोग करने के लिए उपलब्ध कराया गया था; चूंकि, डीएसडीएम को दोबारा बेचने वाले किसी भी व्यक्ति को अभी भी गैर-लाभकारी संघ का सदस्य होना चाहिए था।

2014 में, डीएसडीएम हैंडबुक ऑनलाइन और सार्वजनिक उपलब्ध कराई गई थी। इसके अतिरिक्त, डीएसडीएम के लिए टेम्पलेट डाउनलोड किए जा सकते हैं।

अक्टूबर 2016 में डीएसडीएम कंसोर्टियम को एजाइल बिजनेस कंसोर्टियम (एबीसी) के रूप में पुनः ब्रांडेड किया गया था। एजाइल बिजनेस कंसोर्टियम एक गैर-लाभकारी, विक्रेता-स्वतंत्र संगठन है जो डीएसडीएम फ्रेमवर्क का ओनर है और उसका प्रबंधन करता है।

डीएसडीएम
डीएसडीएम एक विक्रेता-स्वतंत्र दृष्टिकोण है जो मानता है कि प्रौद्योगिकी की तुलना में लोगों की समस्याओं के कारण अधिक परियोजनाएं विफल हो जाती हैं। डीएसडीएम का ध्यान व्यावसायिक लक्ष्यों को प्राप्त करने के लिए लोगों को एक साथ प्रभावी प्रकार से कार्य करने में सहायता करने पर है। डीएसडीएम उपकरणों और तकनीकों से भी स्वतंत्र है, जो व्यवसाय को किसी विशेष विक्रेता से जोड़े बिना किसी भी व्यावसायिक और तकनीकी वातावरण में उपयोग करने में सक्षम बनाता है।

सिद्धांत
डीएसडीएम को रेखांकित करने वाले आठ सिद्धांत हैं। ये सिद्धांत टीम को उस रवैये के बारे में निर्देशित करते हैं जो उन्हें अपनाना चाहिए और जिस मानसिकता को उन्हें लगातार अच्छा प्रदर्शन करने के लिए अपनाना होता है।


 * 1) बिजनेस की जरूरत पर ध्यान दें
 * 2) समय पर पहुंचाएं
 * 3) सहयोग करें
 * 4) गुणवत्ता से कभी समझौता न करें
 * 5) दृढ़ नींव से तथा क्रमिक रूप से निर्माण करें
 * 6) पुनरावृत्तीय रूप से डेवलपमेंट करें
 * 7) लगातार और स्पष्ट रूप से संवाद करें
 * 8) नियंत्रण प्रदर्शित करें

मुख्य तकनीकें

 * टाइमबॉक्सिंग: प्रोजेक्ट को भागों में विभाजित करके, प्रत्येक को एक निश्चित बजट और डिलीवरी की तारीख के साथ, क्रमिक रूप से पूरा करने का दृष्टिकोण है। प्रत्येक भाग के लिए कई आवश्यकताओं को प्राथमिकता दी जाती है और चुना जाता है। चूँकि समय और बजट निश्चित हैं, केवल शेष चर आवश्यकताएँ हैं। इसलिए यदि किसी परियोजना में समय या धन की कमी हो रही है तो सबसे कम प्राथमिकता वाली आवश्यकताओं को छोड़ दिया जाता है। इसका अर्थ यह नहीं है कि एक अधूरा उत्पाद वितरित किया जाता है, क्योंकि पेरेटो सिद्धांत के अनुसार परियोजना का 80% भाग सिस्टम आवश्यकताओं के 20% से आता है, इसलिए जब तक सिस्टम में उन सबसे महत्वपूर्ण 20% आवश्यकताओं को लागू किया जाता है, तब तक सिस्टम इसलिए यह व्यावसायिक आवश्यकताओं को पूरा करता है और कोई भी सिस्टम पहली कोशिश में पूरे प्रकार से तैयार नहीं होता है।
 * मास्को विधि: कार्य वस्तुओं या आवश्यकताओं को प्राथमिकता देने की एक तकनीक है। यह एक संक्षिप्त शब्द है जिसका अर्थ है:
 * होना आवश्यक है,
 * होना चाहिए,
 * हो सकता था,
 * नहीं होगा,


 * प्रोटोटाइपिंग: परियोजना के प्रारंभिक चरण में डेवलपमेंट के अनुसार सिस्टम के प्रोटोटाइप के निर्माण को संदर्भित करता है। यह सिस्टम में कमियों का शीघ्र पता लगाने में सक्षम बनाता है और भविष्य के उपयोगकर्ताओं को सिस्टम को 'टेस्ट-ड्राइव' करने की अनुमति देता है। इस प्रकार अच्छी उपयोगकर्ता भागीदारी का अनुभव होता है, जो डीएसडीएम या उस स्थिति के लिए किसी भी सिस्टम डेवलपमेंट परियोजना के प्रमुख सफलता कारकों में से एक है।
 * परीक्षण: अच्छी गुणवत्ता का समाधान सुनिश्चित करने में सहायता करता है, डीएसडीएम प्रत्येक पुनरावृत्ति के समय परीक्षण की वकालत करता है। चूंकि डीएसडीएम एक उपकरण और तकनीक स्वतंत्र विधि है, इसलिए प्रोजेक्ट टीम अपनी स्वयं की परीक्षण प्रबंधन विधि चुनने के लिए स्वतंत्र है।
 * कार्यशाला: आवश्यकताओं, कार्यात्मकताओं और आपसी समझ पर चर्चा करने के लिए परियोजना हितधारकों को एक साथ लाती है।
 * सिस्टम मॉडलिंग: एक व्यावसायिक डोमेन की कल्पना करने और समझ में सुधार करने में सहायता करता है। विकसित किए जा रहे सिस्टम या व्यावसायिक क्षेत्र के विशिष्ट पहलुओं का एक आरेखीय प्रतिनिधित्व तैयार करता है।
 * कॉन्फ़िगरेशन प्रबंधन: एक ही समय में डेवलपमेंट के अनुसार कई डिलिवरेबल्स और प्रत्येक टाइम-बॉक्स के अंत में वृद्धिशील रूप से वितरित किए जाने के साथ, डिलिवरेबल्स को पूरा होने की दिशा में अच्छे प्रकार से प्रबंधित करने की आवश्यकता होती है।

भूमिकाएँ
डीएसडीएम परिवेश में कुछ भूमिकाएँ प्रस्तुत की गई हैं। यह महत्वपूर्ण है कि परियोजना प्रारंभ करने से पहले परियोजना सदस्यों को विभिन्न भूमिकाओं में नियुक्त किया जाना चाहिए, प्रत्येक भूमिका की अपनी जिम्मेदारी होती है। भूमिकाएँ हैं:
 * एग्जीक्यूटिव स्पोंसर्स: तथाकथित प्रोजेक्ट चैंपियन उपयोगकर्ता संगठन की एक महत्वपूर्ण भूमिका जिसके पास उचित धन और संसाधन देने की क्षमता और जिम्मेदारी है। इस भूमिका में निर्णय लेने की परम शक्ति होती है।
 * दूरदर्शी: वह जिसके पास यह सुनिश्चित करके परियोजना को आरंभ करने की जिम्मेदारी है कि आवश्यक आवश्यकताओं को शीघ्र पूरा किया जाए, दूरदर्शी के पास सिस्टम और परियोजना के व्यावसायिक उद्देश्यों की सबसे उपयुक्त धारणा होती है। एक अन्य कार्य डेवलपमेंट प्रक्रिया की देख-रेख करना और उसे सही रास्ते पर रखना है।
 * अम्बेस्डर यूजर: परियोजना में उपयोगकर्ता समुदाय का ज्ञान लाता है, यह सुनिश्चित करता है कि डेवलपर्स को डेवलपमेंट प्रक्रिया के समय पर्याप्त उपयोगकर्ता प्रतिक्रिया प्राप्त हो।
 * एडवाइजर यूजर: कोई भी उपयोगकर्ता हो सकता है जो एक महत्वपूर्ण दृष्टिकोण का प्रतिनिधित्व करता है और परियोजना का दैनिक ज्ञान लाता है।
 * प्रोजेक्ट मैनेजर: उपयोगकर्ता समुदाय या आईटी स्टाफ में से कोई भी हो सकता है जो सामान्य रूप से परियोजना का प्रबंधन करता है।
 * तकनीकी समन्वयक: सिस्टम आर्किटेक्चर को डिजाइन करने और परियोजना की तकनीकी गुणवत्ता को नियंत्रित करने के लिए जिम्मेदार होता है।
 * टीम लीडर: अपनी टीम का नेतृत्व करता है और यह सुनिश्चित करता है कि टीम समग्र रूप से प्रभावी प्रकार से कार्य करे।
 * सॉलूशन डेवलपर: सिस्टम आवश्यकताओं की व्याख्या करें और वितरण योग्य कोड विकसित करने और प्रोटोटाइप बनाने सहित इसे मॉडल करें।
 * सॉलूशन टैस्टर: कुछ परीक्षण करके तकनीकी सीमा तक शुद्धता की जांच करता है, जहां आवश्यक हो वहां दोष उठाता है और एक बार ठीक हो जाने पर दोबारा परीक्षण करता है। परीक्षक को कुछ टिप्पणी और दस्तावेज़ उपलब्ध कराने होते है।
 * स्क्राइब: प्रत्येक कार्यशाला में की गई आवश्यकताओं, समझौतों और निर्णयों को इकट्ठा करने और रिकॉर्ड करने के लिए जिम्मेदार होता है।
 * फैसिलिटेटर: कार्यशालाओं की प्रगति के प्रबंधन के लिए जिम्मेदार, एक प्रेरक के रूप में कार्य करता है।
 * स्पेशलिस्ट रोल्स: बिजनेस आर्किटेक्ट, गुणवत्ता प्रबंधक, सिस्टम इंटीग्रेटर, आदि।

महत्वपूर्ण सफलता कारक
डीएसडीएम के भीतर कई कारकों की पहचान की गई है जो सफल परियोजनाओं को सुनिश्चित करने के लिए बहुत महत्वपूर्ण हैं।


 * कारक 1: सबसे पहले वरिष्ठ प्रबंधन और अन्य कर्मचारियों द्वारा डीएसडीएम की स्वीकृति होती है। यह सुनिश्चित करता है कि प्रोजेक्ट के विभिन्न कलाकार प्रारंभ से ही प्रेरित हों और पूरे प्रोजेक्ट में सम्मलित रहें।
 * कारक 2: सीधे कारक 1 से प्राप्त: अंतिम-उपयोगकर्ता की भागीदारी सुनिश्चित करने के लिए प्रबंधन की प्रोटोटाइपिंग दृष्टिकोण को कार्यात्मक प्रोटोटाइप का परीक्षण और मूल्यांकन करने के लिए अंतिम उपयोगकर्ताओं द्वारा एक मजबूत और समर्पित भागीदारी की आवश्यकता होती है।
 * कारक 3: प्रोजेक्ट टीम में कुशल सदस्य सम्मलित होने चाहिए जो एक स्थिर संघ बनाते हैं। एक महत्वपूर्ण विषय प्रोजेक्ट टीम का सशक्तिकरण है। इसका अर्थ यह है कि टीम (या उसके एक या अधिक सदस्यों) के पास उच्च प्रबंधन को औपचारिक प्रस्ताव लिखे बिना परियोजना के संबंध में महत्वपूर्ण निर्णय लेने की शक्ति और संभावना होनी चाहिए, जो बहुत समय लेने वाली हो सकती है। प्रोजेक्ट टीम को एक सफल प्रोजेक्ट चलाने में सक्षम बनाने के लिए, उन्हें प्रोजेक्ट को संचालित करने के लिए उपयुक्त तकनीक की भी आवश्यकता होती है। इसका अर्थ है एक डेवलपमेंट वातावरण, परियोजना प्रबंधन उपकरण इत्यादि।
 * कारक 4: अंत में, डीएसडीएम यह भी बताता है कि ग्राहक और विक्रेता के बीच एक सहायक संबंध आवश्यक है। यह उन दोनों परियोजनाओं पर लागू होता है जो कंपनियों के भीतर आंतरिक रूप से या बाहरी ठेकेदारों द्वारा साकार की जाती हैं। सहायक संबंध सुनिश्चित करने में सहायता वगैरह हो सकती है।

अन्य डेवलपमेंट फ्रेमवर्क की तुलना
डीएसडीएम को पुनरावृत्त और वृद्धिशील डेवलपमेंट फ्रेमवर्क की एक विस्तृत श्रृंखला का भाग माना जा सकता है, विशेष रूप से एजाइल सॉफ्टवेयर डेवलपमेंट और ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग विधियों का समर्थन करने वाले, इनमें स्क्रम (सॉफ़्टवेयर डेवलपमेंट), एक्सट्रीम प्रोग्रामिंग (एक्सपी), डिसिप्लिंड एजाइल डिलीवरी (डीएडी), और रैशनल यूनीफाइड प्रोसेस (आरयूपी) (लेकिन यह सब इन्हीं तक सीमित नहीं हैं) सम्मलित हैं।

डीएसडीएम के प्रकार, इनमें निम्नलिखित विशेषताएं हैं:
 * वे सभी आवश्यकताओं को प्राथमिकता देते हैं और उनके अनुसार क्रमिक रूप से कार्य करते हैं, एक सिस्टम या उत्पाद का निर्माण करते हैं।
 * वे उपकरण-स्वतंत्र फ्रेमवर्क हैं। यह उपयोगकर्ताओं को प्रक्रिया के विशिष्ट चरणों को अपनी तकनीकों से भरने की अनुमति देता है और पसंद की सॉफ़्टवेयर सहायता प्राप्त कराता है।
 * डेवलपमेंट में चर समय/संसाधन नहीं, अपितु आवश्यकताएं हैं। यह दृष्टिकोण डीएसडीएम के मुख्य लक्ष्यों को सुनिश्चित करता है, अर्थात् समय सीमा और बजट के भीतर रखता है।
 * सिस्टम में सभी हितधारकों के बीच संचार और उनकी भागीदारी पर एक मजबूत फोकस,यद्यपि इसे अन्य विधियों से संबोधित किया जाता है, डीएसडीएम एक सफल परिणाम सुनिश्चित करने के लिए परियोजना के प्रति प्रतिबद्धता में दृढ़ता से विश्वास करता है।

यह भी देखें

 * लीन सॉफ्टवेयर डेवलपमेंट
 * एजाइल सॉफ्टवेयर डेवलपमेंट

अग्रिम पठन

 * Coleman and Verbruggen: A quality software process for rapid application development, Software Quality Journal 7, p. 107-1222 (1998)
 * Beynon-Davies and Williams: The diffusion of information systems development methods, Journal of Strategic Information Systems 12 p. 29-46 (2003)
 * Sjaak Brinkkemper, Saeki and Harmsen: Assembly Techniques for Method Engineering, Advanced Information Systems Engineering, Proceedings of CaiSE'98, Springer Verlag (1998)
 * Abrahamsson, Salo, Ronkainen, Warsta Agile Software Development Methods: Review and Analysis, VTT Publications 478, p. 61-68 (2002)
 * Tuffs, Stapleton, West, Eason: Inter-operability of DSDM with the Rational Unified Process, DSDM Consortium, Issue 1, p. 1-29 (1999)
 * Rietmann: DSDM in a bird’s eye view, DSDM Consortium, p. 3-8 (2001)
 * Chris Barry, Kieran Conboy, Michael Lang, Gregory Wojtkowski and Wita Wojtkowski: Information Systems Development: Challenges in Practice, Theory, and Education, Volume 1
 * Keith Richards: Agile Project Management: running PRINCE2 projects with DSDM Atern, TSO (2007)
 * The DSDM Agile Project Framework (2014)
 * DSDM Agile Project Management Framework (v6, 2014) interactive mind map

बाहरी संबंध

 * The Agile Business Consortium (formerly, DSDM Consortium)
 * AgilePM wiki