"ஹாய், அமிகோ!"

"வணக்கம், பிலாபோ!"

"நிரல்கள் பொதுவாக எவ்வாறு உருவாக்கப்படுகின்றன என்பதைப் பற்றி இன்று நான் உங்களுக்குச் சொல்லப் போகிறேன்."

"20 ஆம் நூற்றாண்டில், நவீன தகவல் தொழில்நுட்பம் ஆரம்ப நிலையில் இருந்தபோது, ​​நிரலாக்கமானது கட்டுமானம் அல்லது உற்பத்தி போன்றது என்று எல்லோரும் நினைத்தார்கள்."

"விஷயங்கள் பொதுவாக இப்படித்தான் நடக்கும்:"

" வாடிக்கையாளர் தனக்குத் தேவையான நிரல் வகையை விளக்குவார் - அது என்ன செய்ய வேண்டும், எப்படிச் செய்ய வேண்டும்."

" வணிக ஆய்வாளர்கள் அவர் சொல்வதைக் கேட்டு, அவர் கூறியதன் அடிப்படையில் நிரல் தேவைகளின் முழுமையான பட்டியலை உருவாக்குவார்கள்."

"பின்னர் திட்ட மேலாளர்கள் இந்தத் தேவைகளை பணிகளாகப் பிரிப்பார்கள், மேலும் எந்த புரோகிராமர் எந்தப் பணியை எந்த வரிசையில் செய்வார் என்பதையும் தீர்மானிப்பார்கள்."

"பின்னர் புரோகிராமர்கள் வேலைக்குச் செல்வார்கள். சில சமயங்களில் அவர்கள் பல வருடங்கள்(!) வேலை செய்வார்கள்."

"அவை முடிந்ததும், சோதனையாளர்களுக்கு நிரல் வழங்கப்பட்டது."

" சோதனையாளர்கள் திட்டத்தின் தேவைகள் ஒவ்வொன்றையும் சரிபார்த்து, அவை செயல்படுத்தப்பட்டதா என்பதைச் சரிபார்க்க வேண்டும் மற்றும் நிரல் நினைத்தபடி வேலை செய்கிறது."

"ஏதாவது தவறு நடந்தால், சோதனையாளர்கள் பிழைகளை பதிவுசெய்து அவற்றை புரோகிராமர்களுக்கு அனுப்புவார்கள்."

"பின்னர் புரோகிராமர்கள் பிழைகளை சரிசெய்து, நிலையான நிரலை மீண்டும் சோதனையாளர்களுக்கு அனுப்புவார்கள். மேலும் சுழற்சி மீண்டும் நடக்கும்."

"முக்கிய பிழைகள் சரி செய்யப்பட்டபோது, ​​நிரல் வாடிக்கையாளருக்கு வழங்கப்பட்டது."

"உண்மையில் அப்படித்தான் நடந்தது?"

"நிச்சயமாக, நான் நிறைய எளிமைப்படுத்தியுள்ளேன், ஆனால் அது எப்படிச் செய்யப்பட்டது என்பதற்கு மிக அருகில் உள்ளது."

"ஒரு திட்டம் முடிக்க ஒன்றரை முதல் இரண்டு ஆண்டுகள் ஆகுமா?"

"சில நேரங்களில் ஒரு திட்டப்பணியின் வளர்ச்சி நீண்டதாக இருந்தால், அதை தனித்தனி வெளியீடுகளாகப் பிரிப்பார்கள். ஒவ்வொரு 3-6 மாதங்களுக்கும், டெவலப்பர்கள் நிரலின் செயல்பாட்டின் ஒரு குறிப்பிட்ட பகுதியை உருவாக்கி, அதைச் சோதித்து, அதன் அனைத்து பிழைகளையும் சரிசெய்து, அதைக் காட்ட வேண்டும். வாடிக்கையாளர்."

"முதலில், அவர் தனது அபிப்ராயங்களைப் பகிர்ந்து கொள்ள முடியும். இரண்டாவதாக, மேலும் முக்கியமாக, திட்டத்தின் வளர்ச்சிக்காக அவர் தொடர்ந்து பணம் செலுத்துவார்."

"பணம் கொடுத்துக்கொண்டே இருக்கிறீர்களா?"

