लेख

एक्स्ट्रिम प्रोग्रामिङ (XP) भनेको के हो?, यो कुन मान, सिद्धान्त र अभ्यासहरूमा आधारित छ

तपाइँ प्रोग्रामिङसँग परिचित हुनुहुन्छ, तर एक्स्ट्रिम प्रोग्रामिङ (छोटोको लागि XP) तपाइँको लागि अझै पनि एक रहस्य हो।

नामले तपाईलाई टाढा राख्न नदिनुहोस्, तपाईले उपयोगी जानकारी गुमाउने खतरा छ।

यस लेखमा, हामी तपाईंलाई चरम प्रोग्रामिंगको बारेमा जान्न आवश्यक सबै कुरा कभर गर्न जाँदैछौं ताकि तपाईं यसलाई आफ्नो फाइदाको लागि प्रयोग गर्न सक्नुहुनेछ।

एक्स्ट्रिम प्रोग्रामिङ (XP) भनेको के हो?

चरम प्रोग्रामिङ एक सफ्टवेयर विकास पद्धति हो जुन सामूहिक रूपमा फुर्तिलो विधिहरू भनेर चिनिन्छ। XP मानहरू, सिद्धान्तहरू र अभ्यासहरूमा निर्मित छ, र यसको लक्ष्य साना र मध्यम आकारका टोलीहरूलाई उच्च-गुणस्तरको सफ्टवेयर उत्पादन गर्न र सँधै परिवर्तनशील र विकसित आवश्यकताहरूसँग अनुकूलन गर्न सक्षम पार्नु हो।

XP लाई अन्य फुर्तिलो विधिहरूबाट अलग गर्ने कुरा के हो भने XP ले सफ्टवेयर विकासका प्राविधिक पक्षहरूलाई जोड दिन्छ। इन्जिनियरिङ अभ्यासहरूले टोलीहरूलाई दिगो गतिमा उच्च गुणस्तरको कोड डेलिभर गर्न अनुमति दिँदा इन्जिनियरहरूले कसरी काम गर्छन् भन्ने बारे चरम प्रोग्रामिङ सटीक हुन्छ।

चरम प्रोग्रामिङ भनेको छोटकरीमा भन्नुपर्दा, राम्रो अभ्यासलाई चरममा लिइन्छ। जोडी प्रोग्रामिङ राम्रो भएकोले, यो सबै समय गरौं। किनकी अग्रिम परीक्षण राम्रो छ, हामी उत्पादन कोड पनि लेखिएको अघि परीक्षण।

चरम प्रोग्रामिङ (XP) कसरी काम गर्छ?

XP, अन्य विधिहरू जस्तो नभई, ईन्जिनियरिङ् अभ्यासहरूको सन्दर्भमा महत्त्वपूर्ण र सान्दर्भिक मानहरू र सिद्धान्तहरूमा आधारित छ।

मानहरूले टोलीहरूलाई उद्देश्य प्रदान गर्दछ। तिनीहरूले उच्च स्तरमा तपाईंको निर्णयहरू मार्गदर्शन गर्न "उत्तर तारा" को रूपमा कार्य गर्दछ। यद्यपि, मानहरू अमूर्त र विशिष्ट मार्गदर्शनको लागि धेरै अस्पष्ट छन्। उदाहरणका लागि: तपाईंले सञ्चारलाई महत्त्व दिंदा धेरै फरक परिणामहरू निम्त्याउन सक्छ।

अभ्यासहरू, एक अर्थमा, मूल्यहरूको विपरीत हो। तिनीहरू कंक्रीट र पृथ्वीमा तल छन्, defiके गर्न को लागी विशेष सेटिङ। अभ्यासहरूले टोलीहरूलाई मूल्यहरूको लागि आफूलाई जवाफदेही राख्न मद्दत गर्दछ। उदाहरणका लागि, सूचना कार्यस्थानहरूको अभ्यासले पारदर्शी र सरल सञ्चारलाई बढावा दिन्छ।

सिद्धान्तहरू डोमेन-विशिष्ट दिशानिर्देशहरू हुन् जसले अभ्यास र मानहरू बीचको खाडललाई पुल गर्छ।

चरम प्रोग्रामिङ XP को मानहरू

XP मानहरू: सञ्चार, सरलता, प्रतिक्रिया, साहस र सम्मान। तिनीहरूमध्ये प्रत्येकलाई थप विवरणमा हेरौं।

चरम प्रोग्रामिंग को मूल्यहरु र सिद्धान्तहरु

मस्यौदा BlogInnovazione.यो छवि को alexsoft.com

सञ्चार: सञ्चारको अभावले टोली भित्र ज्ञान प्रवाह गर्नबाट रोक्छ। अक्सर, जब त्यहाँ समस्या छ, कसैलाई पहिले नै थाहा छ कसरी यसलाई समाधान गर्ने। तर सञ्चारको कमीले उनीहरूलाई समस्याको बारेमा सिक्न वा यसको समाधानमा योगदान गर्नबाट रोक्छ। यसरी, समस्या दुई पटक समाधान भई फोहोर उत्पन्न हुन्छ।

