|
ÙUÁÙTÖ£· ÚNÖ‡“ CÁÛ\V
LÖXLyP†‡¥ SÖ• AÛ]Y£• TWYXÖLe
L•ïyPŸLÛ[ TVÁT|†R BW•‘†‰
«yÚPÖ•. L•ïyPŸL· GÁT‰
J£ GXeyWÖÂe CV‹‡W• Uy|ÚU, ARÛ]
p\TÖL CVjL ÛYeL°• SUeh† ÚRÛYVÖ]
T‚LÛ[ ÙNšV AR¼h “ÚWÖfWÖ•
G]T|• BÛQ†ÙRÖPŸLÛ[ Gµ‡
L•ïyPŸLÛ[ ÙNV¥TPo ÙNšV
ÚY|•. G]ÚY L•ïyPŸL·
NÖyÚYŸ GÁT‰ (ÙUÁÙTÖ£·L·)
aÖŸ|ÚYŸ C¥XÖU¥ CVjLÖ‰. NÖyÚYŸL¸¥
L•ïyPŸL¸Á E·LyPÛU“L·
U¼¿• AÛ]†‰ T‚LÛ[•
ÚU¼ÙLÖ·º• «RUÖL YzYÛUeLTyP
BTÚWyzj pÍP•Í U¼¿•
TX RÂTyP T‚LºeLÖ] ÙUÁÙTÖ£yLÛ[†
R«W Œ¿Y]† ÚRÛYLºeÙL] E£YÖeLT|•
A‘¸ÚLNÁ ÙUÁÙTÖ£·L·
BfVÛY –L ˜efVUÖ]RÖh•. ERÖWQUÖL
J£ zTÖŸyÙUy ÍÚPÖ¡¥
‘¥¦j ÚTÖP TVÁT|†RT|•
ÙUÁÙTÖ£·.
A¸ÚLNÁ ÙUÁÙTÖ£·L· BjLÖj ÚL RÂSTŸL[Ö¥ A¥X‰ hµeL[Ö¥ A¥ X‰ AR¼ÙL] E·[ ÙUÁÙTÖ£· Œ¿Y]jL[Ö¥ YÖzeÛLVÖ[¡Á ÚRÛYeÚL¼T E£YÖeLT|•.A‘¸ÚLNÁ ÙUÁÙTÖ£· L· s²ŒÛX U¼¿• ÚRÛYVÖ] YN‡LºeÚL¼T L•ïyPŸ ÙUÖ³L· U¼¿• ÚTeÚLÇL[Ö¥ E£YÖeLT|fÁ\]. AªYÖ¿ E£YÖeLT|• ÙUÁÙTÖ£·LÛ[ TX«R ÚNÖRÛ]L· ÙNšR‘\ÚL TVÁT|†R ÚY|•. ÚU¨•, L•ïyPŸ A¥XÖU¥ ÙNš• ÙTÖµ‰ E·[ SÛP ˜Û\L· U¼¿• T‚›Á RW• ÚU•T|†RTyÚPÖ A¥X‰ hÛ\L· C¥XÖU¥ ÙNšVT|f\RÖ GÁTÛRe LLÖ‚eLTP ÚY|•. ÙUÁÙTÖ£· ÚNÖ‡“ T‚L· –L°• AYpVUÖ]RÖL°•, AR¼ÙL] TX«RUÖ] ˜Û\L· E£YÖeLTy|·[‰. CRÛ] p\TÖL RW• U¼¿• ÙNV¥TÖ|LÛ[ ÚNÖ‡“ T‚L¸¥ D|T|TYŸLºeh A‡L A[«¥ ÚRÛY H¼Ty|·[‰. C‹R YÖW• A‘¸ÚLNÁ ÙUÁÙTÖ£·LÛ[ ÚNÖ‡eL TVÁT|†RT|• TX ˜Û\L[Ö] Af¥ ÙU†RÖXÖÈÍ (Akil methologis), GeÍ{¡• “ÚWÖfWÖ–j (Extreme Programming), §y ÙPYXÙUÁy (Lead Developement ), APÖzª NÖyÚYŸ ÙPYXÙUÁy (Adoptive software developement), ÛP]–e pÍP•Í ÙPYXÙUÁy ÙU†ÚRy (Kinetic systems software developement) G] ÙUÁÙTÖ£·L¸Á ˜ÁÚ]ÖzVÖ] AÙU¡eLÖ«¥ 1995-2000L¸¥ E£YÖeLTy| TVÁT|†RTy| Y£f\‰. A¸ÚLNÁ ÙUÁÙTÖ£·L¸Á ÙNV¥TÖ|L·, RW•, TVÁTÖ|, TÖ‰LÖ“, “ÚWÖfWÖ–j ÍPÖÁPŸ| U¼¿• YÖzeÛLVÖ[¡Á ‡£‡ ÚTÖÁ\ÛYLÛ[ ÚNÖ‡eLÙY] E£YÖeLTy|·[ J£ G¸ÛUVÖ] U¼¿• p\TÖ] ˜Û\VÖ] GeÍ{¡• “ÚWÖfWÖ–j G]T|• Y³LÖy|RÛX C‹R YÖW• A½‹‰ÙLÖ·ÚYÖ•. GeÍ{¡• “ÚWÖfWÖ–j:- AÙU¡eL Œ¿Y]†RÖ¥ E£YÖeLTyP ÙUÁÙTÖ£· ÚNÖ‡‘¼ÙL] E£YÖeLTyP YÛL˜Û\Lº•, ÙUÁÙTÖ£· E£YÖeh• ÙTÖµÚR 12 YÛLVÖ] Y³˜Û\LÛ[ ÛLVÖ| ÙUÁÙTÖ£· TVÁTÖyz¥ U¼¿• ÙNV¦¥ hÛ\L· H‰• C¥XÖU¥ E£YÖeL Y³ÙNšf\‰. G|†‰eLÖyPÖL, J£ ÙUÁÙTÖ£· E£YÖeh• {–¥ J£YŸ ÙUÁÙTÖ£Û[ ÚNÖ‡eLÙY] AUŸ†RTy| AªYÙTÖµ‰ ÚNÖRÛ]LÛ[o ÙNš‰ ARÁ hÛ\TÖ|LÛ[e LÛ[V°• H¼TÖ|L· ÙNšVTyz£eh•. GeÍ{¡• “ÚWÖfWÖ–j 12 YÛL Y³˜Û\L· GeÍ{¡• “ÚWÖfWÖ–j GÁT‰ J£ ÙUÁ ÙTÖ£· RVÖ¡eh• ÙTÖµÚR 12 YÛLVÖ] Y³˜Û\LÛ[ ÛLVÖ| ÙUÁÙTÖ£· ÚNÖ RÛ]L· ÙNšVT|f\‰. ÚU¨•, C‹R ˜Û\VÖ]‰ p½V A[«XÖ] Œ¿Y]• U¼¿• YÖzeÛLVÖ[¡Á ÚRÛYLºeÙL] E£YÖeLT|• A‘¸ÚLNÁ BÛQ†ÙRÖPŸ ‡yPjLºeLÖLÙY] E£YÖeLTyPRÖh•. 1. YÖzeÛLVÖ[Ÿ (customer is at the center of the project):- JªÙYÖ£ ‡yP˜• ARÄÛPV YÖzeÛLVÖ[ÛW ˜Á¿†‡ÚV E£YÖeLTP ÚY|•. YÖzeÛLVÖ[¡Á ÚRÛYL· GÁ]T AÛYLÛ[ E£YÖefV A¥X‰ E£YÖeL TP ÚYzV YN‡L· GÁ]T H¼L]ÚY E·[ YN‡L· N¡VÖL CVjhf\RÖ G] T¡ÚNÖ‡†‰ hÛ\TÖ|L· HÚRÄ• C£‘Á ARÛ] LÛ[‹‰ YÖzeÛLVÖ[¡Á ˜µ†‡£‡ÛV ÙT¿• YÛL›¥ ÙUÁÙTÖ£· AÛUR¥ –L°• ˜efV•. 2. p½V ÙY¸œ|L· (small releases):- ÙUÁÙTÖ£· ˜µÛUVÖL E£YÖef ˜z• YÛWLÖ†‡£eLÖU¥ p½V Th‡L[ÖL ÙY¸›y| ARÛ] ÚNÖRÛ] ÙNš‰ ARÂ¥ H¼T|• ‘ÛZL· U¼¿• NŸ®Í ÚU•TÖ|LÛ[o ÙNšR¥ ÚY|•. 3. G¸ÛUVÖL E£YÖehR¥ (simple design):- ÙTÖ‰YÖL ÙUÁÙTÖ£¸Á ÚNÖRÛ]LÛ[ ÙNV¥T|†‰• ‡yP†‡Û] –L G¸ÛUVÖL E£YÖef ARÁTz JªÙYÖ£ TzVÖL ÚNÖRÛ]LÛ[ ŒL²†R ÚYzV YN‡LÛ[ H¼T|†‡e ÙLÖ·ºR¥ ÚY|•. 4. CÛP«PÖU¥ ÚNÖ‡†R¥ (relentless testing):- ÙUÁÙTÖ£¸Á AÛ]†‰ Th‡LÛ[• CÛP«PÖU¥ ÙRÖPŸ‹‰ ÚNÖ‡†R¥ AYpV•. HÚRÄ• Th‡LÛ[ ÚNÖRÛ] ÙNšVÖU¥ H¼T|• ‘ÛZL· A¥X‰ RY¿L[Ö¥ ÙUÖ†R ÙUÁÙTÖ£¸Á RWeLy|TÖ| Y¨«Z‹‰ «PXÖ•. 5. ‡£†‡AÛU†R¥ (refactoring): ÙUÁÙTÖ£¸¥ TVÁT|†RTyP “ÚWÖfWÖ• ÚLÖzjLÛ[ ‡£•T UÖ¼¿R¥, E·LyPÛU‘¥ UÖ¼\jLÛ[o ÙNšR¥, ÚRÛY›¥XÖR ’¥yLÛ[ ehR¥ U¼¿• ÚRÛYVÖ] A[«¥ iyPÚYÖ A¥X‰ hÛ\eLÚYÖ ÙNšR¥ ÚU¨• ‡£•T ‡£•T (redundancies) Y£• CPjL¸¥ UÖ¼\jLÛ[o ÙNšR¥ ÚTÖÁ\ SPYzeÛLLÛ[ ÙUÁÙTÖ£· ÚNÖRÛ]›Á ÚTÖ‰ ÙNV¥T|†‰R¥. 6. “ÚWÖfWÖ•LÛ[ CÛQ†R¥ (Pair programming ): ÙUÁÙTÖ£¸¥ ÚRÛYT|• ÙTÖµ‰ CW| “ÚWÖfWÖ•LÛ[ CÛQ†‰ JÁ\ÖL ÙNV¥TPo ÙNšR¥, 7. ÙY¸TÖ|L¸Á ÙRÖh“ (Collective ownership):- ÙUÁÙTÖ£· ÚNÖRÛ]›¥ D|T|TYŸL[Ö¥ h½‘PT|• AÛ]†‰ ÙY¸TÖ|L· U¼¿• ÚNÖRÛ]›Á ¡N¥yLÛ[ J£jfÛQ†‰ ÚRÛYVÖ] U¼¿• AYpVUÖ] UÖ¼\jLÛ[o ÙNšV ÚYzV SPYzeÛLLÖ] ˜z° ÙNšV† ÚRÛYVÖ] RLY¥LÛ[ J£jfÛQ†R¥ ÚY|•. 8. ÙRÖPŸ‹R J£jfÛQ“ (continiuos in tegration):- ÙUÁÙTÖ£¸Á AÛ]†‰ ÙNV¥TÖ|LÛ[• LLÖ‚†‰ «|R¥ C¥XÖU¥ ÙRÖPŸopVÖL JªÙYÖ£ Th‡LÛ[• ÚNÖRÛ] ÙNš‰ ÙY¸TyP ‘ÛZL· U¼¿• ÙNV¥TÖy| hÛ\TÖ|L· ÚTÖÁ\ÛYL· LÛ[VTy|·[RÖ G] N¡TÖŸ†‰ ÙUÁÙTÖ£¸Á ÙNV¥TÖyzÛ] J£jfÛQ“ ÙNšV ÚY|•. 9. YÖW• ˜µY‰• 40 U‚ÚSW• LLÖ‚“ (40 hour work/week):- ÙUÁÙTÖ£¸Á CVeL†‡Û] LLÖ‚eL hÛ\‹R‰ YÖW†‡¼h 40 U‚Lºeh• hÛ\«¥XÖU¥ ÚNÖRÛ] ÙRÖPŸ‹‰ SÛPÙT¼½£†R¥ AYpV•. HÙ]Â¥ A‡LTyN• H¼T|• ‘ÛZL· –L A‡LUÖ] ÚYÛXLÛ[• A‡L ÚSW• ÙUÁÙTÖ£Û[ TVÁT|†‰• ÙTÖµ‰ Uy|ÚU ‘ÛZL· A¥X‰ ARÁ ÙNV¥TÖy|e hÛ\TÖ|L· T¼½† ÙR¡V YÖš“·[‰. 10. YÖzeÛLVÖ[¡Á CP†‡¥ (on site customer):- ÙUÁÙTÖ£· ˜µÛUVÖLVÖLÚYÖ A¥X‰ h½‘yP A[«¥ RVÖ¡eLTyP°PÁ YÖzeÛLVÖ[Ÿ A¥X‰ Œ¿Y]†‡¥ ÚSWzVÖLÚYÖ TVÁT|• YÛL›¥ Œ¿YTy| YÖzeÛLVÖ[¡Á A¥X‰ Œ¿Y]†‡¥ SÛP˜Û\›¥ TVÁT|†RT|• (Real data ) ÙNV¥TÖ|LÛ[ L•ïyPŸ ÙUÁÙTÖ£¸Û] TVÁT|†‡ ARÛ]o ÚNÖ‡†R¥ ÚY|•. 11. “ÚWÖfWÖ–j RW• (Coding standars):- ÙUÁÙTÖ£¸¥ TVÁT|†RTyP “ÚWÖf–j BÛQ†ÙRÖPŸL· N•T‹RTyP J¡È]¥ ÙUÁÙTÖ£· U¼¿• RWŒŸQVTz E£YÖeLTy|·[YÖ¿ E·[]YÖ GÁTRÛ] E¿‡ ÙNš‰ ÙLÖ·ºR¥ AYpV•. 12. G¸ÛUVÖ]TP «[eLjL· (meta porically):- A¸ÚLNÁ ÙUÁÙTÖ£¸Á ÙUÖ†R ÙNV¥TÖ|LÛ[• G¸ÛUVÖ] ˜Û\›¥ «[eh• YÛL›¥ YÛWTP «[eLjLÛ[† RVÖ¡†R¥ U¼¿• ÚNÖRÛ]L¸Á ˜z°LÛ[• ARÛ] N¡ÙNšV ÚYzV SPYzeÛLLÛ[• AªYÖÚ\ E£YÖeLTy| ÙUÁÙTÖ£Û[ –L p\‹R ˜Û\›¥ E£YÖefP ER«Po ÙNšVTP ÚY|•. A¸ÚLNÁ ÙUÁÙTÖ£· RVÖ¡“ T‚LÛ[ WÖ‘y A¸ÚLNÁ ÙPYXÙUy (Rapid application developement ) GÁ\ÛZT‰ E|. AªYÖ¿ A‘¸ÚLNÁ ÙUÁÙTÖ£·L· E£YÖeLT|• ÙTÖµ‰ –y G]T|• (Most Important testings) ÚNÖRÛ]LÛ[ AzeLz ŒL²†‡ ÙUÁÙTÖ£¸Á ÙNV¥TÖyzÛ] –LoN¡VÖL E·[RÖ GÁTRÛ] E¿‡ ÙNš‰ ÙLÖ·ºR¥ ÚY|•. ÙUÁÙTÖ£· ÚNÖ‡‘Á TVÁL·:- A¸ÚLNÁ ÙUÁÙTÖ£·LÛ[ ÚNÖRÛ] ÙNšVT|• ÙTÖµ‰ L•ïyPŸ ™X• ÙNšVT|• T‚L¸Á RW†‡¥ S•‘eÛL•, ‘ÛZL· H‰• ŒLZÖYQ• LÖeh• YÛL›¥ ÚRÛYVÖ] SPYzeÛLLÛ[ ÚU¼ÙLÖ·ºR¨• SÛPÙT¿YRÖ¥, L•ïyPŸ ÙNV¥TÖ|L· ˜µÛUVÖL S•TL† RÁÛUÛV ReLÛY†‰e ÙLÖ·ºf\‰. GXeyz¡eL¥ U¼¿• GXeyWÖÂeÍ GÁÈÃVŸÍ CÁÍyzïy (IEEE) «[eL†‡ÁTz "ÙUÁÙTÖ£· ÚNÖ‡eh• ÙNV¦¥, ÙUÁÙTÖ£Û[ SÁh BWÖš‹‰, H¼L]ÚY E·[ SÛP˜Û\ U¼¿• ÙNV¨eh• ÙUÁÙTÖ£¸Á ™X• ÙNšVT|• ÙNV¨eh• E·[ «†‡VÖN• H‰• C£‘Á ARÛ] L|QŸ‹‰ ‘ÛZLÛ[ ÚTÖef ÚU•T|†‡ (Validation) TVÁT|†‰R¨• A¸ÚLNÁ ÙUÁÙTÖ£·Lºeh –L AYpVUÖ] ÙNVXÖh•''. ÙUÁÙTÖ£· ÚNÖ‡“ GÁT‰ CeLÖXe LyP†‡¥ –L A†‡VÖYpVUÖ] J£ L•ïyPŸ ‘¡YÖL°•, AR¼ÙL] TX Y³˜Û\L· E£YÖeLTy|·[RÖ¨• ARÛ] p\TÖL L¼¿ Y¥¨]ŸL[ÖL E£YÖf\YŸLºeh –L p\‹R ÚYÛX YÖš“L· LÖ†‡£efÁ\]. |