COSMIC फ़ंक्शन पॉइंट क्या है, और यह घंटों के अनुमान से कैसे अलग है?

Mesterséges Intelligencia Központ Kft. बुडापेस्ट की एक सॉफ़्टवेयर विकास कंपनी है। हम सॉफ़्टवेयर का आकार COSMIC फ़ंक्शन पॉइंट में मापते हैं: तब आकार सॉफ़्टवेयर का गुण है, अनुमान लगाने वाले की भावना नहीं, इसलिए वह जाँचा और दोबारा मापा जा सकता है, और उससे दो प्रस्ताव तुलनीय होते हैं।

मुख्य बात: COSMIC (ISO/IEC 19761) सॉफ़्टवेयर का कार्यात्मक आकार मापता है: हर डेटा मूवमेंट (इनपुट, आउटपुट, पढ़ना, लिखना) 1 COSMIC फ़ंक्शन पॉइंट (CFP) के बराबर है। घंटों का अनुमान बताता है कि अनुमान लगाने वाला कितना काम सोचता है; मापा गया आकार बताता है कि काम कितना बड़ा है। इसलिए यह जाँचा और दोबारा मापा जा सकता है, इससे दो प्रस्ताव तुलनीय होते हैं, और प्रयास आकार और अनुभवजन्य उत्पादकता से निकाला जा सकता है।

कार्यात्मक आकार मापन क्या है?

सॉफ़्टवेयर का आकार कई तरह से व्यक्त हो सकता है: कोड की पंक्तियों, घंटों, पॉइंट में। कार्यात्मक आकार मापन (functional size measurement, FSM) मापता है कि उपयोगकर्ताओं की दृष्टि से सॉफ़्टवेयर को क्या करना है, न कि वह कैसे बनता है। इसकी मूल अवधारणाएँ ISO/IEC 14143-1:2007 मानक में तय हैं; मानक के विवरण के अनुसार उद्देश्य यही है कि मापन कार्यान्वयन के तरीक़े के बजाय उपयोगकर्ता के माँगे फ़ंक्शनों पर केंद्रित हो।

मापन का आधार कार्यात्मक उपयोगकर्ता आवश्यकताएँ (functional user requirements, FUR) हैं: उपयोगकर्ता आवश्यकताओं का वह हिस्सा, जो बताता है कि सॉफ़्टवेयर को कौन-से काम और सेवाएँ करनी हैं। प्रदर्शन, सुरक्षा या चुनी गई तकनीक इसमें नहीं आतीं; इन पर नीचे, सीमाओं में लिखा है।

कार्यात्मक आकार मापने की कई मानकीकृत पद्धतियाँ हैं। सबसे जानी-मानी COSMIC (ISO/IEC 19761:2011) और IFPUG पद्धति (ISO/IEC 20926:2009) हैं; ISO ने और पद्धतियाँ भी मानकीकृत की हैं (NESMA, FiSMA, Mk II)। सभी आवश्यकताओं से काम करती हैं, पर अलग नियमों और इकाइयों से, इसलिए उनकी संख्याओं की सीधी तुलना नहीं हो सकती।

COSMIC क्या है?

COSMIC, Common Software Measurement International Consortium का संक्षिप्त नाम है: एक ग़ैर-लाभकारी संगठन, जो पद्धति की देखरेख और मापकों का प्रमाणन करता है। पद्धति नब्बे के दशक के अंत में पहले की फ़ंक्शन पॉइंट पद्धतियों के विकास से बनी, 2003 में ISO मानक बनी; मौजूदा संस्करण ISO/IEC 19761:2011 है। विस्तृत विवरण, COSMIC Measurement Manual संस्करण 5.0, मुफ़्त डाउनलोड हो सकता है; पहला भाग 2021 का, दूसरा 2024 का है।

मानक के अनुसार पद्धति ऐप्लिकेशन सॉफ़्टवेयर (जैसे व्यावसायिक सिस्टम), रियल-टाइम सॉफ़्टवेयर और दोनों के मिश्रण को मापने के लिए उपयुक्त है, यानी ERP, CRM या वेबशॉप सिस्टम भी, और नियंत्रण सॉफ़्टवेयर भी।

