ब्लॉग पर वापस जाएं
दस्तावेज़ीकरणप्रोजेक्ट मैनेजमेंट

बनाना शुरू करने से पहले आपके प्रोजेक्ट को design document की ज़रूरत क्यों है

7 मिनट पढ़ने का समय

एक design document आपको बनाने से पहले सोचने पर मजबूर करता है। जानिए उसमें क्या जाता है, उसे कैसे structure करें, और यह जितना खर्च करता है उससे ज़्यादा समय क्यों बचाता है।

Design Document वास्तव में क्या होता है

Design document एक लिखित योजना है जो बताती है कि आप क्या बना रहे हैं, क्यों बना रहे हैं, और यह कैसे काम करेगा। यह user manual नहीं है। यह task list नहीं है। यह वह सोच है जो बनाने से पहले होती है। इसके मूल में, एक design doc तीन सवालों के जवाब देता है। हम कौन सी समस्या हल कर रहे हैं? प्रस्तावित समाधान क्या है? और हमने जो tradeoffs और विकल्प विचार किए वे क्या हैं? बाकी सब कुछ — तकनीकी विवरण, scope की सीमाएं, timeline के अनुमान — उन तीन सवालों से जुड़ता है। Design docs उद्योग के अनुसार अलग-अलग नामों से जाने जाते हैं। Software teams उन्हें technical design documents या RFCs कहती हैं। Game developers game design documents लिखते हैं। Product teams product requirement documents लिखती हैं। Format बदलती है, लेकिन उद्देश्य हमेशा एक ही होता है: योजना को अपने दिमाग से बाहर निकालकर एक दस्तावेज़ में डालना जिसे दूसरे लोग — या भविष्य का आप — पढ़ और समझ सकें।

बनाने से पहले specs लिखना वास्तविक समय बचाता है

यह counterintuitive लगता है। आप बनाना शुरू करने के लिए उत्साहित हैं। आइडिया आपके दिमाग में स्पष्ट है। दस्तावेज़ लिखना बेकार काम लगता है जो आपको धीमा करता है। इसलिए आप इसे skip करके सीधे implementation में कूद पड़ते हैं। दो हफ्ते बाद, आपको एहसास होता है कि architecture उस feature को support नहीं करती जिसे आपने आसान मान लिया था। या किसी teammate ने कुछ ऐसा बनाया जो आपके approach से विरोधाभास करता है क्योंकि आपने कभी लिखा ही नहीं कि approach क्या थी। या आप कोई design decision पर आ जाते हैं जिसके बारे में सोचा ही नहीं था और अब refactor करना पड़ेगा। एक design document इन समस्याओं को वास्तविक समय खर्च होने से पहले पकड़ता है। जब आप लिखते हैं कि कुछ कैसे काम करना चाहिए, तो आप विवरणों पर सोचने के लिए मजबूर होते हैं। आप edge cases खोजते हैं। आप dependencies नोटिस करते हैं। आपको एहसास होता है कि "सरल" feature को वास्तव में तीन अलग-अलग systems में बदलाव चाहिए। Design doc लिखने में जो समय लगता है वह हमेशा उन समस्याओं को ठीक करने में लगने वाले समय से कम होता है जिन्हें दस्तावेज़ ने पकड़ा होता। यह तुलना ही नहीं होती। कुछ घंटों की writing हफ्तों के rework बचा सकती है।

Design Document को structure कैसे करें

आपको कोई rigid template की ज़रूरत नहीं है, लेकिन एक अच्छा design doc सामान्यतः इन क्षेत्रों को cover करता है। overview से शुरू करें। एक या दो paragraphs जो बताते हैं यह दस्तावेज़ क्या cover करता है और क्यों मायने रखता है। कोई भी इस section को पढ़कर scope समझ सके। आगे, समस्या परिभाषित करें। क्या टूटा है, गायब है, या चाहिए? specific रहें। "Users को बेहतर search चाहिए" अस्पष्ट है। "Users पुराने projects नहीं ढूंढ पाते क्योंकि current list view filtering या sorting support नहीं करता" उपयोगी है। फिर प्रस्तावित समाधान describe करें। यह दस्तावेज़ का मुख्य भाग है। बताएं कि आप क्या बनाने का plan है, यह कैसे काम करेगा, और user experience कैसा दिखेगा। पर्याप्त विवरण शामिल करें कि टीम का कोई दूसरा सदस्य इस description से अकेले implement कर सके। विचार किए गए विकल्पों पर एक section जोड़ें। आपने कौन से अन्य approaches evaluate किए? आपने यह क्यों चुना? यह आपकी reasoning दिखाता है और भविष्य के पाठकों को decision समझने में मदद करता है। अंत में, open questions और out-of-scope items सूचीबद्ध करें। आपने जानबूझकर क्या न करने का फैसला किया? क्या अभी भी discussion की ज़रूरत है? यह scope creep रोकता है और दस्तावेज़ को ईमानदार रखता है कि वह क्या cover करता है और क्या नहीं।