सादगी: सरलताले भन्छ कि तपाई सधैं काम गर्ने सरल काम गर्न कोसिस गर्नुहुन्छ। यो प्रायः गलत बुझिन्छ र "त्यो काम गर्दछ" भागलाई बेवास्ता गर्दै सरल कुरा, अवधिको रूपमा लिइन्छ।

यो सम्झना पनि महत्त्वपूर्ण छ कि सादगी अत्यधिक प्रासंगिक छ। एउटा टोलीको लागि के सरल छ अर्कोको लागि जटिल छ र पूर्ण रूपमा प्रत्येक टोलीको सीप, अनुभव र ज्ञानमा निर्भर गर्दछ।

प्रतिक्रिया: अधिक परम्परागत, क्यास्केडिङ सफ्टवेयर विकास विधिहरूमा प्रतिक्रिया अक्सर "धेरै थोरै, धेरै ढिलो" हुन्छ।

XP, तथापि, परिवर्तनलाई अँगालेको छ र XP टोलीहरू समयमै र निरन्तर प्रतिक्रियाको लागि प्रयास गर्छन्। यदि पाठ्यक्रम सुधार आवश्यक छ भने, XPers सकेसम्म चाँडो जान्न चाहन्छ।

चरम प्रोग्रामिंग को चक्र

मस्यौदा BlogInnovazione.यो छवि को alexsoft.com

प्रतिक्रिया धेरै आकार र आकारहरूमा आउँछ। जब तपाइँ साझेदार प्रोग्रामिंग हुनुहुन्छ, तपाइँको सहकर्मीबाट टिप्पणीहरू महत्त्वपूर्ण प्रतिक्रिया हुन्। त्यसोभए अन्य टोली सदस्यहरूको विचारमा विचारहरू छन्, ग्राहक सहित, जो आदर्श रूपमा, टोलीको सदस्य हो।

परीक्षणहरू मूल्यवान प्रतिक्रियाको अर्को स्रोत हो जुन परीक्षण परिणामहरू भन्दा बाहिर जान्छ। चाहे लेखन परीक्षण सजिलो होस् वा गाह्रो, प्रतिक्रिया पनि हो। यदि तपाईंलाई परीक्षणहरू लेख्न समस्या भइरहेको छ भने, तपाईंको परियोजना सम्भवतः धेरै जटिल छ। प्रतिक्रिया सुन्नुहोस् र आफ्नो डिजाइन स्ट्रिमलाइन गर्नुहोस्।

एक महान विचार जस्तो लाग्ने केहि व्यवहारमा यति राम्रो काम नगर्न सक्छ। तसर्थ, समाप्त कोड पनि प्रतिक्रियाको स्रोत हो, जस्तै वितरित उत्पादन।

अन्तमा, ध्यान राख्नुहोस् कि त्यहाँ धेरै प्रतिक्रिया छ। यदि टोलीले ह्यान्डल गर्न सक्ने भन्दा बढी प्रतिक्रिया उत्पन्न गर्छ भने, महत्त्वपूर्ण प्रतिक्रिया रडारबाट खस्न सक्छ। त्यसोभए यो ढिलो गर्न र अतिरिक्त प्रतिक्रियाको कारण के हो भनेर पत्ता लगाउन र यसलाई ठीक गर्न आवश्यक छ।

साहस: केन्ट बेक defiसाहस "डरको सामनामा प्रभावकारी कार्य" को रूपमा देखा पर्दछ। एक सफ्टवेयर इन्जिनियरको रूपमा, तपाईंसँग धेरै डर छ र त्यसैले साहस देखाउने प्रशस्त अवसरहरू छन्।

सत्य बोल्न साहस चाहिन्छ, विशेष गरी अप्रिय कुराहरू, जस्तै इमानदार अनुमानहरू। प्रतिक्रिया दिन र प्राप्त गर्न पनि साहस चाहिन्छ। र डूबिएको लागत भ्रममा पर्नबाट जोगिन र पर्याप्त लगानी प्राप्त गरेको असफल समाधानलाई त्याग्न साहस चाहिन्छ।

आदर: XP को आधारभूत आधार भनेको सबैले आफ्नो कामको ख्याल राख्छन्। हेरचाह र सम्मान नभएमा कुनै पनि प्राविधिक उत्कृष्टताले परियोजनालाई बचाउन सक्दैन।

प्रत्येक व्यक्ति गरिमा र सम्मानको योग्य छ, र यसमा निस्सन्देह, सफ्टवेयर विकास परियोजनामा ​​संलग्न व्यक्तिहरू समावेश छन्। जब तपाईं र तपाईंको टोलीका सदस्यहरूले एकअर्कालाई आदर र हेरचाह गर्नुहुन्छ, ग्राहक, परियोजना र भविष्यका प्रयोगकर्ताहरू, सबैलाई फाइदा हुन्छ

चरम प्रोग्रामिंग XP को सिद्धान्तहरू