"அப்போது, ​​திட்டமிடப்பட்டதை விட பெரும்பாலும் 2-3 மடங்கு அதிக நேரம் எடுத்தது. மேலும் புரோகிராமர்களுக்கு ஒரு மணி நேரத்திற்கு ஒருமுறை பணம் கொடுக்கப்பட்டதால், திட்டம் 2-3 மடங்கு விலை உயர்ந்தது. இன்னும் என்ன, நன்மைகளும் குறைக்கப்பட்டன. எல்லாவற்றிற்கும் மேலாக, இன்று வாடிக்கையாளர் என்ன விரும்புகிறார். 3 ஆண்டுகளில் $100,000 தேவைப்படாமல் போகலாம் - குறிப்பாக மூன்று மடங்கு விலையில்."

"வாடிக்கையாளர்கள் அடிக்கடி பணம் கொடுக்க மறுத்தார்களா?"

"ஆம். அவர்கள் பின்னர் ஒப்பந்தத்தில் அபராதங்களைச் சேர்க்கத் தொடங்கினர், ஆனால் இது நிலைமையை மேம்படுத்தவில்லை. மென்பொருள் மேம்பாடு இழுத்துச் செல்லப்பட்டது. மேலும் அவர்கள் விரும்பினாலும் யாரும் அதைப் பற்றி எதுவும் செய்ய முடியாது."

"ஆனால் ஏன்?"

"சரி, முதலில், திட்டமிடல் கட்டத்தில் மிகவும் குறைவாகவே அறியப்படுகிறது. பெரும்பாலும், ஆரம்பத்தில், புரோகிராமர்கள் எதிர்கொள்ளும் பிரச்சனைகளை யாராலும் கணிக்க முடியாது."

"ஆனால் அனுபவம் வாய்ந்த புரோகிராமர்கள் எல்லாவற்றையும் முன்கூட்டியே பார்க்க முடிந்திருக்க வேண்டும், இல்லையா?"

"புரோகிராமிங் ஒரு தனித்துவமான தொழில் என்பதை நீங்கள் பார்க்கிறீர்களா?"

"ஒரு சாதாரண தொழிலாளி அடிக்கடி அதே வேலையை மீண்டும் மீண்டும் செய்கிறார். வாட்ச்மேக்கர்கள் கடிகாரங்களை செய்கிறார்கள், சமையல்காரர்கள், ஆசிரியர்கள் கற்பிக்கிறார்கள், மருத்துவர்கள் சிகிச்சை செய்கிறார்கள், முதலியன."

"இந்தத் தொழில் வல்லுநர்கள் ஒவ்வொருவரும் ஒவ்வொரு நாளும் ஒரே காரியத்தைச் செய்கிறார்கள். இதன் விளைவாக, அவர்கள் தங்கள் வேலைகளில் சிறந்து விளங்கத் தொடங்குகிறார்கள்."

"நிரலாக்கத்தில், அணுகுமுறை வேறுபட்டது. ஒரு ப்ரோக்ராமர் ஒவ்வொரு நாளும் அதே பணியை எதிர்கொண்டவுடன், அவர் அதைச் செய்ய ஒரு செயல்பாடு, தொகுதி அல்லது நிரலை எழுதுகிறார், மேலும் அதற்கு மீண்டும் வரமாட்டார்."

"ஒவ்வொரு புரோகிராமரும் வழக்கமாக ஒவ்வொரு பணியையும் அவரது வாழ்நாளில் ஒருமுறை தீர்க்கிறார்கள்."

"விஞ்ஞானிகள் அல்லது விஷயங்களைக் கண்டுபிடிக்கும் வடிவமைப்பு பொறியாளர்கள் போன்றவர்கள்."

"ஆமா, ஒரு திட்டத்தில் மிக முக்கியமான பங்கு என்ன?"

"ஹ்ம்ம், நான் எப்படி பதில் சொல்வது. எது மிக முக்கியமானது என்று சொல்வது எளிது, ஆனால் மிகக் குறைவானதை அடையாளம் காண்பது கடினம்."

" ஒரு சோதனையாளரின் முதன்மை வேலை ( Q uality  A ssurance, QA )  ஒரு நிரலின் நிலையைக் கண்காணித்து பிழைகளை உடனடியாகப் புகாரளிப்பதாகும். ஒரு சோதனையாளர் பிழைகளைக் கண்டறிந்தால், அதைச் சரிசெய்ய முடியும்.  ஒரு நல்ல சோதனையாளர் தயாரிப்பின் தரத்தை விட அதிகமாகப் பாதிக்கிறார். ஒரு நல்ல புரோகிராமர் செய்கிறார் ."

