{"id":69871,"date":"2024-01-29T07:45:49","date_gmt":"2024-01-29T00:45:49","guid":{"rendered":"https:\/\/masterskills.org\/blog\/extreme-programming-trong-agile.html"},"modified":"2024-01-29T07:45:49","modified_gmt":"2024-01-29T00:45:49","slug":"extreme-programming-trong-agile","status":"publish","type":"post","link":"https:\/\/masterskills.org\/blog\/extreme-programming-trong-agile.html","title":{"rendered":"Extreme Programming trong Agile"},"content":{"rendered":"<div class=\"article-body article-toc\">\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">Extreme Programming (XP), c\u00f2n \u0111\u01b0\u1ee3c vi\u1ebft t\u1eaft l\u00e0 XP, l\u00e0 m\u1ed9t trong nh\u1eefng ph\u01b0\u01a1ng ph\u00e1p ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m ph\u1ed5 bi\u1ebfn nh\u1ea5t thu\u1ed9c khu\u00f4n kh\u1ed5 Agile. XP \u0111\u01b0\u1ee3c Kent Beck ph\u00e1t minh v\u00e0o \u0111\u1ea7u nh\u1eefng n\u0103m 1990. \u0110\u00f3 l\u00e0 m\u1ed9t nguy\u00ean t\u1eafc ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m \u201cg\u1ecdn nh\u1eb9\u201d d\u00e0nh cho nh\u00f3m nh\u1eb1m gi\u00fap c\u00e1c t\u1ed5 ch\u1ee9c s\u1ea3n xu\u1ea5t ph\u1ea7n m\u1ec1m ch\u1ea5t l\u01b0\u1ee3ng cao.\u00a0<\/span><\/p>\n<h2 style=\"text-align: justify\"><span style=\"font-size:20px\"><span style=\"color:#d35400\"><strong>C\u00e1c vai tr\u00f2 trong Extreme Programming (XP)<\/strong><\/span><\/span><\/h2>\n<p style=\"text-align: center\"><b><img loading=\"lazy\" decoding=\"async\" width=\"583\" height=\"544\" src=\"https:\/\/masterskills.org\/blog\/wp-content\/uploads\/2024\/01\/role_xp_agile.png\" title=\"role_xp_agile\"><\/b><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">&#8211; <strong>Sponsor<\/strong>: Ng\u01b0\u1eddi t\u00e0i tr\u1ee3 cho d\u1ef1 \u00e1n v\u00e0 l\u00e0 b\u00ean li\u00ean quan r\u1ea5t quan tr\u1ecdng c\u1ee7a d\u1ef1 \u00e1n.\u00a0<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">&#8211;<strong> Coach<\/strong>: Ch\u1ecbu tr\u00e1ch nhi\u1ec7m h\u01b0\u1edbng d\u1eabn, ch\u1ec9 d\u1eabn, v\u00e0 hu\u1ea5n luy\u1ec7n \u0111\u1ed9i nh\u00f3m c\u1ee7a m\u00ecnh theo c\u00e1ch tri\u1ec3n khai c\u1ee7a XP. Vai tr\u00f2 g\u1ea7n gi\u1ed1ng nh\u01b0 Scrum Master \u1edf Scrum.\u00a0<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\"><strong>&#8211; Onsite Customer\/Customer<\/strong>: Ch\u1ecbu tr\u00e1ch nhi\u1ec7m cung c\u1ea5p y\u00eau c\u1ea7u v\u00e0 \u0111\u1ed9 \u01b0u ti\u00ean c\u1ee7a y\u00eau c\u1ea7u. Vai tr\u00f2 g\u1ea7n gi\u1ed1ng nh\u01b0 Product Owner \u1edf Scrum.\u00a0<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\"><strong>&#8211; Programmer\/Developers<\/strong>: L\u1eadp tr\u00ecnh vi\u00ean, c\u00f3 vai tr\u00f2 tri\u1ec3n khai s\u1ea3n ph\u1ea9m.<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\"><strong>&#8211; Tester<\/strong>: Ki\u1ec3m th\u1eed vi\u00ean, c\u00f3 vai tr\u00f2 ki\u1ec3m tra s\u1ea3n ph\u1ea9m \u0111\u00e3 \u0111\u01b0\u1ee3c tri\u1ec3n khai \u0111\u00fang nh\u01b0 y\u00eau c\u1ea7u ch\u01b0a\u00a0v\u00e0 \u0111\u1ea3m b\u1ea3o ch\u1ea5t l\u01b0\u1ee3ng s\u1ea3n ph\u1ea9m. (Hai vai tr\u00f2 Programmer &amp; Tester c\u00f3 th\u1ec3 hi\u1ec3u t\u01b0\u01a1ng t\u1ef1 ch\u1ee9c n\u0103ng c\u1ee7a Development Team trong Scrum, nh\u01b0ng XP t\u00e1ch ra hai vai tr\u00f2 ri\u00eang bi\u1ec7t).<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\"><strong>&#8211; Tracker<\/strong>: Vai tr\u00f2 XP Tracker h\u1ed7 tr\u1ee3 \u0111o l\u01b0\u1eddng v\u00e0 truy\u1ec1n \u0111\u1ea1t ti\u1ebfn tr\u00ecnh c\u1ee7a nh\u00f3m. M\u1ed9t v\u00e0i th\u00f4ng tin m\u00e0 XP Tracker c\u00f3 th\u1ec3 h\u1ed7 tr\u1ee3 theo d\u00f5i c\u00f3 th\u1ec3 li\u1ec7t k\u00ea d\u01b0\u1edbi \u0111\u00e2y nh\u01b0ng kh\u00f4ng ph\u1ea3i to\u00e0n b\u1ed9:\u00a0<\/span><\/p>\n<ul>\n<li style=\"text-align: justify\"><span style=\"font-size:14px\">K\u1ebf ho\u1ea1ch v\u00e0 b\u00e1o c\u00e1o releases\u00a0<\/span><\/li>\n<li style=\"text-align: justify\"><span style=\"font-size:14px\">K\u1ebf ho\u1ea1ch v\u00e0 b\u00e1o c\u00e1o Sprint\/Iteration<\/span><\/li>\n<li style=\"text-align: justify\"><span style=\"font-size:14px\">K\u1ebf ho\u1ea1ch v\u00e0 k\u1ebft qu\u1ea3 Acceptance Test<\/span><\/li>\n<\/ul>\n<h2 style=\"text-align: justify\"><span style=\"color:#d35400\"><span style=\"font-size:20px\"><strong>12 Practices c\u1ee7a Extreme Programming (XP)<\/strong><\/span><\/span><\/h2>\n<div style=\"text-align: center\"><b><img loading=\"lazy\" decoding=\"async\" width=\"535\" height=\"363\" src=\"https:\/\/masterskills.org\/blog\/wp-content\/uploads\/2024\/01\/XP.png\" title=\"XP\"><\/b><\/div>\n<p style=\"text-align: justify\"><strong><\/strong><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">C\u00f3 2 c\u1ea5p \u0111\u1ed9 k\u1ebf ho\u1ea1ch trong XP:<\/span><\/p>\n<ul>\n<li style=\"text-align: justify\"><span style=\"font-size:14px\"><u><em>Release<\/em>:<\/u> Nh\u00f3m v\u00e0 c\u00e1c b\u00ean li\u00ean quan\/kh\u00e1ch h\u00e0ng c\u00f9ng nhau quy\u1ebft \u0111\u1ecbnh nh\u1eefng y\u00eau c\u1ea7u v\u00e0 t\u00ednh n\u0103ng cho t\u1eebng c\u1ed9t m\u1ed1c releases c\u1ee5 th\u1ec3. Vi\u1ec7c n\u00e0y \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n d\u1ef1a tr\u00ean m\u1ee9c \u0111\u1ed9 \u01b0u ti\u00ean, n\u0103ng l\u1ef1c, \u01b0\u1edbc t\u00ednh v\u00e0 y\u1ebfu t\u1ed1 r\u1ee7i ro c\u1ee7a nh\u00f3m th\u1ef1c hi\u1ec7n.<\/span><\/li>\n<li style=\"text-align: justify\"><span style=\"font-size:14px\"><u>I<em>teration\/Sprint<\/em>:<\/u> Nh\u00f3m s\u1ebd ch\u1ecdn nh\u1eefng m\u1ee5c c\u00f3 gi\u00e1 tr\u1ecb nh\u1ea5t t\u1eeb \u200b\u200bdanh s\u00e1ch t\u00ednh n\u0103ng s\u1ea3n ph\u1ea9m (Product Backlog) v\u00e0 chia ch\u00fang th\u00e0nh c\u00e1c nhi\u1ec7m v\u1ee5, sau \u0111\u00f3 \u01b0\u1edbc t\u00ednh.\u00a0<\/span><\/li>\n<\/ul>\n<p style=\"text-align: justify\"><strong><\/strong><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">Trong XP, nh\u00f3m s\u1ebd kh\u00f4ng th\u1ef1c hi\u1ec7n tr\u01b0\u1edbc c\u00e1c thi\u1ebft k\u1ebf v\u00e0 ki\u1ebfn \u200b\u200btr\u00fac ph\u1ee9c t\u1ea1p ho\u1eb7c qu\u00e1 l\u1edbn. Thay v\u00e0o \u0111\u00f3, nh\u00f3m s\u1ebd b\u1eaft \u0111\u1ea7u v\u1edbi m\u1ed9t thi\u1ebft k\u1ebf \u0111\u01a1n gi\u1ea3n, sau \u0111\u00f3 c\u1ea3i thi\u1ec7n v\u00e0 \u0111i\u1ec1u ch\u1ec9nh li\u00ean t\u1ee5c th\u00f4ng qua c\u00e1c Sprint. C\u00f4ng vi\u1ec7c (hay c\u00e1c \u0111o\u1ea1n m\u00e3 trong l\u1eadp tr\u00ecnh) th\u01b0\u1eddng xuy\u00ean \u0111\u01b0\u1ee3c t\u00e1i c\u1ea5u tr\u00fac \u0111\u1ec3 c\u00f3 th\u1ec3 d\u1ec5 d\u00e0ng b\u1ea3o tr\u00ec, n\u00e2ng c\u1ea5p v\u00e0 kh\u00f4ng m\u1eafc \u201cn\u1ee3 k\u1ef9 thu\u1eadt\u201d. Nh\u1eefng thi\u1ebft k\u1ebf \u0111\u01a1n gi\u1ea3n gi\u00fap cho vi\u1ec7c &#8216;\u0111\u1ecbnh ngh\u0129a vi\u1ec7c \u0111\u00e3 ho\u00e0n th\u00e0nh&#8217; tr\u1edf n\u00ean d\u1ec5 d\u00e0ng h\u01a1n.<\/span><\/p>\n<p style=\"text-align: justify\"><strong><\/strong><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">Trong XP, team th\u01b0\u1eddng s\u1ebd vi\u1ebft c\u00e1c k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed \u0111\u01a1n v\u1ecb (Unit Test) tr\u01b0\u1edbc khi b\u1eaft \u0111\u1ea7u c\u00f4ng vi\u1ec7c l\u1eadp tr\u00ecnh. L\u1ee3i \u00edch ch\u00ednh c\u1ee7a TDD l\u00e0 c\u00e1c l\u1eadp tr\u00ecnh vi\u00ean ch\u1ec9 ph\u1ea3i l\u1eadp tr\u00ecnh c\u00e1c \u0111o\u1ea1n m\u00e3 \u0111\u1ec3 v\u01b0\u1ee3t qua c\u00e1c k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed \u0111\u00e3 \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh tr\u01b0\u1edbc. C\u00e1c b\u01b0\u1edbc c\u01a1 b\u1ea3n c\u1ee7a TDD:\u00a0<\/span><\/p>\n<ul>\n<li style=\"text-align: justify\"><span style=\"font-size:14px\">Vi\u1ebft c\u00e1c tr\u01b0\u1eddng h\u1ee3p\/k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed \u0111\u01a1n v\u1ecb \u0111\u1ea7u ti\u00ean (Unit Test Cases)<\/span><\/li>\n<li style=\"text-align: justify\"><span style=\"font-size:14px\">Vi\u1ebft s\u1ed1 l\u01b0\u1ee3ng m\u00e3 t\u1ed1i thi\u1ec3u \u0111\u1ec3 v\u01b0\u1ee3t qua c\u00e1c k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed.<\/span><\/li>\n<li style=\"text-align: justify\"><span style=\"font-size:14px\">T\u00e1i c\u1ea5u tr\u00fac c\u00e1c \u0111o\u1ea1n m\u00e3 b\u1eb1ng c\u00e1ch th\u00eam t\u00ednh n\u0103ng v\u00e0 ch\u1ee9c n\u0103ng c\u1ea7n thi\u1ebft, \u0111\u1ed3ng th\u1eddi li\u00ean t\u1ee5c \u0111\u1ea3m b\u1ea3o c\u00e1c \u0111o\u1ea1n m\u00e3 n\u00e0y v\u01b0\u1ee3t qua c\u00e1c k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed.<\/span><\/li>\n<\/ul>\n<p style=\"text-align: justify\"><strong><\/strong><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">T\u1ed5 ch\u1ee9c mu\u1ed1n c\u00e1c l\u1eadp tr\u00ecnh vi\u00ean c\u1ee7a m\u00ecnh tu\u00e2n theo m\u1ed9t s\u1ed1 phong c\u00e1ch m\u00e3 h\u00f3a ti\u00eau chu\u1ea9n v\u00e0 \u0111\u01b0\u1ee3c m\u00f4 t\u1ea3 r\u00f5 r\u00e0ng \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 ti\u00eau chu\u1ea9n m\u00e3 h\u00f3a. C\u00e1c ti\u00eau chu\u1ea9n n\u00e0y l\u00e0 kim ch\u1ec9 nam cho nh\u00f3m ph\u00e1t tri\u1ec3n XP. C\u00e1c ti\u00eau chu\u1ea9n m\u00e3 h\u00f3a r\u1ea5t h\u1eefu \u00edch \u0111\u1ec3 t\u1ea1o s\u1ef1 nh\u1ea5t qu\u00e1n v\u1ec1 m\u00e3, ki\u1ec3u, chuy\u1ec3n \u0111\u1ed5i \u0111\u1eb7t t\u00ean, x\u1eed l\u00fd ngo\u1ea1i l\u1ec7 v\u00e0 s\u1eed d\u1ee5ng c\u00e1c tham s\u1ed1,\u2026 C\u00e1c ti\u00eau chu\u1ea9n n\u00e0y ph\u1ea3i \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh v\u00e0 th\u1ed1ng nh\u1ea5t tr\u01b0\u1edbc khi nh\u00f3m b\u1eaft \u0111\u1ea7u vi\u1ebft m\u00e3. B\u1eb1ng vi\u1ec7c \u00e1p d\u1ee5ng ti\u00eau chu\u1ea9n m\u00e3, m\u00e3 tr\u1edf n\u00ean \u0111\u01a1n gi\u1ea3n, d\u1ec5 hi\u1ec3u v\u00e0 gi\u00fap ph\u00e1t hi\u1ec7n v\u1ea5n \u0111\u1ec1 ho\u1eb7c c\u00e1c v\u1ea5n \u0111\u1ec1 m\u1ed9t c\u00e1ch nhanh ch\u00f3ng, \u0111\u1ed3ng th\u1eddi c\u0169ng l\u00e0m t\u0103ng hi\u1ec7u qu\u1ea3 c\u1ee7a ph\u1ea7n m\u1ec1m.<\/span><\/p>\n<p style=\"text-align: justify\"><strong><\/strong><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">Trong XP, qua m\u1ed9t kho\u1ea3ng th\u1eddi gian, nh\u00f3m t\u1ea1o ra r\u1ea5t nhi\u1ec1u m\u00e3 ho\u1ea1t \u0111\u1ed9ng v\u00e0 \u0111i\u1ec1u \u0111\u00f3 l\u00e0m t\u0103ng \u0111\u1ed9 ph\u1ee9c t\u1ea1p c\u0169ng nh\u01b0 g\u00f3p ph\u1ea7n t\u1ea1o ra n\u1ee3 k\u1ef9 thu\u1eadt. \u0110\u1ec3 tr\u00e1nh \u0111i\u1ec1u n\u00e0y, team XP xem x\u00e9t c\u00e1c \u0111i\u1ec3m d\u01b0\u1edbi \u0111\u00e2y b\u1eb1ng c\u00e1ch \u00e1p d\u1ee5ng Refactoring:\u00a0<\/span><\/p>\n<ul>\n<li style=\"text-align: justify\"><span style=\"font-size:14px\">\u0110\u1ea3m b\u1ea3o m\u00e3 ho\u1eb7c ch\u1ee9c n\u0103ng kh\u00f4ng b\u1ecb tr\u00f9ng l\u1eb7p.<\/span><\/li>\n<li style=\"text-align: justify\"><span style=\"font-size:14px\">\u0110\u1ea3m b\u1ea3o t\u1ea5t c\u1ea3 c\u00e1c bi\u1ebfn trong ph\u1ea1m vi, \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh v\u00e0 s\u1eed d\u1ee5ng.<\/span><\/li>\n<li style=\"text-align: justify\"><span style=\"font-size:14px\">Kh\u00f4ng c\u00f3 h\u00e0m ho\u1eb7c ph\u01b0\u01a1ng th\u1ee9c d\u00e0i.<\/span><\/li>\n<li style=\"text-align: justify\"><span style=\"font-size:14px\">Lo\u1ea1i b\u1ecf nh\u1eefng th\u1ee9 v\u00e0 bi\u1ebfn kh\u00f4ng c\u1ea7n thi\u1ebft.<\/span><\/li>\n<li style=\"text-align: justify\"><span style=\"font-size:14px\">S\u1eed d\u1ee5ng \u0111\u00fang c\u00e1ch c\u00e1c c\u00f4ng c\u1ee5 s\u1eeda \u0111\u1ed5i truy c\u1eadp, v.v.<\/span><\/li>\n<\/ul>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">B\u1eb1ng c\u00e1ch t\u00e1i c\u1ea5u tr\u00fac, c\u00e1c l\u1eadp tr\u00ecnh vi\u00ean t\u00ecm c\u00e1ch c\u1ea3i thi\u1ec7n ch\u1ea5t l\u01b0\u1ee3ng m\u00e3 t\u1ed5ng th\u1ec3 v\u00e0 l\u00e0m cho c\u00e1c \u0111o\u1ea1n m\u00e3 n\u00e0y d\u1ec5 \u0111\u1ecdc h\u01a1n m\u00e0 kh\u00f4ng thay \u0111\u1ed5i h\u00e0nh vi c\u1ee7a n\u00f3.<\/span><\/p>\n<p style=\"text-align: justify\"><strong><\/strong><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">L\u1eadp tr\u00ecnh \u0111\u00f4i bao g\u1ed3m hai l\u1eadp tr\u00ecnh vi\u00ean ho\u1ea1t \u0111\u1ed9ng tr\u00ean c\u00f9ng m\u1ed9t \u0111o\u1ea1n m\u00e3, tr\u00ean c\u00f9ng m\u1ed9t h\u1ec7 th\u1ed1ng (m\u1ed9t m\u00e0n h\u00ecnh v\u00e0 m\u1ed9t b\u00e0n ph\u00edm). M\u1ed9t l\u1eadp tr\u00ecnh vi\u00ean \u0111\u00f3ng vai tr\u00f2 th\u00ed \u0111i\u1ec3m v\u00e0 t\u1eadp trung v\u00e0o tri\u1ec3n khai \u0111o\u1ea1n m\u00e3. Ng\u01b0\u1eddi th\u1ee9 hai \u0111\u00f3ng vai tr\u00f2 l\u00e0 ng\u01b0\u1eddi \u0111i\u1ec1u h\u01b0\u1edbng, t\u1eadp trung v\u00e0o b\u1ee9c tranh t\u1ed5ng th\u1ec3 c\u0169ng nh\u01b0 \u0111\u00e1nh gi\u00e1, ph\u1ea3n h\u1ed3i m\u00e3 \u0111\u1ec3 c\u1ea3i ti\u1ebfn ho\u1eb7c t\u00e1i c\u1ea5u tr\u00fac. Vai tr\u00f2 n\u00e0y c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c lu\u00e2n phi\u00ean v\u1edbi nhau trong su\u1ed1t qu\u00e1 tr\u00ecnh l\u1eadp tr\u00ecnh.\u00a0<\/span><\/p>\n<p style=\"text-align: justify\"><strong><\/strong><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">B\u1eb1ng c\u00e1ch tu\u00e2n theo c\u00e1c ph\u01b0\u01a1ng ph\u00e1p l\u1eadp tr\u00ecnh \u0111\u00f4i, nh\u00f3m XP lu\u00f4n c\u00f3 quy\u1ec1n s\u1edf h\u1eefu chung v\u1ec1 m\u00e3. Th\u00e0nh c\u00f4ng hay th\u1ea5t b\u1ea1i l\u00e0 n\u1ed7 l\u1ef1c c\u1ee7a t\u1eadp th\u1ec3 v\u00e0 kh\u00f4ng c\u00f3 tr\u00f2\u00a0\u0111\u1ed5 l\u1ed7i cho ng\u01b0\u1eddi kh\u00e1c\u00a0(blamming game).\u00a0<br \/>\u00a0<br \/><strong>8. Continuous Integration &#8211; CI (T\u00edch h\u1ee3p li\u00ean t\u1ee5c)<\/strong><\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">CI l\u00e0 t\u00edch h\u1ee3p li\u00ean t\u1ee5c. Trong XP, Programmers\/Developers th\u1ef1c hi\u1ec7n l\u1eadp tr\u00ecnh theo c\u1eb7p tr\u00ean c\u00e1c phi\u00ean b\u1ea3n m\u00e3 c\u1ee5c b\u1ed9. Vi\u1ec7c t\u00edch h\u1ee3p \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n v\u00e0i gi\u1edd m\u1ed9t l\u1ea7n ho\u1eb7c h\u00e0ng ng\u00e0y \u0111\u1ec3 tr\u00e1nh m\u1ecdi nguy c\u01a1 lan truy\u1ec1n l\u1ed7i v\u00e0 c\u00e1c v\u1ea5n \u0111\u1ec1 kh\u00e1c v\u1edbi th\u1eddi gian ng\u1eebng ho\u1ea1t \u0111\u1ed9ng t\u1ed1i thi\u1ec3u. Nh\u00f3m c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng c\u00e1c c\u00f4ng c\u1ee5 t\u1ef1 \u0111\u1ed9ng CI nh\u01b0 Jenkins, Shippable, Integrity, Azure DevOps Pipelines,&#8230;<\/span><\/p>\n<p style=\"text-align: justify\"><strong><\/strong><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">M\u1ed9t nh\u00f3m \u0111a ch\u1ee9c n\u0103ng trong XP th\u01b0\u1eddng xuy\u00ean ph\u00e1t h\u00e0nh s\u1ea3n ph\u1ea9m kh\u1ea3 d\u1ee5ng t\u1ed1i thi\u1ec3u (MVP). C\u00e1c b\u1ea3n release li\u00ean t\u1ee5c c\u0169ng gi\u00fap chia nh\u1ecf c\u00e1c m\u00f4-\u0111un ph\u1ee9c t\u1ea1p th\u00e0nh m\u1ed9t \u0111o\u1ea1n m\u00e3 nh\u1ecf. \u0110i\u1ec1u n\u00e0y gi\u00fap nh\u00f3m ph\u00e1t tri\u1ec3n c\u0169ng nh\u01b0 kh\u00e1ch h\u00e0ng t\u1eadp trung v\u00e0o s\u1ed1 l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c t\u1ed1i thi\u1ec3u, c\u00f3 m\u1ee9c \u0111\u1ed9 \u01b0u ti\u00ean v\u00e0 mang l\u1ea1i gi\u00e1 tr\u1ecb cao nh\u1ea5t.<\/span><\/p>\n<p style=\"text-align: justify\"><strong><\/strong><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">K\u1ef9 thu\u1eadt n\u00e0y ch\u1ee7 y\u1ebfu li\u00ean quan \u0111\u1ebfn y\u00eau c\u1ea7u hay c\u00e2u chuy\u1ec7n c\u1ee7a ng\u01b0\u1eddi d\u00f9ng (User Story). C\u00e1c y\u00eau c\u1ea7u ph\u1ea3i \u0111\u1ee7 \u0111\u01a1n gi\u1ea3n \u0111\u1ec3 ng\u01b0\u1eddi d\u00f9ng v\u00e0 nh\u00e0 ph\u00e1t tri\u1ec3n d\u1ec5 hi\u1ec3u. Ph\u01b0\u01a1ng ph\u00e1p chuy\u1ec3n \u0111\u1ed5i \u0111\u1eb7t t\u00ean \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng trong thi\u1ebft k\u1ebf v\u00e0 m\u00e3 \u0111\u1ec3 c\u00f3 s\u1ef1 hi\u1ec3u bi\u1ebft chung gi\u1eefa c\u00e1c nh\u00f3m (nh\u00f3m kinh doanh v\u00e0 nh\u00f3m k\u1ef9 thu\u1eadt).\u00a0<\/span><\/p>\n<p style=\"text-align: justify\"><u><em><span style=\"font-size:14px\">V\u00ed d\u1ee5:\u00a0<\/span><\/em><\/u><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">N\u1ebfu b\u1ea1n \u0111ang x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng trang web th\u01b0 vi\u1ec7n, b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng ph\u00e9p \u1ea9n d\u1ee5 v\u1ec1 th\u01b0 vi\u1ec7n v\u1eadt l\u00fd nh\u01b0: S\u00e1ch, k\u1ec7, danh m\u1ee5c, cho m\u01b0\u1ee3n v\u00e0 tr\u1ea3 l\u1ea1i. Ph\u00e9p \u1ea9n d\u1ee5 n\u00e0y c\u00f3 th\u1ec3 gi\u00fap b\u1ea1n \u0111\u1eb7t t\u00ean cho c\u00e1c l\u1edbp, ph\u01b0\u01a1ng th\u1ee9c, bi\u1ebfn v\u00e0 giao di\u1ec7n (k\u1ef9 thu\u1eadt) m\u1ed9t c\u00e1ch nh\u1ea5t qu\u00e1n.<\/span><\/p>\n<p style=\"text-align: justify\"><strong><\/strong><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">\u0110\u00e2y l\u00e0 vai tr\u00f2 t\u01b0\u01a1ng t\u1ef1 nh\u01b0 Product Owner trong Scrum. Onsite Customers ch\u1ecbu tr\u00e1ch nhi\u1ec7m x\u00e2y d\u1ef1ng t\u1ea7m nh\u00ecn, x\u00e1c \u0111\u1ecbnh y\u00eau c\u1ea7u (User Story) v\u00e0 ti\u00eau ch\u00ed ch\u1ea5p nh\u1eadn, x\u00e1c \u0111\u1ecbnh k\u1ebf ho\u1ea1ch th\u1ef1c hi\u1ec7n v\u00e0 releases. Onsite Customers l\u00e0 nh\u1eefng chuy\u00ean gia hi\u1ec3u bi\u1ebft v\u1ec1 domain v\u00e0 bi\u1ebft c\u00e1ch t\u1ea1o ra l\u1ee3i t\u1ee9c \u0111\u1ea7u t\u01b0 (ROI) b\u1eb1ng c\u00e1ch cung c\u1ea5p s\u1ea3n ph\u1ea9m kh\u1ea3 d\u1ee5ng t\u1ed1i thi\u1ec3u (MVP).<br \/>\u00a0\u00a0<br \/>T\u1eeb \u201consite\u201d ng\u1ee5 \u00fd r\u1eb1ng kh\u00e1ch h\u00e0ng ho\u1eb7c ng\u01b0\u1eddi \u0111\u1ea1i di\u1ec7n c\u1ee7a h\u1ecd ng\u1ed3i c\u00f9ng v\u1edbi nh\u1eefng ng\u01b0\u1eddi c\u00f2n l\u1ea1i trong nh\u00f3m \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o qu\u00e1 tr\u00ecnh giao ti\u1ebfp di\u1ec5n ra su\u00f4n s\u1ebb.<\/span><\/p>\n<p style=\"text-align: justify\"><strong><\/strong><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">\u0110\u00e2y l\u00e0 m\u1ed9t th\u1ef1c h\u00e0nh l\u1ea5y con ng\u01b0\u1eddi l\u00e0m trung t\u00e2m. XP duy tr\u00ec t\u1ed1c \u0111\u1ed9 b\u1ec1n v\u1eefng b\u1eb1ng c\u00e1ch duy tr\u00ecnh tinh th\u1ea7n \u0111\u1ed9i nh\u00f3m, t\u1ea1o m\u00f4i tr\u01b0\u1eddng l\u00e0m vi\u1ec7c an to\u00e0n, h\u1ea1n ch\u1ebf l\u00e0m vi\u1ec7c qu\u00e1 gi\u1edd, \u2026 \u0111\u1ec3 to\u00e0n team c\u00f3 th\u1ec3 duy tr\u00ec \u0111\u1ed9ng l\u1ef1c, tinh th\u1ea7n, th\u1ec3 ch\u1ea5t m\u1ed9t c\u00e1ch t\u1ed1t nh\u1ea5t v\u00e0 ho\u00e0n th\u00e0nh c\u00e1c m\u1ee5c ti\u00eau d\u1ef1 \u00e1n.<\/span><\/p>\n<p style=\"text-align: right\"><span style=\"font-size:14px\"><strong>Masterskills Trainer &#8211; L\u00e2m Thu Nguy\u00ean<\/strong><\/span><\/p>\n<p style=\"text-align: right\">\u00a0<\/p>\n<p style=\"text-align: justify\">\u00a0<\/p>\n<p style=\"text-align: justify\"><strong><\/strong><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">PMI-ACP\u00ae GAPS<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">PMI-ACP Guide &#8211; H\u01b0\u1edbng d\u1eabn pass PMI-ACP on the first try<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">Product Roadmap l\u00e0 g\u00ec?\u00a0<\/span><\/p>\n<div>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">\u0110\u1ea5u tranh gi\u1eefa c\u00e1c sprint goal<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size:14px\">Product Backlog l\u00e0 g\u00ec?<\/span><\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p><span style=\"font-size:14px\">Trong ph\u1ea1m vi b\u00e0i vi\u1ebft d\u01b0\u1edbi \u0111\u00e2y, ch\u00fang ta s\u1ebd c\u00f9ng t\u00ecm hi\u1ec3u m\u1ed9t v\u00e0i th\u00f4ng tin tr\u1ecdng t\u00e2m c\u1ee7a Extreme Programming trong ph\u1ea1m vi b\u00e0i thi PMI-ACP\u00ae. L\u01b0u \u00fd, XP th\u00f4ng th\u01b0\u1eddng s\u1ebd d\u00e0nh cho c\u00e1c s\u1ea3n ph\u1ea9m\/\u0111\u1ed9i nh\u00f3m ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m, n\u00ean n\u1ed9i dung trong b\u00e0i vi\u1ebft d\u01b0\u1edbi \u0111\u00e2y s\u1ebd \u0111\u1ec1 c\u1eadp kh\u00e1 nhi\u1ec1u c\u00e1c thu\u1eadt ng\u1eef d\u00f9ng trong l\u0129nh v\u1ef1c ph\u1ea7n m\u1ec1m, c\u00f4ng ngh\u1ec7 th\u00f4ng tin.\u00a0<\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[250],"tags":[],"_links":{"self":[{"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/posts\/69871"}],"collection":[{"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/comments?post=69871"}],"version-history":[{"count":0,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/posts\/69871\/revisions"}],"wp:attachment":[{"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/media?parent=69871"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/categories?post=69871"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/tags?post=69871"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}