सिद्धान्तहरूले मूल्यहरू भन्दा बढी विशिष्ट मार्गदर्शन प्रदान गर्दछ। तिनीहरू दिशानिर्देशहरू हुन् जसले मानहरूलाई उज्यालो पार्छ र तिनीहरूलाई थप स्पष्ट र कम अस्पष्ट बनाउँछ।

मस्यौदा BlogInnovazione.यो छवि को alexsoft.com

उदाहरणको लागि, साहसको मूल्यको आधारमा, तपाईंले तुरुन्तै आफ्नो तालिकामा ठूलो परिवर्तन गर्नु उचित हुन्छ भन्ने निष्कर्षमा पुग्न सक्नुहुन्छ। यद्यपि, बेबी स्टेप्स सिद्धान्तले हामीलाई बताउँछ कि ठूला परिवर्तनहरू जोखिमपूर्ण छन्। त्यसैले सानालाई प्राथमिकता दिनुहोस्।

उमानिता: मानिसले मानिसका लागि सफ्टवेयर सिर्जना गर्दछ, प्रायः बेवास्ता गरिएको तथ्य। तर आधारभूत मानव आवश्यकताहरू, बल र कमजोरीहरूलाई ध्यानमा राखेर मानिसहरूले प्रयोग गर्न चाहने उत्पादनहरू सिर्जना गर्दछ। र कामको वातावरण जसले तपाईंलाई पूर्ति र बृद्धिको लागि अवसर प्रदान गर्दछ, आफ्नोपनको भावना र आधारभूत सुरक्षा, त्यो ठाउँ हो जहाँ तपाईं अरूको आवश्यकतालाई सजिलैसँग विचार गर्नुहुन्छ।

अर्थव्यवस्था: XP मा, टोलीहरूले सधैं सफ्टवेयर विकासको आर्थिक वास्तविकताहरूमा ध्यान दिन्छन्, आर्थिक जोखिमहरू र परियोजना आवश्यकताहरूको निरन्तर मूल्याङ्कन गर्छन्।

उदाहरणका लागि, तिनीहरूले प्राविधिक चिन्ताहरूको सट्टा तिनीहरूको व्यापार मूल्यमा आधारित प्रयोगकर्ता कथाहरू लागू गर्नेछन्।

पारस्परिक लाभ: XP पछि, तपाइँ समाधानहरू बेवास्ता गर्नुहुन्छ जसले एक पक्षलाई अर्कोको खर्चमा फाइदा पुर्‍याउँछ। उदाहरणका लागि, विस्तारित चश्माले अरू कसैलाई यो बुझ्न मद्दत गर्न सक्छ, तर यसले तपाईंलाई यसलाई लागू गर्नबाट विचलित गर्छ र तपाईंको प्रयोगकर्ताहरूको लागि ढिलाइ गर्छ।

एक पारस्परिक रूपमा लाभदायक समाधान स्वचालित स्वीकृति परीक्षण प्रयोग गर्न हो। तपाईंको कार्यान्वयनमा तत्काल प्रतिक्रिया प्राप्त गर्नुहोस्, तपाईंका साथीहरूले कोडमा सटीक चश्माहरू पाउँछन्, र प्रयोगकर्ताहरूले तिनीहरूका सुविधाहरू पहिले प्राप्त गर्छन्। साथै, तपाईं सबैसँग प्रतिगमन विरुद्ध सुरक्षा जाल हुनेछ।

लाभ (पारस्परिक लाभ): यदि दिइएको समाधान एक तहमा काम गर्छ भने, यसले उच्च वा तल्लो तहमा पनि काम गर्न सक्छ। उदाहरणका लागि, प्रारम्भिक र निरन्तर प्रतिक्रिया प्राप्त गर्नु XP मा फरक-फरक डिग्रीहरूमा जोखिममा छ।

  • विकासकर्ता स्तरमा, प्रोग्रामरहरूले परीक्षण-पहिलो दृष्टिकोण प्रयोग गरेर उनीहरूको कामबाट प्रतिक्रिया प्राप्त गर्छन्;
  • टोली स्तरमा, निरन्तर एकीकरण पाइपलाइनले दिनमा धेरै पटक कोड एकीकृत, निर्माण र परीक्षण गर्छ;
  • संगठनात्मक रूपमा, साप्ताहिक र त्रैमासिक चक्रहरूले टोलीहरूलाई प्रतिक्रिया प्राप्त गर्न र आवश्यकता अनुसार आफ्नो काम सुधार गर्न अनुमति दिन्छ।

सुधार: सुधारको सिद्धान्त अनुसार, टोलीहरूले प्रारम्भिक कार्यान्वयनमा पूर्णताको लागि लक्ष्य गर्दैन, तर पर्याप्त राम्रो कार्यान्वयनको लागि, र त्यसपछि वास्तविक प्रयोगकर्ताहरूबाट प्रतिक्रियाको साथ निरन्तर सिक्ने र सुधार गर्ने।

