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

मुझे बताएँ कि आपके सॉफ़्टवेयर को क्या करना चाहिए

कस्टम सॉफ़्टवेयर की वास्तव में कब ज़रूरत होती है

कस्टम सॉफ़्टवेयर तब समझदारी भरा है जब कंपनी के काम करने के तरीके के लिए ऐसे फ़ीचर चाहिए हों जिन्हें उपलब्ध टूल ठीक से कवर नहीं करते। नई ऐप्लिकेशन डिज़ाइन करने से पहले, हम साथ मिलकर जाँचते हैं कि क्या किसी मौजूदा प्रोडक्ट को बेहतर तरीके से कॉन्फ़िगर करना या आपके पहले से इस्तेमाल हो रहे सिस्टम को आपस में जोड़ना काफ़ी होगा।

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

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

ये विचार करने योग्य सुधारों के प्रकार हैं, पहले से शामिल सुविधाओं का पैकेज नहीं। मैं किस तरह का काम करता हूँ, यह जानने के लिए आप वेब प्रोजेक्ट और ऐप्लिकेशन का पोर्टफ़ोलियो देख सकते हैं।

एक संपूर्ण वर्कफ़्लो पर केंद्रित पहली रिलीज़

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

हर चरण के लिए हम तय करते हैं कि कौन कार्रवाई कर सकता है, कौन-सा डेटा अनिवार्य है और त्रुटि होने पर क्या होगा। इससे एक ऐसा दायरा बनता है जिसके आधार पर प्रस्ताव की तुलना, सॉफ़्टवेयर की जाँच और उसका इस्तेमाल करने वाले लोगों से प्रतिक्रिया ली जा सकती है।

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

समस्या से डिलीवरी तक

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

सहयोग की प्रक्रिया में समीक्षा के चरण शामिल हैं: व्यवसाय के कामकाज को जानने वाले लोगों के पास धारणाओं को अंतिम सुविधाओं में बदलने से पहले सुधारने का अवसर होना चाहिए।

डेटा, प्रबंधन और लागत: शुरुआत में ही स्पष्ट करने वाली बातें

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

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

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

सॉफ़्टवेयर का इस्तेमाल करने वाले लोगों के साथ मिलकर काम करना

डेवलपमेंट की शुरुआत एक संपर्क व्यक्ति और एप्लिकेशन इस्तेमाल करने वाले लोगों से बातचीत से होती है। हम रिमोट तरीके से काम कर सकते हैं और साथ मिलकर जाँच सकते हैं कि एप्लिकेशन सहमत प्राथमिकताओं के अनुसार काम कर रहा है या नहीं। मेरे सफ़र के बारे में जानने के लिए Mattia Sica का परिचय पेज देखें।

ज़रूरत के मुताबिक सॉफ़्टवेयर बनवाने से जुड़े सवाल

क्या मैं Excel फ़ाइल से शुरुआत कर सकता हूँ?

हाँ, डेटा और नियम समझने के लिए यह एक अच्छी शुरुआत हो सकती है। मैं फ़ॉर्मूलों, डुप्लिकेट एंट्री, डेटा की मात्रा और फ़ाइल पर काम करने वाले लोगों की जाँच करता हूँ। हर स्प्रेडशीट को ऐप्लिकेशन में बदलना ज़रूरी नहीं है।

क्या यह सॉफ़्टवेयर मेरे मैनेजमेंट सॉफ़्टवेयर के साथ काम करेगा?

यह उपलब्ध इंटरफ़ेस और ऐक्सेस पर निर्भर करता है। कोटेशन देने से पहले आवश्यक सुविधाओं, डॉक्यूमेंटेशन और सेवा प्रदाता की संभावित सीमाओं के आधार पर इंटीग्रेशन का आकलन किया जाता है।

क्या मुझे तकनीकी आवश्यकताओं का दस्तावेज़ तैयार करना होगा?

नहीं। काम के उदाहरण, स्क्रीनशॉट और काल्पनिक डेटा वाले टेम्पलेट उपयोगी हैं। इन जानकारियों से हम उपयोगकर्ता, ज़रूरतें और परिणाम की जाँच के मानदंड तय कर सकते हैं।

क्या पहले रिलीज़ के बाद नई सुविधाएँ जोड़ सकूँगा?

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

बताएँ कि सॉफ़्टवेयर से कौन-सा काम आसान होना चाहिए

बताएँ कि इसे कौन इस्तेमाल करेगा, अभी आप काम कैसे करते हैं और आपके पास पहले से कौन-से टूल हैं। टेक्नोलॉजी चुनना ज़रूरी नहीं है; ज़रूरी यह समझना है कि आप क्या नतीजा चाहते हैं। अपने बिज़नेस सॉफ़्टवेयर पर चर्चा का अनुरोध करें।