क्या AI युग में Extreme Programming (XP) को फिर से देखना चाहिए?
(hyperact.co.uk)- AI code generation और platform innovation की वजह से development speed विस्फोटक रूप से बढ़ी है, लेकिन project outcomes अब भी कमजोर हैं और failure rate ऊँचा है
- असली समस्या speed नहीं, बल्कि verification और alignment की कमी है, और XP intentional constraints के जरिए learning, alignment और quality improvement को बढ़ावा देता है
- खासकर जब AI agents code generation, modification और deployment को तेज़ करते हैं, तो बिना verification के complexity और vulnerabilities गंभीर हो जाती हैं
- XP simplicity, communication, feedback, respect, courage जैसे human-centered values और small batches, continuous integration, automated testing पर ज़ोर देता है
- ऐसे समय में जब तेज़ output सामान्य हो चुका है, XP फिर याद दिलाता है कि software आख़िरकार लोगों के लिए होता है
सॉफ़्टवेयर उत्पादन की गति का तेज़ होना और उसकी सीमाएँ
- हाल के AI tools और विभिन्न development platforms में innovation की वजह से code generation की बाधाएँ बहुत कम हुई हैं और गति काफ़ी बढ़ी है
- कुछ prompts या API calls से ही products, features और पूरी infrastructure तेज़ी से बनाई जा सकती है
- लेकिन बढ़ी हुई productivity के बावजूद overall project success rate में उल्लेखनीय सुधार नहीं दिखता
- Standish Chaos report और McKinsey reports जैसे स्रोतों में बताया गया है कि अधिकांश IT projects अब भी fail होते हैं या budget overrun में जाते हैं
- इससे यह साफ़ होता है कि सिर्फ code generation speed बढ़ने से software delivery outcomes अपने-आप बेहतर नहीं हो जाते
output ही असली समस्या क्यों नहीं है
- बार-बार यह साबित हुआ है कि software development का bottleneck code input/output speed नहीं है
- high-level languages का आना, frameworks और package managers का popular होना, DevOps और serverless का विस्तार, development platforms की प्रगति, और AI code generation जैसी लगातार acceleration waves आती रही हैं
- Chaos report के अनुसार output तेज़ होने के बावजूद final results अब भी inconsistent हैं और expectations से कम रहते हैं
- सिर्फ acceleration जवाब नहीं है; ज़रूरत है ज़्यादा समझदार constraints की
- XP जल्दबाज़ी नहीं, बल्कि learning, alignment और intentional development के ज़रिए सही दिशा देने वाली practice है
XP की भूमिका: speed के लिए counterweight
- बिना सीमा वाली acceleration learning, mistakes पकड़ने और direction correction के मौक़े छीन लेती है
- Extreme Programming (XP) intentional friction और constraints लाकर टीम को सही दिशा में आगे बढ़ाने के लिए डिज़ाइन किया गया है
- एक प्रमुख practice: pair programming जानबूझकर output को आधा कर देती है
- pair programming output को आधा कर सकती है, लेकिन shared understanding, trust, quality और team capability जैसे फ़ायदे दोगुने दे सकती है
- XP collaboration के तरीके को ही बदल देता है और team capability को मज़बूत करने और direction देने में निवेश करता है
AI के साथ XP की समस्या-समझ और गहरी होती है
- जैसे-जैसे AI code generation को लगभग effortless बना रहा है, वैसे-वैसे ठीक से verified न किए गए software के mass production का risk बढ़ रहा है
- खासकर कई agents वाले agentic AI systems में, जो code को अपने-आप generate, improve और deploy करते हैं, risk तेज़ी से बढ़ता है
- constraints के बिना automation systems unverified logic की कई परतें जमा कर देते हैं, जिससे complexity और vulnerabilities बढ़ती हैं
- हाल की research में दिखाया गया है कि LLM का context window जितना लंबा होता है, accuracy उतनी गिर सकती है
- शुरुआत और अंत का हिस्सा बेहतर handle होता है, लेकिन बीच का हिस्सा generalization और errors के लिए ज़्यादा vulnerable होता है
- नतीजतन ऐसा code बनता है जिसे maintain करना महँगा है और जो आसानी से टूट सकता है, और XP की उत्पत्ति ही ऐसे disorderly entropy को रोकने के लिए हुई थी
सॉफ़्टवेयर अब भी इंसानों का क्षेत्र है
- AI के आगे बढ़ने पर भी software का लोगों द्वारा, लोगों के लिए, और संगठन के communication व culture के भीतर बनाया जाना नहीं बदलता
- delivery में बड़ी रुकावट automation level नहीं, बल्कि alignment, shared context, clear outcomes और user validation जैसे human factors हैं
- XP के मुख्य values:
- Simplicity: complexity कम करना
- Communication: team cohesion बनाए रखना
- Feedback: learning और adaptation को drive करना
- Respect: trust और safety बनाना
- Courage: transparency और change की क्षमता को support करना
feature factory से real value delivery तक
- सफल teams speed से ज़्यादा flow और feedback को प्राथमिकता देती हैं
- XP की small batches, continuous integration, automated testing, और collective ownership जैसी practices adaptability और user-centricity में योगदान देती हैं
- आगे code production जितना तेज़ होगा, ये तरीके quality, risk और intent management के लिए उतने ही ज़रूरी होंगे
अतीत के सबक
- CHAOS report के आँकड़े:
- 1994: समय पर और budget के भीतर सफल projects 16%
- 2012: बढ़कर 37%
- 2020: फिर गिरकर 31%
- 20 साल से ज़्यादा innovation और बदलाव (agile, DevOps, cloud native, AI आदि) के बाद भी overall reliability में केवल 14 percentage points की बढ़त हुई
- सिर्फ toolchain से समस्या हल नहीं होती
- सही methodology की अहमियत फिर साबित होती है
आगे क्या चाहिए
- 1. output अब constraint नहीं है: code production capacity verification और alignment की speed से आगे निकल चुकी है
- 2. outcome-focused capability building: feedback, clear product direction, strong collaboration और better design ज़रूरी हैं
- 3. ज़्यादा human process की ज़रूरत: AI के आगे बढ़ने पर भी continuous delivery collaboration पर निर्भर रहती है
- यह रेखांकित किया गया है कि वास्तव में असरदार Product Operating Model people—collaboration, clarity, flow—केंद्रित operation से आता है
- technology innovation (platform) से ज़्यादा, team strategy, operating rhythm और engineering practices को कसकर align करने पर ही AI युग में sustainable software delivery environment बनाया जा सकता है
निष्कर्ष: AI युग में XP की ज़रूरत है?
- हाँ
- लगातार ताकतवर होते tools के बीच human-centered practices को स्थिर रखने वाला framework चाहिए
- XP team-centered approach के साथ empathy, shared understanding और सही goals की दिशा एक साथ देता है
- सिर्फ output speed नहीं, बल्कि meaningful direction और team alignment पर ध्यान देता है
- AI acceleration और बिना सीमा वाले production के युग में, XP उन दुर्लभ methodologies में से है जो याद दिलाती हैं कि software इंसानों का काम है
1 टिप्पणियां
Hacker News राय
Kent Beck (Extreme Programming के संस्थापक) AI coding से जुड़े कई तरह के प्रयोग कर रहे हैं
Augmented Coding Beyond the Vibes जैसे लेखों में वे इस पर विचार कर रहे हैं कि AI को programming में कैसे इस्तेमाल किया जा सकता है
याद है कि जब ChatGPT coding में उपयोगी रूप से इस्तेमाल होना शुरू हुआ था, तब उन्होंने कहा था कि उनकी 90% skills अब बेकार हो गई हैं, और बाकी 10% उतनी ही ज्यादा मूल्यवान हो गई हैं
90% of my skills are now worth 0
मेरा मानना है कि test-first XP development तरीका उस दौर में और ज्यादा मूल्यवान हो जाता है, जहाँ AI code generate करता है और फिर उसे verify भी करना होता है
ऐसा करने से खासकर AI tools के लिए code generation आसान हो जाता है
आजकल AI coding में एक बात परेशान करती है कि पुराने reports या guides repository में पड़े रह जाते हैं
उदाहरण के लिए यह report भी अपने बनाए जाने के समय के code पर आधारित AI-generated report है
समझ नहीं आता कि ऐसे intermediate outputs को history में छोड़ने का क्या मतलब है
खासकर _updated_v2_from_2025 जैसी बढ़ती चली जाने वाली files पर सवाल उठता है
उदाहरण1, उदाहरण2
मेरा मानना है कि सिर्फ XP ही असली agile methodology है
समय के साथ agile का अर्थ बिगड़कर लगभग खोखला हो गया है
AI programming feedback loop को जल्दी बंद करने में मदद करती है, लेकिन मुझे नहीं लगता कि हर code के लिए बहुत बड़े unit tests जरूरी हैं
अगर लोग XP के मूल को फिर से समझें — मेरे लिए वह feedback loop है — और LLM-based agent systems के जरिए उससे भी ज्यादा tight feedback loop बना सकें, तो यह software engineering के लिए बड़ी प्रगति होगी
मैंने XP से शुरुआत की थी और उसे बहुत दृढ़ता से अपनाया था, इसलिए अब SCRUM-style organizations में काम करना मुश्किल लगता है
SCRUM मूल रूप से XP से निकला था, लेकिन अब ऐसा लगता है कि उसमें सिर्फ अर्थहीन practices बची हैं
आदर्श स्थिति यह होगी कि दो developers एक ही branch पर AI agents के साथ pair programming करें
यह pair planning, review, development और testing का स्वाभाविक रूप से दोहराया जाने वाला आदर्श feedback loop है
XP के दौर के unit tests और आज के tests में फर्क है
तब वे functionality-level tests थे, method-by-method tests नहीं
मुझे लगता है कि यह इस बात पर निर्भर करता है कि AI feedback loop को कितनी सटीकता से बंद कर पाता है
मेरा मानना है कि code का आधा हिस्सा users तक न पहुँचाना (= production तक न पहुँचाना) agile नहीं है
हमारी टीम पूरी तरह ex-Pivots और Thoughtworks के लोगों से बनी है
pair programming, TDD और customer on-site हमारी बुनियादी practices हैं
हम IDE में 2 साल से भी ज्यादा समय से AI का सक्रिय उपयोग कर रहे हैं
लेकिन हैरानी की बात यह है कि इस साल हमने 'AI के साथ अलग-अलग काम करने' के बजाय, उल्टा, पूरी टीम (4 लोग) ने एक ही project पर sync में रहकर एक ही काम में डूबने वाला 'mobbing' शुरू किया
Claude Code typing में मदद करता है, और चारों लोग एक साथ real time में सहयोग करते हैं
यह XP और AI के शानदार मेल का सबसे मजेदार, सबसे focused और सबसे प्रभावी अनुभव था
मैं XP को पूरी तरह भूल चुका था
उसका कुछ हिस्सा आजकल सामान्य हो चुका है, और बाकी हिस्से आज के मानकों से बहुत अजीब लग सकते हैं
खासकर मैं इस बात पर जोर देना चाहता हूँ कि LLM से बिना ज्यादा सोचे 1000 lines से ऊपर का code निकलवाने से पहले एक बार जरूर सोचना चाहिए
व्यक्तिगत रूप से जानना चाहूँगा कि XP का कौन सा हिस्सा आज सबसे अजनबी लगता है
इसका मतलब यह नहीं समझना चाहिए कि सबको AI के साथ pair programming करनी ही चाहिए
जब आप team member के साथ pair programming करते हैं, तो आप एक-दूसरे की thinking style और code context साझा करते हैं
लेकिन AI के साथ pair programming में, prompt बंद करते ही AI सब कुछ भूल जाता है
इसलिए यहाँ जिस XP की बात हो रही है, वह 1990s की तरह अब भी 'इंसानों के बीच' किया जाने वाला XP है
AI उसका एक हिस्सा हो सकता है, लेकिन केंद्र में इंसान ही हैं
अगर आप परिणामों को स्पष्ट रूप से नहीं छोड़ते, तो ऐसा ही होगा
जब आप ऐसे नए code को explore कर रहे हों जिसके लिए documentation पर्याप्त न हो, तब LLM के साथ सीखी गई बातों को docs या agent files के रूप में repository में छोड़ना अर्थपूर्ण हो सकता है
मैं तो उल्टा सोचता हूँ कि अगर आप AI के साथ pair programming नहीं कर रहे, तो आप इसे गलत तरीके से कर रहे हैं
सच तो यह है कि इंसानों के साथ pair programming में भी, भविष्य का मैं अक्सर आज की सारी बातें भूल जाता हूँ
हमें documentation-focused pairing की ओर जाना चाहिए
संक्षेप में, LLM के साथ XP pair programming जरूर अपनानी चाहिए
लगता है कोई न कोई Extreme Vibing (XV) course भी बेचने लगेगा
Extreme Programming कई स्वतंत्र रूप से उपयोगी concepts (जैसे TDD, pair programming, CI, feedback) को एक साथ बाँधने वाला paradigm है
हर एक चीज अपने संदर्भ में उपयोगी हो सकती है, लेकिन मेरा मानना है कि हर हिस्से को हर समय साथ में इस्तेमाल करना जरूरी नहीं
इसी वजह से XP एक पूर्ण concept के रूप में अपनी ताकत खो देता है
आज ज्यादातर teams XP का सिर्फ कुछ हिस्सा ही अपनाती हैं, और लगभग कोई भी organization असली XP को पूरी तरह लागू नहीं करती
agile के मामले में, बड़ी कंपनियाँ आमतौर पर 90% से ज्यादा practices को लगभग 70% निष्ठा के साथ लागू करती हैं
वास्तव में, agile manifesto में बताए गए तरीके को 100% लागू करने वाली एक भी company नहीं थी, और जो सबसे अच्छा करती थी वह भी लगभग 90% तक ही पहुँचती थी
लेकिन क्योंकि ये core practices एक ही paradigm में बँधी थीं, organizations के लिए खुद को 'agile' कहना आसान हो गया
इसलिए सिर्फ यह घोषित करना कि “हम agile में बदल रहे हैं” कहीं ज्यादा आसान हो गया
यही वजह है कि XP की किताब philosophy, principles और practices के चरणों में बाँटी गई है
उस किताब की सबसे प्रभावशाली पंक्ति यह है कि practice के बिना values मृत हैं, और values के बिना practice खोखली है
आखिरकार लक्ष्य best practices थोपना नहीं, बल्कि team को अधिकार देना है ताकि वे अपना process खुद तय करें और अच्छी तरह designed, भरोसेमंद software बना सकें
XP का कुछ हद तक 'miscellaneous toolkit' जैसा दिखना भी इसी कारण है, क्योंकि यह वास्तव में ऐसे सक्रिय teams के लिए चुनी जाने वाली चीजों का संग्रह है
मैं वास्तव में ऊपर बताई गई practices (TDD, pair programming, CI, feedback) को production code में हमेशा अपनाता हूँ (जब परिस्थितियाँ अनुमति दें)
जानना चाहूँगा कि किन स्थितियों में इन practices को 'गलत' माना जा सकता है
मेरा मानना है कि 90s के जुनूनी agile दौर से हम काफी आगे बढ़ चुके हैं
अब जबकि AI-applied workflows बहुत बढ़ गए हैं, हमें सिर्फ output की मात्रा बढ़ाने के बजाय इस पर ज्यादा ध्यान देना चाहिए कि software process वास्तव में user outcomes की संभावना कैसे बढ़ाता है
मुझे लगता है कि XP इसकी शुरुआत के लिए अच्छा बिंदु है (जरूरी नहीं कि अंत भी वही हो)
Extreme Programming (XP) एक agile methodology है जो short iterations, fast feedback और simple design पर केंद्रित होती है, और pair programming, TDD, CI जैसी practices के आधार पर बदलावों के साथ तेजी से adapt करती है
प्राथमिकता यह होती है कि चीजों को जितना हो सके छोटा और तेज बनाया जाए, और customers के साथ मिलकर iteration के जरिए learning और quality optimization किया जाए
~ GPT5 in perplexity
आजकल लगता है कि AI के साथ waterfall फिर से उभर रहा है
waterfall कभी गया ही नहीं था
waterfall का लौटना दुर्भाग्यपूर्ण है
ज्यादातर मामलों में waterfall सही approach नहीं है
एक पूर्व Pivot कर्मचारी और XP के बड़े समर्थक के रूप में, मैं सहमत हूँ
नीचे मेरा comment भी देखें
मैं अब भी XP का अभ्यास कर रहा हूँ