विविधता: तपाईं र तपाईंका सहकर्मीहरूले दृष्टिकोण, सीप र मनोवृत्तिको विविधताबाट लाभ उठाउँछन्। यस्तो विविधताले अक्सर द्वन्द्व निम्त्याउँछ, तर त्यो ठीक छ।

द्वन्द्व र असहमति सबैले साहस र सम्मानको मूल्यहरूद्वारा खेल्दा राम्रो विचारहरू उत्पन्न हुने अवसरहरू हुन्। विरोधी दृष्टिकोण व्यक्त गर्न साहस, नागरिक र समानुभूतिपूर्ण तरिकामा अभिव्यक्त गर्न सम्मान। र यो सबै एक प्रभावकारी संचार अभ्यास हो।

परावर्तन: उत्कृष्ट टोलीहरूले आफ्नो काममा प्रतिबिम्बित गर्छन् र कसरी अझ राम्रो हुने भनेर विश्लेषण गर्छन्। XP ले यसका लागि धेरै अवसरहरू प्रदान गर्दछ। यसको साप्ताहिक र त्रैमासिक चक्रहरूमा मात्र होइन, तर हरेक अभ्यासमा यसले प्रवर्द्धन गर्दछ।

तार्किक विश्लेषणको अतिरिक्त भावनाहरू विचार गर्न महत्त्वपूर्ण छन्। तपाईंले कुनै पनि कुराको बारेमा तर्क गर्नु अघि तपाईंको पेटले तपाईंलाई सूचित गर्न सक्छ। र त्यसैले उसले गैर-प्राविधिक मानिसहरूसँग कुरा गर्न सक्छ, उनीहरूले प्रश्नहरू सोध्न सक्छन् जसले पूर्ण रूपमा नयाँ सम्भावनाहरू खोल्छ।

फ्लो: परम्परागत सफ्टवेयर विकास विधिहरूमा फरक चरणहरू हुन्छन्, जुन लामो समयसम्म रहन्छ र प्रतिक्रिया र पाठ्यक्रम सुधारको लागि थोरै अवसर हुन्छ। यसको सट्टा, XP मा सफ्टवेयर विकास गतिविधिहरूमा हुन्छ जुन निरन्तर रूपमा, मूल्यको एक सुसंगत "स्ट्रिम" मा हुन्छ।

अवसर: सफ्टवेयर विकासमा समस्याहरू अपरिहार्य छन्। तर, हरेक समस्या सुधारको अवसर हो । तिनीहरूलाई यसरी हेर्न सिक्नुहोस् र तपाईं रचनात्मक र लक्ष्य-उन्मुख समाधानहरू ल्याउने सम्भावना धेरै हुन्छ जसले तिनीहरूलाई फेरि हुनबाट रोक्नको लागि पनि सेवा गर्दछ।

अनावश्यकता: रिडन्डन्सीको सिद्धान्तले भन्छ कि यदि दिइएको समस्या महत्वपूर्ण छ भने, तपाईंले यसको सामना गर्न धेरै रणनीतिहरू प्रयोग गर्नुपर्छ।

कमजोरीहरू लिनुहोस्। त्यहाँ कुनै एकल रणनीति छैन जसले सबै दोषहरूलाई उत्पादनबाट भाग्नबाट रोक्न सक्छ।

त्यसैले XP को समाधान गुणस्तर उपायहरूको सेट स्ट्याक गर्न हो। जोडा प्रोग्रामिङ, परीक्षण, निरन्तर एकीकरण। रक्षाको प्रत्येक एकल रेखा, सँगै लगभग अभेद्य पर्खाल।

असफलता: असफलता बर्बाद होइन जब यो ज्ञानमा अनुवाद हुन्छ। धेरै विकल्पहरू मध्येबाट छनौट गर्दा अनिर्णयको कारणले गर्दा हुने निष्क्रियता भन्दा कारबाही गर्नु र काम नगर्ने कुराहरू छिटो सिक्नु धेरै फलदायी हुन्छ।

गुण: मानिसहरू अक्सर सोच्छन् कि गुणस्तर र गति बीच एक दुविधा छ।

यो अर्को तरिका हो: गुणस्तर सुधार गर्न को लागी धकेल्नु भनेको तपाईलाई छिटो जान्छ।

नवाचार न्यूजलेटर
नवीनता मा सबैभन्दा महत्त्वपूर्ण समाचार नछुटाउनुहोस्। तिनीहरूलाई ईमेल द्वारा प्राप्त गर्न साइन अप गर्नुहोस्।

उदाहरण को लागी, refactoring - यसको व्यवहार परिवर्तन बिना कोड को संरचना परिवर्तन - एक अभ्यास हो जसले कोड बुझ्न र परिवर्तन गर्न सजिलो बनाउँछ। नतिजाको रूपमा, तपाईंले कोड त्रुटिहरू परिचय गर्ने सम्भावना कम छ, जसले तपाईंलाई त्रुटिहरू समाधान नगरी पहिले थप मूल्य प्रदान गर्न अनुमति दिन्छ।

