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