COSMIC मॉडल की अवधारणाएँ

COSMIC सॉफ़्टवेयर को एक सरल मॉडल से बताता है: सॉफ़्टवेयर अपनी सीमा के आर-पार अपने कार्यात्मक उपयोगकर्ताओं से डेटा का आदान-प्रदान करता है, और सीमा के भीतर स्थायी भंडारण से पढ़ता और उसमें लिखता है।

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

चार डेटा मूवमेंट:

मापन के कुछ नियम, जो गिनती तय करते हैं:

नतीजा अनुपात पैमाने (ratio scale) पर होता है, यानी आकार जोड़े और आपस में तुलना किए जा सकते हैं: 40-40 CFP के दो हिस्से मिलकर 80 CFP हैं, और उप-योग फ़ंक्शन समूह के अनुसार भी दिखाया जा सकता है।

हल किया गया उदाहरण: “नया ग्राहक दर्ज करना”

एक सरल आवश्यकता लें: “क्लर्क नए ग्राहक का विवरण दर्ज करता है (नाम, पता, कर संख्या, ई-मेल)। सिस्टम जाँचता है कि ग्राहक पहले से दर्ज तो नहीं, उसे सहेजता है, और सफलता या त्रुटि की सूचना देता है।” मापन के क़दम:

  1. कार्यात्मक उपयोगकर्ता क्लर्क है, और ट्रिगर घटना यह है कि नया ग्राहक आता है।
  2. डेटा समूह ग्राहक है; चारों डेटा तत्व एक ही चीज़ के बारे में हैं, इसलिए वे एक समूह हैं।
  3. डेटा मूवमेंट आवश्यकता के वाक्यों से पहचाने जाते हैं, और हर एक को गिना जाता है।
क़दमडेटा मूवमेंटडेटा समूहआकार
क्लर्क फ़ॉर्म भेजता हैEntry (इनपुट)ग्राहक1 CFP
सिस्टम देखता है कि ग्राहक पहले से है या नहींRead (पढ़ना)ग्राहक1 CFP
सिस्टम नया ग्राहक सहेजता हैWrite (लिखना)ग्राहक1 CFP
सफलता या किसी भी त्रुटि की सूचनाExit (आउटपुट)त्रुटि और पुष्टि संदेश1 CFP
कुलचार डेटा मूवमेंटएक डेटा समूह4 CFP

COSMIC की वेबसाइट पर प्रकाशित गाइड का “नया कर्मचारी दर्ज करना” उदाहरण भी इसी तरह बना है। आवश्यकता के बदलाव आकार में ऐसे दिखते हैं:

उदाहरण यह भी दिखाता है कि मापन की जाँच क्यों हो सकती है: हर CFP के पीछे एक नामित आवश्यकता, एक डेटा समूह और एक नियम है। अगर कोई इस पर आपत्ति करे, तो ठीक-ठीक बताया जा सकता है कि बात किस पंक्ति की है।

जल्दी मापन, बाद में परिष्कार

COSMIC मापन उद्देश्य और दायरा तय करने से शुरू होता है: क्या मापते हैं, उसमें क्या शामिल है, और नतीजा किस काम आएगा। सटीक मापन को इतनी विस्तृत आवश्यकताएँ चाहिए, जिनसे कार्यात्मक प्रक्रियाएँ और उनके डेटा मूवमेंट पहचाने जा सकें। प्रोजेक्ट की शुरुआत में ये अक्सर नहीं होतीं; तब के लिए COSMIC जल्दी आकार-अनुमान की प्रकाशित सन्निकटन (approximation) विधियाँ सुझाता है, और आवश्यकताएँ तैयार होने पर सटीक मापन हो सकता है।

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

तुलना: घंटे, स्टोरी पॉइंट, IFPUG, COSMIC