साना कदम: ठूला परिवर्तनहरू जोखिमपूर्ण छन्। XP ले हरेक तहमा साना चरणहरूमा परिवर्तन गरेर त्यो जोखिमलाई कम गर्छ।

प्रोग्रामरहरूले परीक्षण-संचालित विकास प्रयोग गरेर साना चरणहरूमा कोड लेख्छन्। तिनीहरूले आफ्नो कोडलाई दिनमा धेरै पटक मुख्य लाइनमा एकीकृत गर्छन्, प्रत्येक केही हप्ता वा महिनाहरूमा मात्र। परियोजना आफैंमा दीर्घकालीन चरणहरू भन्दा छोटो चक्रमा लिन्छ।

जिम्मेवारी स्विकारेको छ: XP मा, जिम्मेवारी स्वीकार गरिनु पर्छ, कहिल्यै तोकिएको छैन।

जवाफदेहिता तपाई के को लागी जिम्मेवार हुनुहुन्छ भन्ने बारे निर्णय गर्ने अधिकार संगै आउनु पर्छ। उल्टो पनि सत्य हो। यदि मानिसहरूले तिनीहरूको नतिजाहरूको साथ बाँच्नु पर्दैन भने तपाईं निर्णयहरू गर्न चाहनुहुन्न।

समानता र परम्परागत र गैर-चतुर विधिहरूसँग भिन्नताहरू

चरम प्रोग्रामिङ, एक फुर्तिलो विधि भएकोले, स्वीकार गर्न सकिन्छ र कठोर योजनाहरू पछ्याउन बिना यसलाई अपनाउन सुरु गर्न सकिन्छ। यो ठूलो प्रारम्भिक परियोजना भन्दा एक पुनरावृत्ति डिजाइन हो।

XP परम्परागत विधिहरू भन्दा धेरै फरक छ, अर्थात् क्यास्केडिङ, लामो समयसम्म चल्ने चरणहरू बेवास्ता गर्दै।

  • योजना चरणको सट्टा, XP मा तपाइँ प्रत्येक विकास चक्रको सुरुमा योजना बनाउनुहुन्छ जुन सामान्यतया एक हप्ता लामो हुन्छ।
  • एपिसोडहरू परीक्षण गर्नुको सट्टा, सकेसम्म चाँडो आफ्नो आवेदन परीक्षण गर्नुहोस्: त्यो हो, वास्तविक कोड लागू हुनु अघि।
  • लामो कार्यान्वयन चरणहरूमा अलगावमा सुविधाहरू रोल आउट गर्नुको सट्टा र त्यसपछि तपाईंको योगदानहरूलाई मुख्य लाइनमा मर्ज गर्न संघर्ष गर्नुको सट्टा, तपाईं सानो टुक्रामा काम गर्नुहुन्छ र तिनीहरूलाई सकेसम्म धेरै पटक एकीकृत गर्नुहुन्छ।

XP कसरी अन्य चुस्त विधिहरू भन्दा फरक छ?

चरम प्रोग्रामिङ, यसको प्रकृति द्वारा, अन्य फुर्तिलो विधिहरूसँग धेरै समान छ तर तिनीहरूमध्ये पनि अद्वितीय छ।

धेरैजसो अन्य विकास विधिहरूले काम कसरी गर्ने भन्ने बारे धेरै कुरा गर्दैनन्। XP, अर्कोतर्फ, यो कुरा आउँछ र सफ्टवेयर ईन्जिनियरिङ् अभ्यासहरूमा ठूलो जोड दिन्छ जब धेरै राय छ।

चरम प्रोग्रामिङ बनाम Scrum

स्क्रम एउटा ढाँचा हो जसले टोलीहरूलाई जटिल परियोजनाहरूलाई अनुकूलन तरिकाले विकास गर्न मद्दत गर्दछ। स्क्रमले विकासकर्ताहरूले आफ्नो काम कसरी गर्ने भनेर निर्धारण गर्दैन। XP, उल्लेख गरिए अनुसार, राम्रो प्रोग्रामिङ अभ्यासहरूमा धेरै जोड दिन्छ।

स्क्रम फ्रेमवर्क

मस्यौदा BlogInnovazione.en छवि शुद्ध समाधानहरू

साथै, XP स्पष्ट रूपमा प्रोग्रामिङको बारेमा हो। स्क्रम, अर्कोतर्फ, कुनै पनि परियोजनामा ​​लागू गर्न सकिन्छ जुन पुनरावृत्ति दृष्टिकोणबाट फाइदा हुन्छ।

XP ले यसको घटकहरूमा परिवर्तनहरू स्वीकार गर्दछ। टोलीहरू सशक्त छन् र तिनीहरूको विशिष्ट आवश्यकताहरूमा आधारित अभ्यासहरू परिमार्जन गर्न प्रोत्साहित गरिन्छ। स्क्रम गाइड, अर्कोतर्फ, "यद्यपि स्क्रमका अंशहरू मात्र लागू गर्न सकिन्छ, नतिजा स्क्रम होइन" भन्ने कुरामा अडिग छ।

