{"id":373,"date":"2020-04-14T17:43:33","date_gmt":"2020-04-14T10:43:33","guid":{"rendered":"https:\/\/www.marketenterprise.vn\/blog\/?p=373"},"modified":"2021-12-22T18:28:21","modified_gmt":"2021-12-22T11:28:21","slug":"pair-programing-va-mob-programing","status":"publish","type":"post","link":"https:\/\/www.marketenterprise.vn\/blog\/pair-programing-va-mob-programing.html","title":{"rendered":"Pair programming v\u00e0 mob programming (Part 1)"},"content":{"rendered":"\n<p><em>\u201cCh\u1ec9 v\u1edbi 2 ng\u01b0\u1eddi m\u1ed9t m\u00e1y t\u00ednh, ch\u00fang t\u00f4i t\u1ea1o n\u00ean s\u1ef1 kh\u00e1c bi\u1ec7t\u201d &#8211; tr\u00edch t\u1eeb l\u1eddi n\u00f3i c\u1ee7a m\u1ed9t c\u1eb7p developer vui v\u1ebb n\u00e0o \u0111\u00f3<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">L\u1eddi m\u1edf \u0111\u1ea7u<\/h2>\n\n\n\n<p>Ch\u00e0o c\u00e1c b\u1ea1n, sau m\u1ed9t th\u1eddi gian tr\u1ea3i nghi\u1ec7m v\u00e0 c\u1ea3m nh\u1eadn nh\u1eefng s\u1ef1 kh\u00e1c bi\u1ec7t, h\u00f4m nay m\u00ecnh mu\u1ed1n chia s\u1ebb v\u1edbi c\u00e1c b\u1ea1n m\u1ed9t h\u00ecnh th\u1ee9c l\u1eadp tr\u00ecnh kh\u00e1 ph\u1ed5 bi\u1ebfn \u0111\u1ed1i v\u1edbi th\u1ebf gi\u1edbi l\u1eadp tr\u00ecnh tr\u00ean to\u00e0n th\u1ebf gi\u1edbi, m\u1ed9t h\u00ecnh th\u1ee9c \u0111\u01b0\u1ee3c r\u1ea5t nhi\u1ec1u developer y\u00eau th\u00edch b\u1edfi nh\u1eefng \u01b0u \u0111i\u1ec3m tuy\u1ec7t v\u1eddi c\u1ee7a n\u00f3, \u0111\u00f3 ch\u00ednh l\u00e0 pair programming.&nbsp;<br><br><\/p>\n\n\n\n<p>B\u00e0i chia s\u1ebb n\u00e0y r\u1ea5t h\u1eefu \u00edch \u0111\u1ed1i v\u1edbi c\u00e1c b\u1ea1n \u0111ang mong mu\u1ed1n t\u00ecm m\u1ed9t s\u1ef1 kh\u00e1c bi\u1ec7t trong c\u00e1ch l\u00e0m vi\u1ec7c h\u1eb1ng ng\u00e0y. B\u00ean c\u1ea1nh \u0111\u00f3, n\u1ebfu \u00e1p d\u1ee5ng tri\u1ec7t \u0111\u1ec3 ph\u01b0\u01a1ng ph\u00e1p n\u00e0y, n\u00f3 s\u1ebd mang \u0111\u1ebfn cho b\u1ea1n, team b\u1ea1n v\u00e0 c\u1ea3 c\u00f4ng ty b\u1ea1n nh\u1eefng l\u1ee3i \u00edch \u0111\u00e1ng k\u1ec3.<br><br><\/p>\n\n\n\n<p>N\u1ebfu b\u1ea1n \u0111ang t\u00ecm hi\u1ec3u v\u1ec1 Agile ho\u1eb7c \u0111ang \u00e1p d\u1ee5ng <a href=\"https:\/\/www.marketenterprise.vn\/blog\/gioi-thieu-ve-agile.html\">Agile<\/a> v\u00e0o c\u00f4ng vi\u1ec7c th\u00ec \u0111\u00e2y c\u0169ng l\u00e0 m\u1ed9t ph\u01b0\u01a1ng ph\u00e1p gi\u00fap b\u1ea1n hi\u1ec3u r\u00f5 h\u01a1n v\u1ec1 nh\u1eefng g\u00ec b\u1ea1n \u0111ang theo \u0111u\u1ed5i.<br><br><\/p>\n\n\n\n<p>C\u00f2n b\u00e2y gi\u1edd, ch\u00fang ta h\u00e3y c\u00f9ng nhau th\u1eaft d\u00e2y an to\u00e0n, chu\u1ea9n b\u1ecb cho chuy\u1ebfn bay \u0111\u1ebfn v\u00f9ng \u0111\u1ea5t c\u1ee7a nh\u1eefng ki\u1ebfn th\u1ee9c m\u1edbi nh\u00e9.<br><br><\/p>\n\n\n<h2>Pair programming l\u00e0 g\u00ec?<\/h2>\n\n\n<p>\u0110\u00e2y l\u00e0 m\u1ed9t ph\u01b0\u01a1ng ph\u00e1p l\u1eadp tr\u00ecnh m\u00e0 c\u1ea3 2 developer s\u1ebd c\u00f9ng nhau l\u00e0m vi\u1ec7c tr\u00ean m\u1ed9t m\u00e1y t\u00ednh (PC ho\u1eb7c laptop), bao g\u1ed3m lu\u00f4n c\u1ea3 chu\u1ed9t, b\u00e0n ph\u00edm v\u00e0 c\u1ea3 m\u00e0n h\u00ecnh, t\u1ea5t c\u1ea3 m\u1ecdi th\u1ee9. N\u00f3i c\u00e1ch kh\u00e1c, c\u1ea3 2 s\u1ebd c\u00f9ng l\u00e0m m\u1ed9t vi\u1ec7c, c\u00f9ng m\u1ed9t th\u1eddi gian, c\u00f9ng m\u1ed9t kh\u00f4ng gian tr\u00ean c\u00f9ng m\u1ed9t m\u00e1y. Trong \u0111\u00f3, m\u1ed9t ng\u01b0\u1eddi c\u00f3 vai tr\u00f2 coding, m\u1ed9t ng\u01b0\u1eddi c\u00f3 vai tr\u00f2 d\u1eabn d\u1eaft. Vai tr\u00f2 n\u00e0y lu\u00f4n thay phi\u00ean nhau trong m\u1ed9t kho\u1ea3ng th\u1eddi gian h\u1ee3p l\u00fd. Ph\u01b0\u01a1ng ph\u00e1p n\u00e0y mang l\u1ea1i \u00edt l\u1ed7i h\u01a1n 15% (Cockburn &amp; Williams) nh\u01b0ng s\u1ebd t\u1ed1n 15% cho c\u00f4ng s\u1ee9c (s\u1ee9c kh\u1ecfe, th\u1ec3 tr\u1ea1ng) so v\u1edbi vi\u1ec7c l\u1eadp tr\u00ecnh m\u1ed9t m\u00ecnh.<br><br><\/p>\n\n\n\n<p>Pair programming l\u00e0 m\u1ed9t ph\u01b0\u01a1ng ph\u00e1p kh\u00f4ng h\u1ec1 m\u1edbi \u0111\u1ed1i v\u1edbi nh\u1eefng c\u00f4ng ty \u0111ang \u00e1p d\u1ee5ng Agile v\u00e0o c\u00f4ng vi\u1ec7c, b\u1edfi t\u00ednh ch\u1ea5t \u201chi\u1ec7u qu\u1ea3\u201d v\u00e0 \u201ctr\u01b0\u1edfng th\u00e0nh\u201d, ng\u00e0y nay ph\u01b0\u01a1ng ph\u00e1p n\u00e0y \u0111\u01b0\u1ee3c r\u1ea5t nhi\u1ec1u n\u01a1i \u00e1p d\u1ee5ng.<br><br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ph\u01b0\u01a1ng ph\u00e1p ho\u1ea1t \u0111\u1ed9ng<\/h2>\n\n\n\n<p><strong> C\u00f9ng l\u00e0m vi\u1ec7c: <\/strong>&nbsp;C\u1ea3 2 developer ng\u1ed3i c\u00f9ng nhau, nh\u00ecn v\u1ec1 m\u1ed9t h\u01b0\u1edbng, m\u1ed9t m\u00e1y t\u00ednh v\u00e0 c\u1ea3 gi\u1edbi h\u1ea1n c\u1ee7a task. Vi\u1ec7c n\u00e0y r\u1ea5t c\u1ea7n thi\u1ebft, \u201cPair programming\u201d kh\u00f4ng th\u1ec3 th\u00e0nh c\u00f4ng n\u1ebfu c\u1ea3 2 b\u1ecb t\u00e1ch ra, m\u1ed7i ng\u01b0\u1eddi m\u1ed9t m\u00e1y t\u00ednh, m\u1ed9t m\u1ee5c ti\u00eau kh\u00e1c nhau. H\u00e3y k\u1ebft n\u1ed1i c\u00f9ng nhau c\u1ea3 b\u00ean trong l\u1eabn b\u00ean ngo\u00e0i.<br><br><\/p>\n\n\n\n<p><strong>Ph\u00e2n chia vai tr\u00f2<\/strong>: S\u1ebd c\u00f3 2 vai tr\u00f2 trong ph\u01b0\u01a1ng ph\u00e1p n\u00e0y, \u0111\u00f3 l\u00e0 \u201cDriver\u201d v\u00e0 \u201cNavigator\u201d, t\u00f9y v\u00e0o t\u1eebng vai tr\u00f2 m\u00e0 s\u1ebd ph\u00e2n ra c\u00f4ng vi\u1ec7c, nhi\u1ec7m v\u1ee5 kh\u00e1c nhau.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong><em>Driver<\/em>: <\/strong>Hay c\u00f2n g\u1ecdi l\u00e0 \u201ct\u00e0i x\u1ebf\u201d, l\u00e0 ng\u01b0\u1eddi s\u1ebd coding ch\u00ednh tr\u00ean m\u1ed9t function nh\u1ecf c\u1ee7a m\u1ed9t task l\u1edbn. Ng\u01b0\u1eddi n\u00e0y \u0111\u1ea3m nhi\u1ec7m vai tr\u00f2 code, c\u1ed1 g\u1eafng gi\u1eef suy ngh\u0129 c\u1ee7a m\u00ecnh cho t\u1eebng d\u00f2ng code hi\u1ec7n t\u1ea1i.&nbsp;<br><br><\/li><li><strong>Navigator: <\/strong>Hay c\u00f2n g\u1ecdi l\u00e0 \u201cng\u01b0\u1eddi ch\u1ec9 \u0111\u01b0\u1eddng\u201d, s\u1ebd \u0111\u1ea3m nh\u1eadn nhi\u1ec7m v\u1ee5 t\u00ecm \u00fd t\u01b0\u1edfng, suy ngh\u0129, ki\u1ec3m tra xem c\u00e1c d\u00f2ng code c\u1ee7a driver \u0111\u00e3 t\u1ed1t hay ch\u01b0a, c\u00f3 n\u1eb1m trong gi\u1edbi h\u1ea1n c\u1ee7a function hay kh\u00f4ng, ph\u00e1t hi\u1ec7n nh\u1eefng l\u1ed7i l\u1ea7m v\u00e0 nguy c\u01a1 c\u00f3 th\u1ec3 x\u1ea3y ra \u0111\u1ed1i v\u1edbi nh\u1eefng g\u00ec m\u00e0 driver \u0111ang code. H\u1ecd s\u1ebd lu\u00f4n g\u00f3p \u00fd n\u1ebfu c\u00f3 v\u1ea5n \u0111\u1ec1 x\u1ea3y ra v\u1edbi d\u00f2ng code c\u1ee7a b\u1ea1n. B\u1ea3n th\u00e2n h\u1ecd c\u00f2n ph\u1ea3i suy ngh\u0129 \u0111\u1ebfn vi\u1ec7c s\u1ebd l\u00e0m nh\u1eefng g\u00ec s\u1eafp t\u1edbi trong su\u1ed1t qu\u00e1 tr\u00ecnh pair programming.&nbsp;<br><br><\/li><\/ul>\n\n\n\n<p><strong>Thay \u0111\u1ed5i vai tr\u00f2: <\/strong>Gi\u1eefa 2 vai tr\u00f2 n\u00e0y lu\u00f4n lu\u00e2n phi\u00ean thay \u0111\u1ed5i v\u1edbi nhau. Th\u01b0\u1eddng th\u00ec 20 ph\u00fat m\u1ed9t l\u1ea7n (t\u1ed1t nh\u1ea5t l\u00e0 30 ph\u00fat). Do vi\u1ec7c trao \u0111\u1ed5i v\u00e0 s\u1eed d\u1ee5ng b\u1ed9 n\u00e3o li\u00ean t\u1ee5c s\u1ebd khi\u1ebfn c\u1ea3 2 c\u1ea3m th\u1ea5y d\u1ec5 m\u1ec7t h\u01a1n so v\u1edbi khi l\u1eadp tr\u00ecnh m\u1ed9t m\u00ecnh. V\u00ec v\u1eady, h\u00e3y ngh\u0129 gi\u1ea3i lao khi c\u1ea3 2 c\u1ea3m th\u1ea5y m\u1ec7t m\u1ecfi. Theo kinh nghi\u1ec7m c\u1ee7a b\u1ea3n th\u00e2n m\u00ecnh, c\u1ee9 sau 90 ph\u00fat pair, ch\u00fang ta n\u00ean ngh\u1ec9 gi\u1ea3i lao m\u1ed9t l\u1ea7n \u0111\u1ec3 lu\u00f4n \u0111\u01b0\u1ee3c l\u00e0m vi\u1ec7c trong tr\u1ea1ng th\u00e1i t\u1ed1t nh\u1ea5t.<br><br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Nguy\u00ean t\u1eafc<\/h2>\n\n\n\n<p>\u0110\u1ec3 \u0111\u1ea1t \u0111\u01b0\u1ee3c hi\u1ec7u qu\u1ea3 t\u1ed1t nh\u1ea5t \u0111\u1ed1i v\u1edbi ph\u01b0\u01a1ng ph\u00e1p n\u00e0y, b\u1ea1n c\u1ea7n tu\u00e2n th\u1ee7 m\u1ed9t s\u1ed1 nguy\u00ean t\u1eafc.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Th\u01b0\u1eddng xuy\u00ean lu\u00e2n phi\u00ean thay \u0111\u1ed5i vai tr\u00f2<\/strong>: Vi\u1ec7c n\u00e0y s\u1ebd gi\u00fap c\u1ea3 hai lu\u00f4n \u0111\u01b0\u1ee3c t\u01b0\u01a1i m\u1edbi, kh\u00f4ng nh\u00e0m ch\u00e1n.<br><br><\/li><li><strong>Gi\u1eef \u0111\u00fang v\u1ecb tr\u00ed, vai tr\u00f2:<\/strong> Navigator kh\u00f4ng n\u00ean can thi\u1ec7p v\u00e0o b\u00e0n ph\u00edm l\u00fac Driver \u0111ang code, Driver c\u0169ng ch\u1ec9 d\u1eebng \u1edf m\u1ee9c truy\u1ec1n \u0111\u1ea1t cho Navigator bi\u1ebft m\u00ecnh s\u1eafp l\u00e0m g\u00ec, \u0111ang l\u00e0m g\u00ec. N\u1ebfu c\u1ea3 2 c\u00f3 xung \u0111\u1ed9t \u00fd t\u01b0\u1edfng, t\u1ed1t nh\u1ea5t h\u00e3y tr\u1ea3i nghi\u1ec7m t\u1eebng \u00fd t\u01b0\u1edfng, n\u1ebfu v\u1eabn kh\u00f4ng gi\u1ea3i quy\u1ebft \u0111\u01b0\u1ee3c s\u1ef1 xung \u0111\u1ed9t, h\u00e3y nh\u1edd nh\u1eefng ng\u01b0\u1eddi c\u00f3 kinh nghi\u1ec7m h\u1ed7 tr\u1ee3.<br><br><\/li><li><strong>T\u00f4n tr\u1ecdng l\u1eabn nhau: <\/strong>Tr\u00e1nh c\u00e1c trao \u0111\u1ed5i mang t\u00ednh ti\u00eau c\u1ef1c, h\u00e3y c\u1ed1 g\u1eafng l\u1eafng nghe v\u00e0 khi\u00eam t\u1ed1n. S\u1ebd c\u00f3 r\u1ea5t nhi\u1ec1u ph\u01b0\u01a1ng ph\u00e1p \u0111\u1ec3 gi\u1ea3i quy\u1ebft v\u1ea5n \u0111\u1ec1, h\u00e3y t\u00f4n tr\u1ecdng nh\u1eefng l\u1eddi khuy\u00ean.<br><br><\/li><li><strong>Th\u01b0\u1eddng xuy\u00ean trao \u0111\u1ed5i v\u1edbi nhau<\/strong>: V\u00ec ch\u1ec9 c\u00f3 trao \u0111\u1ed5i m\u1edbi c\u00f3 th\u1ec3 gi\u00fap c\u1ea3 2 hi\u1ec3u r\u00f5 nhau h\u01a1n c\u0169ng nh\u01b0 bi\u1ebft \u0111\u01b0\u1ee3c c\u1ea3 2 \u0111ang t\u1eadp trung v\u00e0o v\u1ea5n \u0111\u1ec1 g\u00ec.<br><br><\/li><li><strong>T\u1ef1 tin<\/strong>: C\u00f3 nh\u1eefng l\u00fac m\u1ed9t trong hai s\u1ebd c\u1ea3m th\u1ea5y t\u1ef1 ti v\u1ec1 nh\u1eefng g\u00ec m\u00ecnh \u0111ang l\u00e0m, \u0111\u1eebng ng\u1ea1i ng\u00f9ng, vi\u1ec7c clean code, thi\u1ebfu d\u1ea5u ch\u1ea5m ph\u1ea9y, sai syntax hay ch\u01b0a n\u1eafm r\u00f5 v\u1ec1 k\u1ef9 thu\u1eadt\u2026 s\u1ebd lu\u00f4n x\u1ea3y ra, h\u00e3y d\u00e0nh cho nhau ch\u00fat th\u1eddi gian \u0111\u1ec3 ch\u1ec9nh s\u1eeda c\u0169ng nh\u01b0 t\u00ecm hi\u1ec3u th\u00eam v\u1ec1 nh\u1eefng g\u00ec m\u00ecnh \u0111ang thi\u1ebfu s\u00f3t.<br><br><\/li><li><strong>Tinh th\u1ea7n tr\u00e1ch nhi\u1ec7m cao: <\/strong>K\u1ebft qu\u1ea3 l\u00e0 do c\u1ea3 2 c\u00f9ng nhau t\u1ea1o n\u00ean, c\u00f9ng nhau ch\u1ecbu tr\u00e1ch nhi\u1ec7m.<br><br><\/li><li><strong>T\u1eadp trung v\u00e0o v\u1ea5n \u0111\u1ec1 \u0111ang l\u00e0m: <\/strong>Trong su\u1ed1t qu\u00e1 tr\u00ecnh pair programming, s\u1ebd c\u00f3 nh\u1eefng v\u1ea5n \u0111\u1ec1 ph\u00e1t sinh, h\u00e3y c\u1ed1 g\u1eafng focus v\u00e0o v\u1ea5n \u0111\u1ec1 ch\u00ednh, c\u00e1c v\u1ea5n \u0111\u1ec1 v\u1eeba ph\u00e1t hi\u1ec7n h\u00e3y \u0111em n\u00f3 v\u00e0o list issue n\u1ebfu n\u00f3 nh\u1ecf, ch\u1ec9 th\u1eadt s\u1ef1 th\u1ea3o lu\u1eadn khi v\u1ea5n \u0111\u1ec1 \u0111\u00f3 l\u1edbn.<br><br><\/li><li><strong>Coding \u0111\u1ec3 m\u1ecdi ng\u01b0\u1eddi d\u1ec5 maintenance: <\/strong>Coding d\u1ef1a tr\u00ean rule do 2 ng\u01b0\u1eddi quy\u1ebft \u0111\u1ecbnh, \u0111\u1ea3m b\u1ea3o sao n\u00e0y c\u1ea3 2 \u0111\u1ec1u c\u00f3 th\u1ec3 maintenance.<br><br><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">L\u1ee3i \u00edch<\/h2>\n\n\n\n<p>\u0110\u1ec3 c\u00f3 th\u1ec3 c\u1ea3m nh\u1eadn \u0111\u01b0\u1ee3c nh\u1eefng l\u1ee3i \u00edch c\u1ee7a pair programming, c\u00e1ch t\u1ed1t nh\u1ea5t l\u00e0 h\u00e3y th\u1eed tr\u1ea3i nghi\u1ec7m n\u00f3. M\u00ecnh \u0111\u00e3 t\u1ef1 tr\u1ea3i nghi\u1ec7m sau kho\u1ea3ng 3 th\u00e1ng v\u1edbi ph\u01b0\u01a1ng ph\u00e1p n\u00e0y v\u00e0 r\u00fat ra \u0111\u01b0\u1ee3c m\u1ed9t s\u1ed1 \u0111i\u1ec3m nh\u01b0 sau:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Chia s\u1ebb ki\u1ebfn th\u1ee9c, l\u00e0 c\u01a1 h\u1ed9i t\u1ed1t \u0111\u1ec3 c\u1ea3 2 developer c\u00f3 th\u1ec3 c\u00f9ng nhau h\u1ecdc h\u1ecfi v\u00e0 c\u00f9ng nhau tr\u01b0\u1edfng th\u00e0nh.<\/li><li>N\u00e2ng cao ch\u1ea5t l\u01b0\u1ee3ng code, h\u1ea1n ch\u1ebf bug. V\u1edbi 2 b\u1ed9 n\u00e3o c\u00f9ng l\u00e0m chung 1 c\u00f4ng vi\u1ec7c, ch\u1eafc ch\u1eafn nh\u1eefng d\u00f2ng code c\u0169ng s\u1ebd ch\u1ea5t l\u01b0\u1ee3ng h\u01a1n. B\u00ean c\u1ea1nh \u0111\u00f3, vi\u1ec7c h\u1ea1n ch\u1ebf \u00fd t\u01b0\u1edfng d\u1eabn \u0111\u1ebfn b\u1ecb stuck trong c\u00f4ng vi\u1ec7c c\u0169ng s\u1ebd gi\u1ea3m thi\u1ec3u.<\/li><li>R\u00fat ng\u1eafn th\u1eddi gian ph\u00e1t tri\u1ec3n c\u1ee7a d\u1ef1 \u00e1n, nhanh ch\u00f3ng mang s\u1ea3n ph\u1ea9m \u0111\u1ebfn tay ng\u01b0\u1eddi d\u00f9ng. N\u1ebfu \u00e1p d\u1ee5ng tri\u1ec7t \u0111\u1ec3 ph\u01b0\u01a1ng ph\u00e1p n\u00e0y, vi\u1ec7c <a href=\"https:\/\/www.agilealliance.org\/glossary\/refactoring\/\" target=\"_blank\" rel=\"noopener\">refactor code<\/a>, fix bug c\u0169ng s\u1ebd gi\u1ea3m theo. S\u1ea3n ph\u1ea9m s\u1ebd \u0111\u1ebfn tay ng\u01b0\u1eddi d\u00f9ng nhanh nh\u1ea5t v\u00e0 ch\u1ea5t l\u01b0\u1ee3ng nh\u1ea5t.<\/li><li>C\u1ea3 2 s\u1ebd c\u00f3 c\u00e1i nh\u00ecn t\u1ed5ng quan v\u1ec1 m\u00e3 ngu\u1ed3n d\u1ef1 \u00e1n, d\u1ef1 \u00e1n v\u1eabn \u0111\u01b0\u1ee3c v\u1eadn h\u00e0nh n\u1ebfu c\u00f3 tr\u01b0\u1eddng h\u1ee3p 1 trong 2 developer v\u1eafng m\u1eb7t ho\u1eb7c ngh\u1ec9 vi\u1ec7c.<\/li><li>G\u00f3p ph\u1ea7n x\u00e2y d\u1ef1ng team. Vi\u1ec7c c\u00f9ng nhau th\u1ef1c hi\u1ec7n m\u1ed9t c\u00f4ng vi\u1ec7c s\u1ebd n\u00e2ng cao kh\u1ea3 n\u0103ng teamwork v\u00e0 giao ti\u1ebfp gi\u1eefa c\u00e1c member trong team.<\/li><\/ul>\n\n\n\n<p>Ngo\u00e0i ra c\u00f2n nhi\u1ec1u m\u1eb7t t\u1ed1t kh\u00e1c n\u1ebfu \u00e1p d\u1ee5ng pair programming hi\u1ec7u qu\u1ea3. H\u00e3y tr\u1ea3i nghi\u1ec7m ph\u01b0\u01a1ng ph\u00e1p n\u00e0y v\u00e0 t\u1ef1 k\u1ebft lu\u1eadn cho ch\u00ednh b\u1ea3n th\u00e2n m\u00ecnh nh\u00e9.<br><br><\/p>\n\n\n<h2>\u0110i\u1ec1u ki\u1ec7n \u0111\u1ec3 c\u00f3 th\u1ec3 pair programming<\/h2>\n\n\n<p>H\u00e3y \u0111\u1ea3m b\u1ea3o c\u00e1c \u0111i\u1ec1u ki\u1ec7n sau tr\u01b0\u1edbc khi pair programming.<\/p>\n\n\n\n<p><h3>S\u1ef1 tho\u1ea3i m\u00e1i<\/h3><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Vi\u1ec7c l\u1ef1a ch\u1ecdn, b\u1eaft c\u1eb7p \u0111\u1ec3 c\u00f9ng nhau pair programming ph\u1ea3i d\u1ef1a tr\u00ean tinh th\u1ea7n t\u1ef1 nguy\u1ec7n, kh\u00f4ng b\u1eaft bu\u1ed9c. C\u00e1 nh\u00e2n m\u1ed7i developer ph\u1ea3i th\u1ef1c s\u1ef1 tho\u1ea3i m\u00e1i khi l\u00e0m vi\u1ec7c c\u00f9ng nhau. \u0110i\u1ec1u n\u00e0y c\u0169ng \u0111\u1ed3ng ngh\u0129a v\u1edbi vi\u1ec7c c\u1ea3 2 developer kh\u00f4ng t\u1ed3n t\u1ea1i m\u00e2u thu\u1eabn t\u1eeb tr\u01b0\u1edbc \u0111\u00f3, c\u00e1c xung \u0111\u1ed9t hay b\u1ea5t \u0111\u1ed3ng ph\u1ea3i kh\u00f4ng \u0111\u01b0\u1ee3c t\u1ed3n t\u1ea1i ho\u1eb7c ph\u1ea3i h\u1ea1n ch\u1ebf nh\u1ea5t c\u00f3 th\u1ec3.<\/li><li>Kh\u00f4ng gian l\u00e0m vi\u1ec7c c\u0169ng l\u00e0 m\u1ed9t y\u00eau c\u1ea7u kh\u00e1 quan tr\u1ecdng, h\u00e3y chu\u1ea9n b\u1ecb m\u1ed9t n\u01a1i l\u00e0m vi\u1ec7c tho\u00e1ng \u0111\u00e3ng, r\u1ed9ng r\u00e3i.<br><br><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/mevn-public.s3-ap-southeast-1.amazonaws.com\/marketenterprise.vn\/wp-images\/2020\/04\/14173201\/image1-1024x768.jpg\" alt=\"\" class=\"wp-image-376\" srcset=\"https:\/\/mevn-public.s3-ap-southeast-1.amazonaws.com\/marketenterprise.vn\/wp-images\/2020\/04\/14173201\/image1-1024x768.jpg 1024w, https:\/\/mevn-public.s3-ap-southeast-1.amazonaws.com\/marketenterprise.vn\/wp-images\/2020\/04\/14173201\/image1-300x225.jpg 300w, https:\/\/mevn-public.s3-ap-southeast-1.amazonaws.com\/marketenterprise.vn\/wp-images\/2020\/04\/14173201\/image1-768x576.jpg 768w, https:\/\/mevn-public.s3-ap-southeast-1.amazonaws.com\/marketenterprise.vn\/wp-images\/2020\/04\/14173201\/image1-1536x1152.jpg 1536w, https:\/\/mevn-public.s3-ap-southeast-1.amazonaws.com\/marketenterprise.vn\/wp-images\/2020\/04\/14173201\/image1-1568x1176.jpg 1568w, https:\/\/mevn-public.s3-ap-southeast-1.amazonaws.com\/marketenterprise.vn\/wp-images\/2020\/04\/14173201\/image1.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption><em>C\u1ea3m gi\u00e1c tho\u1ea3i m\u00e1i l\u00e0 \u0111i\u1ec1u ki\u1ec7n gi\u00fap pair programming th\u00e0nh c\u00f4ng<\/em><\/figcaption><\/figure>\n\n\n\n<p><h3><strong>M\u00f4i tr\u01b0\u1eddng m\u1edf<\/strong><\/h3><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u0110\u1ea3m b\u1ea3o r\u1eb1ng m\u00f4i tr\u01b0\u1eddng c\u00f4ng ty ph\u1ea3i m\u1edf, b\u1edfi v\u00ec vi\u1ec7c trao \u0111\u1ed5i th\u01b0\u1eddng xuy\u00ean s\u1ebd g\u00e2y ra kh\u00e1 nhi\u1ec1u ti\u1ebfng \u1ed3n, \u0111i\u1ec1u n\u00e0y s\u1ebd g\u00e2y kh\u00f3 ch\u1ecbu cho nhi\u1ec1u \u0111\u1ed3ng nghi\u1ec7p.&nbsp;<\/li><li>N\u1ebfu b\u1ea1n \u0111ang l\u00e0m trong m\u00f4i tr\u01b0\u1eddng m\u1edf, c\u00e1c \u0111\u1ed3ng nghi\u1ec7p th\u01b0\u1eddng xuy\u00ean trao \u0111\u1ed5i th\u00ec khi \u00e1p d\u1ee5ng ph\u01b0\u01a1ng ph\u00e1p n\u00e0y s\u1ebd d\u1ec5 h\u01a1n r\u1ea5t nhi\u1ec1u. N\u1ebfu ng\u01b0\u1ee3c l\u1ea1i, h\u00e3y c\u1ed1 g\u1eafng ki\u1ec3m so\u00e1t ti\u1ebfng \u1ed3n n\u1ebfu b\u1ea1n th\u1eadt s\u1ef1 mu\u1ed1n \u00e1p d\u1ee5ng ph\u01b0\u01a1ng ph\u00e1p n\u00e0y.<br><br><\/li><\/ul>\n\n\n\n<p><h3><strong>M\u00e1y t\u00ednh \u0111\u1ee7 m\u1ea1nh<\/strong><\/h3><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>M\u00e1y t\u00ednh \u0111\u1ee7 m\u1ea1nh, \u0111\u1ea3m b\u1ea3o \u0111\u01b0\u1ee3c m\u1ea1ch code li\u00ean t\u1ee5c m\u00e0 kh\u00f4ng ng\u1eaft qu\u00e3ng. \u0110i\u1ec1u n\u00e0y c\u0169ng kh\u00f4ng th\u1ec3 b\u1ecf qua, v\u00ec qu\u00e1 tr\u00ecnh pair programming di\u1ec5n ra li\u00ean t\u1ee5c, c\u01b0\u1eddng \u0111\u1ed9 cao, c\u1ea3 2 b\u1ea1n s\u1ebd kh\u00f4ng mu\u1ed1n ph\u1ea3i ch\u1edd \u0111\u1ee3i trong khi m\u00e1y t\u00ednh build m\u1ed9t function n\u00e0o \u0111\u00f3 \u0111\u00fang kh\u00f4ng n\u00e0o.<br><br><\/li><\/ul>\n\n\n\n<p><h3><strong>C\u00f3 k\u1ef9 n\u0103ng teamwork, ch\u1ecbu \u0111\u01b0\u1ee3c \u00e1p l\u1ef1c t\u1ed1t<\/strong><\/h3><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u0110i\u1ec1u cu\u1ed1i c\u00f9ng l\u00e0 ph\u1ea3i ch\u1eafc ch\u1eafn r\u1eb1ng c\u1ea3 2 b\u1ea1n ph\u1ea3i c\u00f3 k\u1ef9 n\u0103ng teamwork t\u1ed1t v\u00e0 m\u1ed9t tinh th\u1ea7n ch\u1ecbu \u0111\u01b0\u1ee3c \u00e1p l\u1ef1c cao. V\u1edbi c\u01b0\u1eddng \u0111\u1ed9 ti\u1ebfp nh\u1eadn th\u00f4ng tin li\u00ean t\u1ee5c s\u1ebd r\u1ea5t d\u1ec5 khi\u1ebfn c\u1ea3 2 m\u1ec7t m\u1ecfi, h\u00e3y chu\u1ea9n b\u1ecb m\u1ed9t tinh th\u1ea7n v\u1eefng ch\u1eafc tr\u01b0\u1edbc khi pair programming nh\u00e9.<br><br><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">T\u1ed5ng k\u1ebft<\/h2>\n\n\n\n<p>V\u1eady l\u00e0 chuy\u1ebfn bay c\u1ee7a ch\u00fang ta t\u1ea1m th\u1eddi \u0111\u00e1p xu\u1ed1ng s\u00e2n bay an to\u00e0n, trong su\u1ed1t cu\u1ed9c h\u00e0nh tr\u00ecnh v\u1eeba r\u1ed3i b\u1ea1n \u0111\u00e3 c\u00f3 c\u00e1i nh\u00ecn s\u00e2u h\u01a1n v\u1ec1 pair programming r\u1ed3i ch\u1ee9. Vi\u1ec7c th\u1ef1c hi\u1ec7n n\u00f3 c\u0169ng kh\u00f4ng ph\u1ea3i qu\u00e1 kh\u00f3 kh\u0103n \u0111\u1ed1i v\u1edbi ch\u00fang ta \u0111\u00fang kh\u00f4ng n\u00e0o, h\u00e3y th\u1eed thuy\u1ebft ph\u1ee5c m\u1ed9t ng\u01b0\u1eddi \u0111\u1ed3ng nghi\u1ec7p m\u00e0 b\u1ea1n y\u00eau m\u1ebfn (\u0111\u01b0\u01a1ng nhi\u00ean l\u00e0 c\u1ea3 s\u1ebfp n\u1eefa) tham gia v\u00e0o ph\u01b0\u01a1ng ph\u00e1p n\u00e0y. Sau \u0111\u00f3 h\u00e3y t\u1ef1 tr\u1ea3i nghi\u1ec7m \u0111\u1ec3 hi\u1ec3u r\u00f5 h\u01a1n v\u1ec1 n\u00f3 nh\u00e9.<\/p>\n\n\n\n<p>Trong chuy\u1ebfn bay sau, m\u00ecnh s\u1ebd mang c\u00e1c b\u1ea1n \u0111\u1ebfn v\u00f9ng \u0111\u1ea5t m\u1edbi, l\u00e0 m\u1ed9t h\u00ecnh th\u1ee9c n\u00e2ng c\u1ea5p c\u1ee7a pair programming, theo m\u1ed9t c\u00e1ch th\u1ee9c kh\u00e1c, m\u1ed9t tr\u1ea3i nghi\u1ec7m m\u1edbi ho\u00e0n to\u00e0n. H\u00e3y \u0111\u00f3n ch\u1edd c\u00e1c b\u00e0i vi\u1ebft sau c\u1ee7a m\u00ecnh nh\u00e9.<\/p>\n\n\n\n<p><a aria-label=\"Pair programing v\u00e0 mob programing (Part 2) (opens in a new tab)\" href=\"https:\/\/www.marketenterprise.vn\/blog\/pair-programing-va-mob-programing-part-2.html\" target=\"_blank\" rel=\"noreferrer noopener\">Pair programming v\u00e0 mob programming (Part 2)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Part 1: Pair programing l\u00e0 g\u00ec?<\/p>\n","protected":false},"author":7,"featured_media":375,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[54],"tags":[10,11,22],"class_list":["post-373","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teamwork","tag-mob-programing","tag-pair-programing","tag-technical"],"_links":{"self":[{"href":"https:\/\/www.marketenterprise.vn\/blog\/wp-json\/wp\/v2\/posts\/373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marketenterprise.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marketenterprise.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marketenterprise.vn\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marketenterprise.vn\/blog\/wp-json\/wp\/v2\/comments?post=373"}],"version-history":[{"count":0,"href":"https:\/\/www.marketenterprise.vn\/blog\/wp-json\/wp\/v2\/posts\/373\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.marketenterprise.vn\/blog\/wp-json\/wp\/v2\/media\/375"}],"wp:attachment":[{"href":"https:\/\/www.marketenterprise.vn\/blog\/wp-json\/wp\/v2\/media?parent=373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marketenterprise.vn\/blog\/wp-json\/wp\/v2\/categories?post=373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marketenterprise.vn\/blog\/wp-json\/wp\/v2\/tags?post=373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}