इसे एक living document बनाए रखना

Design doc एक ऐसी चीज़ नहीं है जो एक बार लिखी और भुला दी जाए। सबसे अच्छे design documents प्रोजेक्ट के साथ विकसित होते हैं। जैसे-जैसे आप बनाते हैं, आप चीज़ें सीखेंगे। कुछ assumptions गलत निकलेंगी। योजना के कुछ हिस्से बदलेंगे। यह बिल्कुल सामान्य है। दस्तावेज़ को उन बदलावों को प्रतिबिंबित करना चाहिए। नोट्स जोड़ें कि क्या बदला और क्यों। वे sections update करें जो अब वास्तविकता से मेल नहीं खाते। उन decisions को mark करें जो revised हुए। इससे आपका design doc एक project history बन जाता है। छह महीने बाद, जब कोई पूछे "हमने इसे इस तरह क्यों बनाया?" तो जवाब दस्तावेज़ में है। आपको किसी को महीनों पहले की बातचीत याद करने पर निर्भर नहीं रहना पड़ता। महत्वपूर्ण बात है दस्तावेज़ को update करना आसान बनाना। अगर यह किसी ऐसे टूल में है जो आपके असल प्रोजेक्ट से disconnected है, तो कोई उसे update नहीं करेगा। अगर यह आपके tasks और timelines के पास है, तो इसे update करना workflow का स्वाभाविक हिस्सा बन जाता है। IndieDevBoard में structured sections के साथ एक design documents feature है जो आपके प्रोजेक्ट के अंदर रहता है, इसलिए spec उस काम के करीब रहती है जिसे वह describe करती है।

Design Documents बनाम Game Design Documents

अगर आप game development में हैं, तो आप सोच रहे होंगे कि यह game design document से कैसे संबंधित है, जिसे आमतौर पर GDD कहते हैं। ये संबंधित लेकिन अलग हैं। GDD games के लिए specific है। यह सामान्यतः game concept, mechanics, story, level design, art direction, audio, UI और बहुत कुछ cover करता है। यह game की bible है। Game के बारे में सब कुछ GDD से describe किया जा सकना चाहिए। व्यापक अर्थ में design document किसी भी प्रोजेक्ट या feature के बारे में है। यह एक game के अंदर एक single feature, एक API design, एक website redesign, या एक नई process describe कर सकता है। यह अधिक focused है और सामान्यतः GDD से छोटा होता है। व्यवहार में, कई game teams दोनों का उपयोग करती हैं। GDD उच्च-स्तरीय vision document है। अलग-अलग design docs game के अंदर specific systems या features को cover करते हैं, जैसे combat system, inventory, या multiplayer networking layer। GDD कहता है "game में एक inventory system है।" Design doc बताता है कि inventory system वास्तव में कैसे काम करता है, data model कैसा दिखता है, और यह अन्य systems के साथ कैसे interact करता है।

सरल शुरू करें और iterate करें

आपको पहली बार में एक परफेक्ट design document लिखने की ज़रूरत नहीं है। basics से शुरू करें। लिखें कि आप क्या बना रहे हैं और क्यों। समाधान इतने विवरण में describe करें कि वह उपयोगी हो। जो भी अनिश्चित हो उसके लिए open questions जोड़ें। जैसे-जैसे आप अधिक comfortable होते हैं, आप स्वाभाविक रूप से अधिक structure जोड़ने लगेंगे। आपको एहसास होगा कि कितना विवरण पर्याप्त है। आप सीखेंगे कि आपके type के प्रोजेक्ट के लिए कौन से sections सबसे अधिक मायने रखते हैं। महत्वपूर्ण बात है शुरू करना। एक rough design doc जो एक घंटे में लिखा जाए वह उस परफेक्ट से अनंत गुना अधिक उपयोगी है जिसे आप कभी लिखने का मौका ही नहीं पाते। आपका भविष्य का आप और आपके teammates आपको इसके लिए धन्यवाद देंगे।
IndieDevBoard

अपने अगले प्रोजेक्ट को लॉन्च करने के लिए तैयार हैं?

IndieDevBoard आपको कानबन बोर्ड, प्रगति ट्रैकिंग, नोटबुक और आपकी ज़रूरत की हर चीज़ — सब एक जगह प्रदान करता है।

मुफ़्त में शुरू करें