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

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

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

योजना
विनिर्देश
समीक्षा
डिजाईन