साथै, Scrum एउटा ढाँचा हो जसलाई कार्य सम्पन्न गर्नका लागि विधि र अभ्यासहरूसँग पूरक हुनुपर्छ।

यसको मतलब चरम प्रोग्रामिङ र Scrum मा काम गर्न अत्यधिक सिफारिस गरिन्छ।

भूमिका र जिम्मेवारीहरू

केन्ट बेकका अनुसार, एक परिपक्व XP टोलीले कठोर भूमिकाहरू तोक्न हुँदैन, तर भूमिकाहरू नयाँ टोलीहरूका लागि उपयोगी हुन सक्छन् जबसम्म तिनीहरू सुस्त हुन वा सहयोगलाई गाह्रो बनाउँदैनन्।

केही प्रमुख भूमिकाहरू हेरौं:

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

विधि र प्रविधिहरू

यी XP मा अपनाइएका अभ्यासहरू हुन्। तिनीहरू तीन मुख्य समूहमा विभाजित छन्: सफ्टवेयर इन्जिनियरिङ्, कार्यस्थल र परियोजना व्यवस्थापन।

सफ्टवेयर इन्जिनियरिङ

जोडा प्रोग्रामिङ: XP मा, तपाइँ मेसिनमा बसेर जोडीमा कोड लेख्नुहुन्छ। तपाईंले काम गरिरहनुभएको सुविधाको विश्लेषण, कार्यान्वयन र परीक्षण गर्दा तपाईं र तपाईंको जोडी एकअर्कासँग कुरा गर्नुहुन्छ। जोडा प्रोग्रामिङ विशेष गरी कम बगहरूसँग कोड उत्पादन गर्नमा राम्रो छ जबकि अझै पनि आकर्षक, रमाइलो र थकाइपूर्ण छ।

दस मिनेट सीमा: आवश्यक सबै स्वचालित परीक्षणहरू चलाएर, अधिकतम १० मिनेटमा सम्पूर्ण परियोजना निर्माण गर्न १० मिनेट अनुमति दिन्छ। यो सीमा परीक्षणलाई सुव्यवस्थित र प्रभावकारी राख्नको लागि हो।

प्रोग्रामिङ अघि परीक्षणहरू: परीक्षण-पहिलो दृष्टिकोण प्रयोग गरी सुविधाहरू लागू गर्नुहोस्, यसलाई पनि भनिन्छ परीक्षण-संचालित विकास (TDD)। TDD एक साधारण पुनरावृत्ति प्रक्रिया प्रयोग गरेर विकास समावेश गर्दछ:

  • परीक्षण असफल भएपछि कोड लेख्नुहोस्;
  • त्यसपछि, परीक्षा पास गर्न उत्पादन कोड लेख्नुहोस्;
  • आवश्यक भएमा, यसलाई सफा र बुझ्न सजिलो बनाउन आफ्नो उत्पादन कोड रिफ्याक्टर गर्नुहोस्।

TDD ले धेरै फाइदाहरू ल्याउँछ।

पहिलो, प्रतिक्रिया। यदि परीक्षण लेख्न गाह्रो छ भने, तपाईंले खोजिरहनुभएको वा तपाईंले विरासतमा प्राप्त गर्नुभएको डिजाइन सायद धेरै जटिल छ र तपाईंले यसलाई सरल बनाउन आवश्यक छ।

दोस्रो, TDD ले प्रोग्रामरहरूलाई उनीहरूले लेखेको कोडमा विश्वास गर्न अनुमति दिन्छ र अर्को चरण सधैं स्पष्ट हुने राम्रो लुपिङ लय सिर्जना गर्दछ।

अन्तिम तर कम्तिमा होइन, सुरुबाट TDD प्रयोग गर्दा 100% कोड कभरेज सुनिश्चित हुन्छ। त्यसपछि परीक्षण सुइट भविष्यका परिवर्तनहरूका लागि साँच्चै सुरक्षा जाल बन्छ, कोड रिफ्याक्टरिङलाई प्रोत्साहित गर्दै र गुणस्तरको सद्गुण सर्कल सिर्जना गर्दछ।

वृद्धिशील डिजाइन: वृद्धिशील डिजाइनको अभ्यासको अर्थ हो कि तपाईंले हरेक दिन आफ्नो अनुप्रयोग डिजाइनमा लगानी गर्न आवश्यक छ, नक्कल हटाउने अवसरहरू खोज्दै र तपाईंको प्रणालीलाई आज आवश्यक पर्ने उत्तम सम्भव डिजाइन प्राप्त गर्नका लागि सानो सुधारहरू गर्न आवश्यक छ।

निरन्तर एकीकरण: XP मा, तपाईले आफ्नो कामलाई दिनको धेरै पटक मुख्य साझा भण्डारमा एकीकृत गर्नुहुन्छ, सम्पूर्ण प्रणालीको स्वचालित निर्माण ट्रिगर गर्दै। सकेसम्म चाँडो एकीकरण गर्नाले एकीकरणको लागत नाटकीय रूपमा घटाउँछ किनभने यसले मर्जर र तार्किक द्वन्द्वहरू कम हुने सम्भावना कम गर्छ। यसले वातावरणीय र लत समस्याहरू पनि उजागर गर्दछ।