पहलूघंटों का अनुमानस्टोरी पॉइंटIFPUG फ़ंक्शन पॉइंटCOSMIC फ़ंक्शन पॉइंट
क्या व्यक्त करता हैअनुमान लगाने वाले द्वारा अपेक्षित कामटीम का सापेक्ष अनुमान; हमेशा साफ़ नहीं कि आकार, प्रयास या समय काकार्यात्मक आकारकार्यात्मक आकार
मानकीकृत है?नहींनहींहाँ, ISO/IEC 20926:2009हाँ, ISO/IEC 19761:2011
किस पर निर्भरअनुमान लगाने वाले के अनुभव, सावधानी और टीम परउस टीम पर; हर टीम में अलग अर्थआवश्यकताओं परआवश्यकताओं पर
बाहर से जाँच संभव?सिर्फ़ अनुमान लगाने वाले की व्याख्या सेटीम के बाहर मुश्किल सेहाँ, सार्वजनिक नियमों सेहाँ, सार्वजनिक और मुफ़्त उपलब्ध नियमों से
इकाईघंटाटीम का अपना पॉइंटIFPUG फ़ंक्शन पॉइंटCFP, 1 CFP = 1 डेटा मूवमेंट
सबसे उपयुक्तछोटे, जाने-पहचाने कामों की योजनाटीम की अपनी स्प्रिंट योजनाआकार मापन, तुलनाआकार मापन, तुलना, प्रस्ताव और समय-सारिणी का आधार

घंटों का अनुमान बुरा टूल नहीं, बस कुछ और मापता है: अपेक्षित काम, जो आकार के अलावा टीम के ज्ञान, टूल और सावधानी पर भी निर्भर है। स्टोरी पॉइंट टीम के भीतर योजना में उपयोगी है, पर COSMIC की वेबसाइट पर प्रकाशित गाइड के अनुसार वह व्यक्तिपरक है, और उसका अर्थ हर टीम में अलग है। IFPUG और COSMIC दोनों मानक कार्यात्मक आकार हैं, पर अलग नियमों से, इसलिए उनकी संख्याएँ आपस में बदली नहीं जा सकतीं।

मापा गया आकार ज़्यादा विश्वसनीय आधार क्यों है?

शीर्षक के सवाल का सटीक जवाब: COSMIC घंटों का ज़्यादा सटीक अनुमान नहीं लगाता, बल्कि काम का आकार मापता है, और इसी से प्रयास का अनुमान ज़्यादा विश्वसनीय होता है। कारण:

COSMIC गाइड कई अध्ययनों का हवाला देती है, जिनमें CFP में मापा आकार वास्तविक प्रयास के साथ स्टोरी पॉइंट वाले अनुमान से ज़्यादा क़रीब चला। यही गाइड चेताती है कि आकार से अनुमानित प्रयास तब विश्वसनीय है, जब विकास प्रक्रिया पर्याप्त दोहराने योग्य हो और प्रयास मुख्यतः आकार से तय हो। इसलिए मापा गया आकार बेहतर शुरुआती बिंदु है, पर अच्छे अनुमान के लिए उत्पादकता भी जाननी होती है।

COSMIC क्या नहीं मापता?

COSMIC आकार फ़ंक्शनों को मापता है, और पद्धति का विवरण यह खुलकर कहता है। जो यह व्यक्त नहीं करता:

इसलिए अच्छा प्रस्ताव मापे गए आकार के साथ अलग से दिखाता है कि आकार क्या व्यक्त नहीं करता: एकीकरण, ग़ैर-कार्यात्मक आवश्यकताएँ, कस्टम इंटरफ़ेस और ग्राफ़िक्स, कई प्लेटफ़ॉर्म, डेटा स्थानांतरण, जटिल गणना और रियल-टाइम कामकाज। हमारे प्रस्तावों में ये मदें ऐसे ही हैं (देखें मूल्य निर्धारण पृष्ठ)।

हम इसे अपने काम में कैसे इस्तेमाल करते हैं?

हम विकास का कार्यात्मक आकार COSMIC फ़ंक्शन पॉइंट में मापते हैं। मापन के लिए हमने अपना, कृत्रिम बुद्धिमत्ता से समर्थित कार्यप्रवाह बनाया है, और नतीजे की जाँच एक समीक्षा चरण में कोई व्यक्ति करता है। क़दम:

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

