मुझे लगता है कि पहली बात यह है कि फुर्तीले होने और चुस्त होने के बीच अंतर है। धीरे-धीरे फुर्तीली तकनीकों और विशेषताओं को रोल करना - क्रॉस-फ़ंक्शनल टीमों, अनुकूली योजना, विकासवादी / वृद्धिशील वितरण, समय-बॉक्सिंग पुनरावृत्तियों, और यहां तक कि लीन से अवधारणाओं को प्रस्तुत करना चरम प्रोग्रामिंग, स्क्रम, या क्रिस्टल को पेश करने की तुलना में बहुत अलग है।
आप स्पष्ट रूप से ग्राहक की भागीदारी का उल्लेख करते हैं। हाँ, चुस्त कार्यप्रणाली के कई ग्राहक भागीदारी के लिए कहते हैं, लेकिन यह चुस्त होने के लिए आवश्यक नहीं है। प्रत्येक सरकारी / रक्षा संबंधी कार्यक्रम में, मेरे पास हमेशा एक कार्यक्रम या परियोजना प्रबंधक होता है जो ग्राहक के संपर्क का बिंदु होता है। यह व्यक्ति "ग्राहक की आवाज़" बन जाता है। यह धीमा हो सकता है क्योंकि वे टेलीकांफ्रेंस या ईमेल या कॉल करते हैं और स्पष्ट करते हैं, लेकिन आपके पास एक ही व्यक्ति (या एक समूह, यदि आपके पास डिप्टी पीएम भी हैं) आपकी टीम का ग्राहक प्रतिनिधि हो सकता है। बेशक, यह काफी समान नहीं है। लेकिन लचीला होने और बदलने का जवाब देने के बारे में चुस्त नहीं है?
आप कुछ प्रमुख अवधारणाओं का भी उल्लेख करते हैं: पूर्वनिर्धारित आवश्यकताएं, "दीवार पर फेंक दिया गया" सुविधा अनुरोध, प्राथमिकता की कमी क्योंकि "वे सभी महत्वपूर्ण हैं", और निश्चित-लागत और / या निर्धारित-अनुसूची परियोजनाएं। इनमें से प्रत्येक को अलग-अलग तरीकों से संबोधित किया जा सकता है।
यदि आपको लगता है कि आपके सामने आपकी सभी आवश्यकताएं हैं, तो संभावना है कि आप नहीं हैं। आवश्यकताएँ बदल जाती हैं। सिर्फ इसलिए कि आपके पास एक "समाप्त और हस्ताक्षरित" विनिर्देश है इसका मतलब यह नहीं है कि यह पत्थर में सेट है। आपके पास जो भी आवश्यकताएं दस्तावेज़ हैं, उन्हें देखते हुए कि आप कैसे सहज और / या अनुबंध द्वारा निर्दिष्ट तरीके से कब्जा करते हैं और आवश्यकताओं, डिजाइन और वास्तुकला को वितरित करते हैं। इसके अलावा, यह देखें कि क्या आप इलाज कर सकते हैं ये जीवित दस्तावेज हैं (एक डिज़ाइन दस्तावेज़ जिसे मैंने आज काम पर देखा था उसे संशोधन जी के रूप में लेबल किया गया है, जिसका अर्थ है कि यह 8 वें अपडेट पर है)। किसी दिए गए पुनरावृत्ति में टीबीडी के रूप में आप कितना छोड़ सकते हैं और इस बारे में पूछें कि अब कितनी मजबूती की जरूरत है - कुछ देना और लेना हो सकता है।
अपने दस्तावेज के साथ चुस्त रहें। "आपकी टीम क्या चाहती है" और "ग्राहक क्या चाहता है" के बीच प्रयासों की नकल न करें। उदाहरण के लिए, यदि आपका ग्राहक पारंपरिक सॉफ़्टवेयर आवश्यकताओं के विनिर्देश चाहता है और आपकी टीम उपयोगकर्ता कहानियों का उपयोग करना चाहती है, तो एक पारंपरिक SRS के अनुकूल होने का प्रयास करें और उपयोगकर्ता कहानियों के बजाय एक्शन आइटम और रोलिंग एक्शन आइटम सूची का उपयोग करें ताकि आप समय व्यतीत न करें दोनों "सिस्टम करेगा ..." और "क्योंकि करने में सक्षम होना चाहिए" तैयार करना। यह टीम के हिस्से पर अनुशासन लेता है, हालांकि, परियोजनाओं के बीच मतभेदों को अनुकूलित करने के लिए। प्रतिबिंबों में समस्याओं को कैप्चर करें।
एक बार जब आप विकास कर लेते हैं, तो आप 5 या 6 पुनरावृत्तियों को चला सकते हैं, और फिर अपने ग्राहक को अपने कार्यान्वयन का एक सबसेट देखने के लिए अपनी सुविधा के लिए आमंत्रित कर सकते हैं। इस प्रक्रिया को कुल्ला और दोहराएं। यह कुछ कार्यप्रणाली द्वारा मांग की गई निरंतर भागीदारी नहीं है, लेकिन आपके पास उच्च दृश्यता का लाभ है। यदि आपका ग्राहक नहीं कहता है, तो कम से कम आपने कोशिश की। यदि वे हां कहते हैं, तो आप चुस्त होने पर उन्हें बता सकते हैं। एक परियोजना पर मैं गया था, ग्राहक हर कुछ महीने (3-5 महीने, आमतौर पर) साइट का दौरा किया। वे हमें क्यूए परीक्षण से गुजरते हुए देखेंगे, वे इंजीनियरों के साथ चिंताओं पर चर्चा करेंगे, और कार्यक्रम / परियोजना कार्यालय के साथ व्यापार करेंगे। यह सभी के लिए एक ही पेज पर आने का अवसर था।
परीक्षण और रखरखाव अन्य चुस्त परियोजना के समान होता है। उचित तरीके से अपनी परीक्षण प्रक्रिया और दस्तावेज़ दोष बनाएं, प्रति अनुबंध दायित्वों के अनुसार मीट्रिक ट्रैक करें, और दस्तावेज़ परीक्षण परिणाम। यदि आप टीडीडी का पालन करना चाहते हैं, तो इसके लिए जाएं। निरंतर एकीकरण एक और अच्छा विचार है। परियोजना की स्थिति की बैठकों के दौरान, आपका प्रोजेक्ट प्रबंधक यह कहने के लिए "हम एन आवश्यकताओं को लागू किया है, एम परीक्षण, एक्स परीक्षण पास" और धन के साथ लोगों को परियोजना के स्वास्थ्य और स्थिति पर अपडेट करने के लिए इस जानकारी का उपयोग कर सकते हैं।
पैसे की बात करें तो हमारे पास फिक्स्ड-कॉस्ट और / या फिक्स्ड-शेड्यूल की समस्या है।
निश्चित कार्यक्रम के साथ व्यवहार करना काफी सरल है। आपकी आवश्यकताओं को देखते हुए, आप जानते हैं कि आप कितने पुनरावृत्तियों को पूरा कर सकते हैं। प्रत्येक पुनरावृत्ति के लिए आपका कार्यभार कार्यान्वयन, परीक्षण और एकीकृत करने के लिए सुविधाओं के मामले में बहुत अधिक पत्थर में सेट है। यह मुश्किल हो सकता है, लेकिन सुविधाओं को तोड़ना और उन्हें पहले से पुनरावृत्तियों को सौंपना असंभव नहीं है। यह ग्राहक को आमंत्रित करने के बारे में मेरी बात पर वापस जाता है - यदि आपके पास एक वर्ष है और 2 सप्ताह के पुनरावृत्तियों का उपयोग कर रहे हैं, तो संभवतः ग्राहक को त्रैमासिक रूप से आमंत्रित करें (और उन्हें प्रत्येक तिमाही में आमंत्रित करें) और उन्हें पिछले कार्य के परिणाम दिखाएं। उन्हें अपनी आवश्यकताओं, आपकी भविष्य की योजनाओं, और आप शेड्यूलिंग के बारे में कैसे जा रहे हैं, की प्राथमिकताएं देखने दें।
एक निश्चित बजट के साथ काम करना समान है। आपको पता है कि आपके पास परियोजना के लिए कितना समय है, आपके पास कितने संसाधन हैं, उनकी लागत कितनी है, और इसलिए कितने घंटे हर कोई इस पर काम कर सकता है। यह सुनिश्चित करने की बात है कि हर कोई इस पर ध्यान से नज़र रखे। यदि आपकी कंपनी ओवरटाइम की लागत खा सकती है, तो इसके लिए जाएं। अन्यथा, सुनिश्चित करें कि हर कोई समय की उपयुक्त लंबाई काम करता है और सभी को उत्पादक बनाए रखने के लिए अच्छे समय प्रबंधन कौशल और समय-बॉक्सिंग का उपयोग करता है। अधिक उत्पादक घंटे वह है जो आपको लागत को कम रखने की आवश्यकता है - बैठकों और ओवरहेड की लागत के बिना अधिक मूल्य-जोड़ने वाले दस्तावेज़ और सॉफ़्टवेयर वितरित करें।
अंत में, यह जरूरी नहीं कि फुर्तीली हो, लेकिन उन चीजों को लागू करना जो चुस्त और अच्छा बनाती हैं। आवश्यकताओं में परिवर्तन का जवाब देने में सक्षम हो, बार-बार सॉफ्टवेयर देने में सक्षम हो, भले ही ग्राहक इसे न चाहे, केवल मूल्य-जोड़ प्रलेखन का उत्पादन करें (साथ ही आप जो भी उत्पादन करने के लिए अनुबंधित हैं), और इसी तरह।