"ஏன் புரோகிராமர்கள் தங்கள் சொந்த நிரல்களை சோதிக்க முடியாது. எல்லாவற்றிற்கும் மேலாக, சோதனையாளர்களை விட அவர்கள் என்ன செய்கிறார்கள் மற்றும் வேலை செய்ய மாட்டார்கள்?"

"ஒரு நல்ல ப்ரோக்ராமர் ஒரு நல்ல சோதனையாளராக இருக்க இயலாது. ஒரு புரோகிராமருக்கு நிரல் எப்படி நன்றாக வேலை செய்கிறது என்பதை அறிவார், எனவே அவர் அல்லது அவள் அதை எப்போதும் ஒரு குறிப்பிட்ட வழியில் பயன்படுத்துகிறார். சாதாரண பயனர்களுக்கு மாறாக, அவர்கள் விரும்பியபடி நிரலைப் பயன்படுத்துகிறார்கள். "

"கூடுதலாக, சோதனையாளர்கள் இன்னும் வேலை செய்யாததைச் சோதிப்பதில்லை. புரோகிராமர் ஏற்கனவே சரியாகச் செயல்படுவதாகக் கூறும் நிரலின் செயல்பாடு அல்லது பகுதிகளை சோதனையாளர் சோதிக்கிறார்."

"மேலும் சோதனையாளர் அந்த செயல்பாட்டில் டன் பிழைகளைக் கண்டறிந்து, புரோகிராமர் அவற்றை சரிசெய்யும்போது, ​​தயாரிப்பு உண்மையில் முழுமைக்கு நெருக்கமாகிறது."

" ஒரு புரோகிராமரின் முதன்மைப் பணி ( S oftware  D eveloper  E ngineer D eveloperSDE , அவர்கள் அவற்றைச் செய்கிறார்கள். அவர்களுக்குப் பிழைகள் ஒதுக்கப்படும்போது, ​​அவர்கள் பிழைகளைச் சரிசெய்கிறார்கள்."

"ஆனால் சில நேரங்களில் மிகவும் சவாலான பணிகள் உள்ளன, எடுத்துக்காட்டாக, நிரல் அல்லது அதன் பகுதிகளுக்கான கட்டமைப்பைக் கொண்டு வாருங்கள். சிறந்த முன்மொழியப்பட்ட கட்டிடக்கலை, எதிர்காலத்தில் விஷயங்களைச் செய்வது எளிதாக இருக்கும்."

"பிரச்சனை என்னவென்றால், கட்டிடக்கலை ஆரம்பத்திலேயே தேர்ந்தெடுக்கப்பட வேண்டும், ஆனால் நீங்கள் வளர்ச்சியின் நடுவில் இருக்கும் வரை நீங்கள் சரியான கட்டிடக்கலையைத் தேர்ந்தெடுத்தீர்களா என்பது தெளிவாகத் தெரியும்."

"கூடுதலாக, கட்டிடக்கலை வெற்றிகரமாக இருந்தால் மற்றும் நிரல் சிறப்பாக மாறினால், வாடிக்கையாளர் அதை நிரலின் புதிய பதிப்புகளுக்கு அடிப்படையாகப் பயன்படுத்த விரும்புவார்."

"நான் பெறுவது இதோ."

"நீங்கள் எந்த கட்டிடக்கலை தேர்வு செய்தாலும், கட்டிடக்கலை கணக்கில் கொள்ளாத மாற்றங்கள், சேர்த்தல்கள் மற்றும் புதிய அம்சங்கள் எப்போதும் இருக்கும்."

"இதோ ஒரு நல்ல உதாரணம்."

"ஒரு வாடிக்கையாளர் உங்களிடம் 5-அடுக்குக் கட்டிடத்தைக் கட்டச் சொன்னார், எனவே நீங்கள் ஒரு கட்டிடக்கலை வடிவமைத்து வீட்டைக் கட்டுங்கள்."

"பின்னர் வாடிக்கையாளர் மற்றொரு கதையைச் சேர்க்கச் சொல்கிறார், பின்னர் இன்னொன்றைச் சேர்க்க வேண்டும், மேலும் பலவற்றைச் சேர்க்க வேண்டும்."