मौजूदा सिस्टम के आगे के विकास में मौजूदा हिस्से को हम अलग से लिखते हैं, इसलिए आकार में सिर्फ़ नया हिस्सा गिना जाता है। मापन यह भी दिखाता है कि कार्यात्मक आकार क्या व्यक्त नहीं करता।

आकार से प्रस्ताव और समय-सारिणी कैसे बनती है?

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

आकार के आधार पर दो प्रस्तावों की तुलना

अगर आप कई डेवलपरों से प्रस्ताव माँगते हैं, तो आकार यह तय करने में मदद करता है कि वे एक ही काम के लिए हैं या नहीं। ऐसे आगे बढ़ना उचित है:

  1. एक ही विनिर्देश: हर प्रस्तावदाता को एक ही मद-दर-मद विवरण मिले।
  2. आकार और प्रक्रिया-सूची: पूछें कि क़ीमत कितने आकार और किन कार्यात्मक प्रक्रियाओं के लिए दी गई है।
  3. अंतर के कारण: अगर दो प्रस्ताव अलग हैं, तो देखें कि अंतर आकार में है, आकार द्वारा व्यक्त न होने वाली मदों में, या आकार की प्रति इकाई क़ीमत में।
  4. अलग मदें: पूछें कि अलग पंक्ति में क्या है (एकीकरण, डेटा स्थानांतरण, संचालन), और क़ीमत में क्या शामिल नहीं है।
  5. बदलावों का प्रबंधन: पूछें कि काम के दौरान होने वाले बदलाव कैसे मापे जाते हैं और उनकी क़ीमत कैसे तय होती है।

जो प्रस्तावदाता कार्यात्मक आकार नहीं मापता, उसका प्रस्ताव भी तुलनीय है, अगर उसने उसी मद-दर-मद प्रक्रिया-सूची की क़ीमत दी हो। डेवलपर चुनने के बाक़ी पहलू सॉफ़्टवेयर विकास कंपनी कैसे चुनें? लेख में हैं; और कस्टम विकास चाहिए भी या नहीं, यह तय करने में कस्टम सॉफ़्टवेयर या रेडीमेड समाधान (SaaS)? लेख मदद करता है।

अक्सर पूछे जाने वाले प्रश्न

COSMIC फ़ंक्शन पॉइंट क्या है?

COSMIC फ़ंक्शन पॉइंट (CFP) ISO/IEC 19761 मानक के अनुसार सॉफ़्टवेयर के कार्यात्मक आकार की इकाई है। एक CFP एक डेटा मूवमेंट है: किसी कार्यात्मक प्रक्रिया में एक डेटा समूह का इनपुट, आउटपुट, पढ़ना या लिखना। सॉफ़्टवेयर का आकार उसकी प्रक्रियाओं के डेटा मूवमेंट का योग है।

यह घंटों के अनुमान से कैसे अलग है?

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

COSMIC क्या नहीं मापता?

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

कौन मापता है, और क्या मापन की जाँच हो सकती है?

मापन पद्धति जानने वाला मापक करता है; हमारे यहाँ AI-समर्थित कार्यप्रवाह गिनती करता है, और नतीजे की समीक्षा कोई व्यक्ति करता है। नियम सार्वजनिक हैं और मापन प्रक्रिया-दर-प्रक्रिया प्रलेखित है, इसलिए पद्धति जानने वाला दूसरा विशेषज्ञ उसी विनिर्देश से इसे जाँच सकता है।

आकार से प्रस्ताव कैसे बनता है?

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

हम कैसे मदद करते हैं?

अगर आप कस्टम सॉफ़्टवेयर की योजना बना रहे हैं, तो हम मिलकर मद-दर-मद विनिर्देश लिखते हैं, उसका आकार COSMIC फ़ंक्शन पॉइंट में मापते हैं, और इसी से प्रस्ताव और समय-सारिणी बनती है। अनुरोध पर हम गोपनीयता समझौता (NDA) करते हैं, और हस्तांतरण के बाद हम संचालन और रखरखाव की ज़िम्मेदारी भी लेते हैं। सोर्स कोड और उपयोग के अधिकार अनुबंध में तय होते हैं। पहला परामर्श निःशुल्क है: संपर्क पृष्ठ पर दिए गए विवरणों पर हमें लिखें।

स्रोत