साझा कोड (सामूहिक स्वामित्व): XP ले साझा कोड, वा सामूहिक स्वामित्वलाई बढावा दिन्छ: प्रत्येक विकासकर्ता सबै कोडको लागि जिम्मेवार हुन्छ। यसले सूचना आदानप्रदानलाई प्रोत्साहन गर्छ, टोली बस कारकलाई कम गर्छ र यदि हामीले विविधताको सिद्धान्तलाई विचार गर्छौं भने प्रत्येक मोड्युलको समग्र गुणस्तर बढाउँछ।

एकल कोडबेस: एकल कोडबेसलाई "ट्रङ्क-आधारित विकास" पनि भनिन्छ। यसको मतलब सत्यको एउटै मात्र स्रोत छ। त्यसैले लामो समयको लागि एक्लोसनमा विकास गर्नुको सट्टा, आफ्नो योगदानहरूलाई एकल स्ट्रिममा चाँडै र बारम्बार मर्ज गर्नुहोस्। फीचर फ्ल्यागहरूले तपाइँको सुविधाहरूको प्रयोग पूरा नभएसम्म सीमित गर्न मद्दत गर्दछ।

दैनिक वितरण: दिनको कम्तिमा एक पटक उत्पादनमा तैनाती निरन्तर एकीकरणको तार्किक परिणाम हो:। वास्तवमा, आज, धेरै टोलीहरू अझ अगाडि जान्छन् र निरन्तर कार्यान्वयन अभ्यास गर्छन्। त्यो हो, जब कोही मुख्य लाइनमा सामेल हुन्छ, अनुप्रयोग उत्पादनमा तैनात हुन्छ।

कोड र परीक्षणहरू: यो अभ्यासको अर्थ हो कि परीक्षणहरू सहित स्रोत कोड, सफ्टवेयर परियोजनाको मात्र स्थायी कलाकृति हो। कागजात सहित अन्य प्रकारका कलाकृतिहरूको उत्पादनमा संलग्न हुनु प्रायः बेकार हुन्छ किनभने यसले ग्राहकको लागि वास्तविक मूल्य उत्पन्न गर्दैन।

यदि तपाईंलाई अन्य कलाकृतिहरू वा कागजातहरू चाहिन्छ भने, तिनीहरूलाई उत्पादन कोड र परीक्षणहरूबाट उत्पन्न गर्ने प्रयास गर्नुहोस्।

जड विश्लेषण: जब कुनै दोष उत्पादनमा जान्छ, दोष मात्र सुधार नगर्नुहोस्। सुनिश्चित गर्नुहोस् कि तपाइँ पहिलो स्थानमा के कारणले यो पत्ता लगाउनुभयो, किन तपाइँ र तपाइँका टोली साथीहरू स्किड रोक्न असफल भयो। त्यसपछि, यो फेरि नदोहोरियोस् भनेर सुनिश्चित गर्न कदम चाल्नुहोस्।

कार्य वातावरण

सँगै बस्नुहोस्: XP मा, टोलीहरू खुला ठाउँमा सँगै काम गर्न रुचाउँछन्। यो अभ्यासले सञ्चार र टोलीसँग सम्बन्धित भावनालाई बढावा दिन्छ।

सम्पूर्ण टोली: परियोजनाको सफलताको लागि आवश्यक पर्ने सबैजना XP टोलीको हिस्सा हुन्। यो अत्यधिक प्रासंगिक छ - प्रत्येक टोलीको लागि फरक - र गतिशील, यो टोली भित्र परिवर्तन हुन सक्छ।

सूचना कार्यस्थानहरू: एक सूचना कार्यस्थानले जानकारी प्रदर्शन गर्न टोलीको भौतिक स्थान प्रयोग गर्दछ जसले कसैलाई एक नजरमा, परियोजनाको प्रगति थाहा पाउन अनुमति दिन्छ। यो कसरी गरिन्छ भिन्न हुन सक्छ, भौतिक नोटहरू र ग्राफहरू देखि स्क्रिनसटहरू सम्म Kanban बोर्डहरू र परियोजना व्यवस्थापन सफ्टवेयरबाट ड्यासबोर्डहरू देखाउने।

ऊर्जावान काम: XP मा, तपाईले मात्र काम गर्नुहुन्छ जबसम्म तपाई ऊर्जावान काम गर्न सक्नुहुन्छ। काम गर्ने घण्टा प्रति हप्ता 40 सम्म सीमित हुनुपर्छ, अधिकतम।

योजना व्यवस्थापन

Analisi- प्रयोगकर्ता विश्लेषणको रूपमा चिनिने ढाँचामा प्रयोगकर्ता आवश्यकताहरू लेख्नुहोस्। प्रयोगकर्ताको विश्लेषणमा छोटो, वर्णनात्मक नाम र कार्यान्वयन गर्नुपर्ने आवश्यकताहरूको छोटो विवरण पनि हुन्छ।