"ஆனால் முதல் தளத்தின் சுவர்கள் அவ்வளவு எடைக்கு வடிவமைக்கப்படவில்லை, அடித்தளமும் இல்லை. எனவே எல்லாவற்றையும் மீண்டும் செய்ய வேண்டும்."

"ஆனால் 5-அடுக்கு கட்டிடம் முடிந்ததும், வாடிக்கையாளர் உடனடியாக 50 மாடி கட்டிடம் வேண்டும் என்று முடிவு செய்தால் என்ன செய்வது?"

"தற்போதுள்ள கட்டமைப்பை இடித்துவிட்டு எல்லாவற்றையும் புதிதாகக் கட்டுவது எளிதாக இருக்கும்..."

"ஆனால் கட்டிடக்கலை தொடர்பாக நான் உங்களுக்கு ஒரு ஆலோசனை கூறுகிறேன்."

"ஒரு பயன்பாட்டின் கட்டமைப்பானது, முதலில், நெகிழ்வானதாக இருக்க வேண்டும், அதாவது, பயன்பாட்டின் பாதியை மீண்டும் செய்ய நீங்கள் முடிவு செய்தால், புதிதாக தொடங்க வேண்டியதில்லை. இந்த வகை கட்டிடக்கலை பொதுவாக நெகிழ்வான மற்றும் மட்டு என அழைக்கப்படுகிறது . "

" திட்ட மேலாளரின் முதன்மை வேலை முடிவுகளை எடுப்பதாகும். திட்ட மேலாளர் பெரிய படத்தைப் பார்த்து அந்த கண்ணோட்டத்தின் அடிப்படையில் முடிவுகளை எடுப்பவர்."

"ஒரு குறிப்பிட்ட பணி திட்டமிட்டபடி முடிக்கப்படாது என்பது வளர்ச்சியின் போது தெளிவாகிறது என்று வைத்துக்கொள்வோம். திட்ட மேலாளர் பின்:"

" அ)  பணியை மாற்ற வாடிக்கையாளருடன் பேச்சுவார்த்தை நடத்த முயற்சிக்கவும்

" ஆ)  பணிக்கு அதிக நேரம் ஒதுக்கவும்

" இ)  மற்ற திட்டங்களில் இருந்து அதிக அனுபவம் வாய்ந்த புரோகிராமர்களைக் கொண்டு வாருங்கள்."

"மற்றும் பல சாத்தியங்கள் உள்ளன."

"ஒவ்வொரு விருப்பத்திற்கும் நீங்கள் எதையாவது தியாகம் செய்ய வேண்டும், மேலும் மேலாளரின் வேலை இந்த தியாகங்களின் மொத்த இழப்புகளைக் குறைப்பதாகும். "

"உதாரணமாக, போட்டியாளர்கள் முன்னணி புரோகிராமருக்கு இருமடங்கு பணம் கொடுத்து திருடுகிறார்கள் என்று வைத்துக்கொள்வோம்."

"திட்ட மேலாளர் முடியும்:"

" அ)  எதுவும் செய்ய வேண்டாம். புரோகிராமர் வெளியேறுவார், மேலும் திட்டம் பின்தங்கி அபராதம் விதிக்கப்படும்."

" ஆ)  அவரது சம்பளத்தை இரட்டிப்பாக்குங்கள். பின்னர் குழுவில் உள்ள அனைவரும் சம்பள உயர்வுகளை விரும்புவார்கள். அவர்கள் அனைவருக்கும் அதிக பணம் கொடுத்தால், திட்டத்தின் செலவுகள் அதிகரிக்கும் மற்றும் அது லாபமற்றதாகிவிடும்."

" இ)  நீங்கள் நினைக்கும் வேறு சில விருப்பம்."

"நான் பார்க்கிறேன்."

"ஒரு மோசமான திட்ட மேலாளருடன், ஒரு நல்ல குழு பொதுவாக ஒரு திட்டத்தை நீட்டிக்கிறது, ஆனால் எப்போதும் இல்லை."

"சராசரி புரோகிராமர்களைக் கொண்ட ஒரு நல்ல மேலாளர், சிறந்த புரோகிராமர்களைக் கொண்ட ஒரு மோசமான மேலாளரைக் காட்டிலும் ஒரு திட்டத்தை எப்போதும் வேகமாக முடிப்பார்."

"நான் பார்க்கிறேன்."

"சரி, ஒரு சிறிய இடைவெளி எடுத்துக்கொள்வோம், பிறகு தொடர்வோம்."