Big design up front
பிக் டிசைன் அப் ஃப்ரண்ட் (பி. டி. யு. எஃப்) என்பது ஒரு மென்பொருள் மேம்பாட்டு அணுகுமுறையாகும், இதில் நிரலின் வடிவமைப்பு அந்த நிரலின் செயல்பாட்டைத் தொடங்குவதற்கு முன்பு முடிக்கப்பட்டு முழுமையாக்கப்பட வேண்டும். இது பெரும்பாலும் மென்பொருள் மேம்பாட்டின் நீர்வீழ்ச்சி மாதிரியுடன் தொடர்புடையது. பெரிய வடிவமைப்பு முன் (பி. டி. யு. எஃப்) என்பதற்கு ஒத்த சொற்கள் பெரிய மாடலிங் முன் (பி. எம். யு. எஃப்) மற்றும் பெரிய தேவைகள் முன் (பி. ஆர். யு. எஃப்) ஆகும். இவை சுறுசுறுப்பான மென்பொருள் மேம்பாட்டிற்குள் எதிர் வடிவங்களாகக் கருதப்படுகின்றன. நீர்வீழ்ச்சி மாதிரியின் ஆதரவாளர்களுக்கான வாதங்கள், வடிவமைப்பில் செலவழித்த நேரம் ஒரு பயனுள்ள முதலீடு என்று வாதிடுகின்றன, ஒரு மென்பொருள் தயாரிப்பின் வாழ்க்கைச் சுழற்சியின் ஆரம்ப கட்டங்களில் ஒரு பிழையை சரிசெய்ய குறைந்த நேரமும் முயற்சியும் செலவிடப்படும் என்ற நம்பிக்கையுடன் அதே பிழை கண்டறியப்பட்டு பின்னர் சரிசெய்யப்பட வேண்டும். அதாவது, செயல்படுத்தும் கட்டத்தில் அதே பிழையை சரிசெய்வதை விட தேவைகள் கட்டத்தில் ஒரு தேவைகள் பிழையை சரிசெய்வது மிகவும் எளிதானது, ஏனெனில் செயல்படுத்தும் கட்டத்தில் ஒரு தேவைகள் பிழையை சரிசெய்ய குறைந்தபட்சம் சில செயல்படுத்தல் மற்றும் வடிவமைப்பு வேலைகளை அகற்ற வேண்டும். மென்பொருள் மேம்பாடு குறித்த பிரபலமான ஆன்லைன் வர்ணனையாளரான ஜோயல் ஸ்போல்ஸ்கி, பெரிய வடிவமைப்புக்கு ஆதரவாக கடுமையாக வாதிட்டார்ஃ "பல முறை, விஷயங்களை முன்கூட்டியே சிந்திப்பது பிற்காலத்தில் கடுமையான வளர்ச்சி தலைவலியைக் காப்பாற்றியது. . [ஒரு குறிப்பிட்ட விவரக்குறிப்பு மாற்றத்தைச் செய்யும்போது]. விவரக்குறிப்பில் இந்த மாற்றத்தைச் செய்ய ஒரு மணி நேரம் அல்லது இரண்டு மணி நேரம் பிடித்தது. குறியீட்டில் இந்த மாற்றத்தை நாம் செய்திருந்தால், அது அட்டவணையில் வாரங்களைச் சேர்த்திருக்கும். எக்ஸ்ட்ரீம் புரோகிராமிங்கின் ஆதரவாளர்கள் அருவருப்பாக கருதும் பிக் டிசைன் அப் ஃப்ரண்ட்டை நான் எவ்வளவு வலுவாக நம்புகிறேன் என்பதை என்னால் சொல்ல முடியாது. நான் தொடர்ந்து நேரத்தை மிச்சப்படுத்தி, BDUF ஐப் பயன்படுத்துவதன் மூலம் சிறந்த தயாரிப்புகளை உருவாக்கியுள்ளேன், எக்ஸ்பி வெறியர்கள் என்ன சொன்னாலும் அதைப் பயன்படுத்துவதில் நான் பெருமிதம் கொள்கிறேன். இந்த விஷயத்தில் அவர்கள் தவறு செய்கிறார்கள், அதை விட நான் தெளிவாக இருக்க முடியாது ". இருப்பினும், பல வர்ணனையாளர்கள் ஜோயல் பெரிய வடிவமைப்பு என்று அழைத்ததை எக்ஸ்பி மற்றும் பிற சுறுசுறுப்பான மென்பொருள் மேம்பாட்டு முறைகளின் ஆதரவாளர்களால் விமர்சிக்கப்பட்ட பி. டி. யு. எஃப்-ஐ ஒத்திருக்கவில்லை என்று வாதிட்டனர், ஏனெனில் அவரது உதாரணம் முழு நிரல் வடிவமைப்பை அங்கீகரிக்கவோ அல்லது முற்றிலும் முன்கூட்டியே முடிக்கவோ இல்லை என்று அவர் கூறுகிறார்ஃ "இந்த விவரக்குறிப்பு வெறுமனே ஆர்ட்வர்க் 1 இன் வடிவமைப்பிற்கான ஒரு தொடக்க புள்ளியாகும், இறுதி வரைபடம் அல்ல. நாம் தயாரிப்பை உருவாக்கத் தொடங்கும்போது, திட்டமிட்டபடி சரியாக வேலை செய்யாத பல விஷயங்களைக் கண்டுபிடிப்போம். நாங்கள் புதிய அம்சங்களைக் கண்டுபிடிப்போம், விஷயங்களை மாற்றுவோம், சொற்களைச் செம்மைப்படுத்துவோம். விஷயங்கள் மாறும்போது விவரக்குறிப்பை புதுப்பித்த நிலையில் வைத்திருக்க முயற்சிப்போம். எந்த வகையிலும் இந்த சொற்றொடரை ஒருவிதமான புனிதமான, காஸ்ட்-இன்-ஸ்டோன் சட்டமாக நீங்கள் கருதக்கூடாது ". விமர்சகர்களுக்கு எதிரான வாதங்கள் (குறிப்பாக சுறுசுறுப்பான மென்பொருள் மேம்பாட்டைப் பயிற்சி செய்பவர்கள்) பி. டி. யு. எஃப் மாறிவரும் தேவைகளுக்கு மோசமாக பொருந்தக்கூடியது என்றும், வடிவமைப்பாளர்கள் விரிவான முன்மாதிரி மற்றும் குறைந்தபட்சம் சில முதலீடுகள் இல்லாமல் சிக்கல் பகுதிகளை முன்கூட்டியே கணிக்க முடியும் என்றும் பி. டி. யு. எஃப் கருதுகிறது. கணிசமான திட்டங்களுக்கு, பயனர்களின் தேவைகள் ஆரம்ப விநியோகங்களின் வெளிச்சத்தில் சுத்திகரிக்கப்பட வேண்டும், மேலும் வணிகத்தின் தேவைகள் பெரிய திட்டங்கள் முடிக்கப்படுவதை விட வேகமாக உருவாகின்றன-இது கணினி முடிக்கப்படும் நேரத்தில் பெரிய வடிவமைப்பை காலாவதியாக்குகிறது. திட்டமிடுவதற்கு செலவிடப்பட்ட நேரத்திற்கும், ஒரு குறைபாட்டை சரிசெய்யும் நேரத்திற்கும் இடையில் சமநிலைப்படுத்த ஒரு மேல்நிலை உள்ளது என்றும் அவர்கள் வலியுறுத்துகின்றனர். இது சில நேரங்களில் பகுப்பாய்வு பக்கவாதம் என்று அழைக்கப்படுகிறது. திட்டமிடுவதற்கான செலவு சரிசெய்வதற்கான செலவை விட அதிகமாக இருந்தால், திட்டமிடுவதில் செலவிடப்பட்ட நேரம் வீணடிக்கப்படுகிறது. தொடர்ச்சியான வரிசைப்படுத்தல், தானியங்கி புதுப்பிப்புகள் மற்றும் தொடர்புடைய யோசனைகள் உற்பத்தியில் உள்ள குறைபாடுகளின் விலையை கணிசமாகக் குறைக்க முயல்கின்றன, இதனால் அவை ஆரம்பத்தில் திட்டமிடுவதை விட ரன்-டைமில் சரிசெய்ய மலிவானதாக மாறும். உண்மையில், வடிவமைப்பு திருத்தங்களை விட ரன்-டைம் திருத்தங்கள் மிகவும் விலை உயர்ந்தவை, எனவே வளர்ச்சி சுழற்சியின் போது சிக்கல்களை சரிசெய்ய வளர்ச்சியின் போது அடிக்கடி செயல்விளக்கங்கள் மற்றும் பயனர் பின்னூட்டம் போன்ற சுறுசுறுப்பான முறைகளைப் பயன்படுத்துவது முக்கியம். பி. டி. யு. எஃப் உடன் ஒரு அமைப்பின் ஒவ்வொரு அம்சத்தையும் எதிர்பார்த்து ஆவணப்படுத்த முயற்சிப்பதை விட பயனர் பின்னூட்டத்தின் நன்மையுடன் மென்பொருளை மேம்படுத்துவது பொதுவாக குறைந்த செலவாகும். மேலும், பெரும்பாலான திட்டங்களில் விரிவான எழுதப்பட்ட (அல்லது நன்கு அறியப்பட்ட) தேவைகள் குறிப்பிடத்தக்க அளவில் இல்லை. எனவே BDUF இல் நிறைய அனுமானங்கள் செய்யப்படுகின்றன, அவை பின்னர் தவறானவை என்று நிரூபிக்கப்படுகின்றன, ஆனால் அவை வடிவமைக்கப்பட்டுள்ளன மற்றும் ஏற்கனவே குறியிடப்பட்டுள்ளன. மாற்றீடுகள் ஒரு மாற்று அணுகுமுறை ரஃப் டிசைன் அப் ஃப்ரண்ட் (ஆர். டி. யு. எஃப்) ஆகும், இதில் திட்டம் முன்னேறும்போது வடிவமைப்பு விவரங்களில் கட்டமைக்க ஒரு கட்டமைப்பை வழங்குவதற்கு 'போதுமான' வடிவமைப்பு முன் முடிக்கப்படுகிறது. இதேபோன்ற அணுகுமுறை ஜோஷுவா கெரியேவ்ஸ்கியால் போதுமான வடிவமைப்பு என்று அழைக்கப்படுகிறதுஃ "எங்கள் தயாரிப்புகளுக்கு முக்கியமான பொருட்களுக்கு உயர் வடிவமைப்பு தரம் தேவை என்றும், முக்கியமான பொருட்களுக்கு குறைவான வடிவமைப்பு தரம் தேவை என்றும் நான் சொல்கிறேன்". ஸ்க்ரமின் வக்கீல்கள் எமர்ஜென்ட் டிசைன் என்ற கருத்தை குறிப்பிடுகிறார்கள்ஃ "ஒரு ஸ்க்ரம் திட்டத்தின் வித்தியாசம் வேண்டுமென்றே வடிவமைக்கப்பட்ட வடிவமைப்பு வெளியேற்றப்படுவது அல்ல, ஆனால் அது (ஸ்க்ரம் திட்டத்தில் உள்ள எல்லாவற்றையும் போலவே) அதிகரிக்கிறது". மேலும் காண்க மென்பொருள் மேம்பாட்டு தத்துவங்களின் பட்டியல் குறிப்புகள் மென்பொருள் மேம்பாட்டு செயல்முறை