Ù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ÛUeLTyP BTÚWyzj pÍP•Í U¼¿• TX RTyP T‚LºeLÖ] ÙUÁÙTÖ£yLÛ[† R«W Œ¿Y]† ÚRÛYLºeÙL] E£YÖeLT|• A‘¸ÚLNÁ ÙUÁÙTÖ£·L· BfVÛY –L ˜efVUÖ]RÖh•. ERÖWQUÖL J£ zTÖŸyÙUy ÍÚPÖ¡¥ ‘¥¦j ÚTÖP TVÁT|†RT|• Ù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ÖeLT|•.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ÖeLT|fÁ\]. AªYÖ¿ E£YÖeLT|• Ù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|†RTyÚPÖ A¥X‰ hÛ\L· C¥XÖU¥ ÙNšVT|f\RÖ GÁTÛRe LLÖ‚eLTP ÚY|•.

ÙUÁÙTÖ£· ÚNÖ‡“ T‚L· –L°• AYpVUÖ]RÖL°•, AR¼ÙL] TX«RUÖ] ˜Û\L· E£YÖeLTy|·[‰. 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|†RT|• 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ÖeLTy| TVÁT|†RTy| 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ÖeLTy|·[ 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ÖeLTyP ÙUÁÙTÖ£· ÚNÖ‡‘¼ÙL] E£YÖeLTyP 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Ÿ†RTy| AªYÙTÖµ‰ ÚNÖRÛ]LÛ[o ÙNš‰ ARÁ hÛ\TÖ|LÛ[e LÛ[V°• H¼TÖ|L· ÙNšVTyz£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šVT|f\‰. ÚU¨•, C‹R ˜Û\VÖ]‰ p½V A[«XÖ] Œ¿Y]• U¼¿• YÖzeÛLVÖ[¡Á ÚRÛYLºeÙL] E£YÖeLT|• A‘¸ÚLNÁ BÛQ†ÙRÖPŸ ‡yPjLºeLÖLÙY] E£YÖeLTyPRÖ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ÖeLTP ÚY|•. YÖzeÛLVÖ[¡Á ÚRÛYL· GÁ]T AÛYLÛ[ E£YÖefV A¥X‰ E£YÖeL TP ÚYzV 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 ÚYzV 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|†RTyP “Ú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ÛYT|• Ù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½‘PT|• AÛ]†‰ ÙY¸TÖ|L· U¼¿• ÚNÖRÛ]›Á ¡N¥yLÛ[ J£jfÛQ†‰ ÚRÛYVÖ] U¼¿• AYpVUÖ] UÖ¼\jLÛ[o ÙNšV ÚYzV 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Û[• LLÖ‚†‰ «|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Û[VTy|·[RÖ G] N¡TÖŸ†‰ ÙUÁÙTÖ£¸Á ÙNV¥TÖyzÛ] J£jfÛQ“ ÙNšV ÚY|•.

9. YÖW• ˜µY‰• 40 U‚ÚSW• LLÖ‚“ (40 hour work/week):-

ÙUÁÙTÖ£¸Á CVeL†‡Û] LLÖ‚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Ö¡eLTyP°PÁ YÖzeÛLVÖ[Ÿ A¥X‰ Œ¿Y]†‡¥ ÚSWzVÖLÚYÖ TVÁT|• YÛL›¥ Œ¿YTy| YÖzeÛLVÖ[¡Á A¥X‰ Œ¿Y]†‡¥ SÛP˜Û\›¥ TVÁT|†RT|• (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|†RTyP “ÚWÖf–j BÛQ†ÙRÖPŸL· N•T‹RTyP J¡È]¥ ÙUÁÙTÖ£· U¼¿• RWŒŸQVTz E£YÖeLTy|·[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 ÚYzV SPYzeÛLLÛ[• AªYÖÚ\ E£YÖeLTy| ÙUÁÙTÖ£Û[ –L p\‹R ˜Û\›¥ E£YÖefP ER«Po ÙNšVTP ÚY|•.

A¸ÚLNÁ ÙUÁÙTÖ£· RVÖ¡“ T‚LÛ[ WÖ‘y A¸ÚLNÁ ÙPYXÙUy (Rapid application developement ) GÁ\ÛZT‰ E|. AªYÖ¿ A‘¸ÚLNÁ ÙUÁÙTÖ£·L· E£YÖeLT|• Ù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šVT|• ÙTÖµ‰ L•ïyPŸ ™X• ÙNšVT|• T‚L¸Á RW†‡¥ S•‘eÛL•, ‘ÛZL· H‰• ŒLZÖYQ• 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šVT|• Ù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ÖeLTy|·[RÖ¨• ARÛ] p\TÖL L¼¿ Y¥¨]ŸL[ÖL E£YÖf\YŸLºeh –L p\‹R ÚYÛX YÖš“L· LÖ†‡£efÁ\].

BACK