வெள்ளி, 13 ஆகஸ்ட், 2010

மென்பொருள் தர நிர்ணயம்

உற்பத்தித் துறையில் புள்ளியியல் சார்ந்து தரக்கட்டுப்பாடு என்று ஒரு முறை இருந்தது.

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

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

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

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

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

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

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

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

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

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

உற்பத்தித் துறையில் முழுமையான தர மேம்பாடு என்று ஆரம்பித்தது போல நாமும் செய்தால் என்ன?

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

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

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

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

C, C++ போன்ற கம்பைல் செய்து இருமமாக வாடிக்கையாளருக்குக் கொடுக்கும் மென்பொருட்களை சோதனை செய்வது போலில்லாமல், இணைய பயன்பாட்டுக்கான சோதனை செய்வதில் பல மாற்றங்கள் வேண்டும். தன்னிச்சையாக ஓடக் கூடிய சோதனை முறைகளை உருவாக்குவதற்கு முன்பு சோதனை பழக்கங்கள் வர வேண்டுமே. அதற்கு இந்தப் பழக்கங்களை முயற்சிக்கலாம் என்று யோசனை.

கருத்துகள் இல்லை:

கருத்துரையிடுக