सुस्त: चक्र योजना बनाउँदा, आवश्यक परेमा टोलीले त्याग्न सक्ने साना कार्यहरू थप्नुहोस्। यदि टोलीले धेरै डेलिभर गर्छ भने थप कथाहरू सधैं थप्न सकिन्छ।

साइकल (मासिक र साप्ताहिक): XP मा विकास दुई मुख्य चक्रहरूमा हुन्छ: साप्ताहिक चक्र र मासिक चक्र।

बैठकहरू, चक्रहरू, निर्धारित विज्ञप्तिहरू: XP मा विकास दुई मुख्य चक्रहरूमा काम गर्दछ: साप्ताहिक चक्र र त्रैमासिक चक्र। सुरुमा, केन्ट बेकले दुई-हप्ताको चक्र सिफारिस गर्नुभयो, तर आफ्नो पुस्तकको दोस्रो संस्करणमा यसलाई परिवर्तन गर्नुभयो।

साप्ताहिक चक्र: साप्ताहिक चक्र XP परियोजनाको "पल्स" हो। चक्र एक बैठकबाट सुरु हुन्छ जसमा ग्राहकले हप्तामा कुन कथाहरू सिर्जना गर्न चाहन्छ भन्ने छनौट गर्दछ। थप रूपमा, टोलीले गत हप्ताको प्रगति सहित तिनीहरूको कामको समीक्षा गर्दछ, र तिनीहरूको प्रक्रिया सुधार गर्ने तरिकाहरू बारे सोच्दछ।

मासिक चक्र: प्रत्येक महिना, टोलीले आफ्नो प्रक्रियामा सुधारका अवसरहरू प्रतिबिम्बित र पहिचान गर्दछ। ग्राहकले त्यस महिनाको लागि एक वा बढी विषयवस्तुहरू छनौट गर्दछ, यी विषयहरूमा विश्लेषणहरू सहित।

चरम प्रोग्रामिङको साथ कसरी काम सुरु गर्ने?
प्राविधिक सीपहरू र XP बानीहरू सिक्न गाह्रो हुन सक्छ। केही अभ्यासहरू तिनीहरूलाई प्रयोग नगर्ने प्रोग्रामरहरूलाई विदेशी लाग्न सक्छ।

Ercole Palmeri

नवाचार न्यूजलेटर
नवीनता मा सबैभन्दा महत्त्वपूर्ण समाचार नछुटाउनुहोस्। तिनीहरूलाई ईमेल द्वारा प्राप्त गर्न साइन अप गर्नुहोस्।

भर्खरका लेखहरू

प्रकाशकहरू र ओपनएआईले आर्टिफिसियल इन्टेलिजेन्सद्वारा प्रशोधित सूचनाको प्रवाहलाई विनियमित गर्न सम्झौतामा हस्ताक्षर गर्छन्

गत सोमबार, फाइनान्सियल टाइम्सले OpenAI सँग सम्झौताको घोषणा गर्‍यो। FT ले आफ्नो विश्व स्तरीय पत्रकारिता लाई लाइसेन्स...

30 अप्रिल 2024

अनलाइन भुक्तानीहरू: यहाँ कसरी स्ट्रिमिङ सेवाहरूले तपाईंलाई सधैंभरि भुक्तान गर्छ

लाखौं मानिसहरूले स्ट्रिमिङ सेवाहरूको लागि भुक्तानी गर्छन्, मासिक सदस्यता शुल्क तिर्छन्। यो आम धारणा छ कि तपाईं…

29 अप्रिल 2024

Veeam ले ransomware को लागि सुरक्षा देखि प्रतिक्रिया र रिकभरी को लागी सबै भन्दा व्यापक समर्थन को सुविधा दिन्छ

Veeam द्वारा Coveware ले साइबर जबरजस्ती घटना प्रतिक्रिया सेवाहरू प्रदान गर्न जारी राख्नेछ। Coveware ले फोरेन्सिक र उपचार क्षमताहरू प्रदान गर्दछ ...

23 अप्रिल 2024

हरियो र डिजिटल क्रान्ति: कसरी पूर्वानुमानात्मक रखरखावले तेल र ग्यास उद्योगलाई रूपान्तरण गर्दैछ

अनुमानित मर्मतसम्भारले तेल र ग्यास क्षेत्रमा क्रान्तिकारी परिवर्तन गर्दैछ, बिरुवा व्यवस्थापनको लागि एक नवीन र सक्रिय दृष्टिकोणको साथ।…

22 अप्रिल 2024

आफ्नो भाषामा नवीनता पढ्नुहोस्

नवाचार न्यूजलेटर
नवीनता मा सबैभन्दा महत्त्वपूर्ण समाचार नछुटाउनुहोस्। तिनीहरूलाई ईमेल द्वारा प्राप्त गर्न साइन अप गर्नुहोस्।

हामीलाई पछ्याउनुहोस्