	{"id":2457,"date":"2013-07-06T12:15:50","date_gmt":"2013-07-06T05:15:50","guid":{"rendered":"http:\/\/science-technology.vn\/?p=2457"},"modified":"2013-07-06T12:15:50","modified_gmt":"2013-07-06T05:15:50","slug":"phat-trien-phan-mem-agile","status":"publish","type":"post","link":"https:\/\/science-technology.vn\/?p=2457","title":{"rendered":"Ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m Agile"},"content":{"rendered":"<p><span style=\"font-size: 14px;\">Agile l\u00e0 c\u00e1ch\u00a0ti\u1ebfp c\u1eadn ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m trong \u0111\u00f3 t\u1ed5 x\u00e2y d\u1ef1ng ph\u1ea7n m\u1ec1m trong v\u00e0i l\u1ea7n l\u1eb7p ng\u1eafn, thay v\u00ec m\u1ecdi th\u1ee9 \u0111i t\u1eeb b\u1eaft \u0111\u1ea7u t\u1edbi k\u1ebft th\u00fac. Agile cung c\u1ea5p \u00edch l\u1ee3i nh\u01b0 linh ho\u1ea1t, d\u1ec5 thay \u0111\u1ed5i, ch\u1ea5t l\u01b0\u1ee3ng t\u1ed1t, \u00edt r\u1ee7i ro v\u00e0 tho\u1ea3 m\u00e3n kh\u00e1ch h\u00e0ng t\u1ed1t h\u01a1n nh\u01b0ng c\u00f3 &#8220;ti\u1ec1n \u0111i\u1ec1u ki\u1ec7n&#8221; m\u00e0 t\u1ed5 ch\u1ee9c ph\u1ea3i c\u00f3 \u0111\u1ec3 \u0111\u1ea1t t\u1edbi nh\u1eefng \u00edch l\u1ee3i n\u00e0y.<\/span><\/p>\n<p>Agile y\u00eau c\u1ea7u s\u1ef1 tham gia c\u1ee7a kh\u00e1ch h\u00e0ng trong m\u1ecdi kh\u00eda c\u1ea1nh c\u1ee7a d\u1ef1 \u00e1n. N\u1ebfu kh\u00e1ch h\u00e0ng b\u1eadn r\u1ed9n v\u00e0 kh\u00f4ng th\u1ec3 tham gia \u0111\u01b0\u1ee3c th\u00ec Agile s\u1ebd KH\u00d4NG c\u00f3 t\u00e1c d\u1ee5ng. M\u1ed9t trong c\u00e1c ph\u01b0\u01a1ng ph\u00e1p ph\u1ed5 bi\u1ebfn nh\u1ea5t trong Agile l\u00e0 \u201cScrum\u201d. Ph\u01b0\u01a1ng ph\u00e1p n\u00e0y \u0111\u1ecbnh ngh\u0129a ba vai tr\u00f2 then ch\u1ed1t: \u201cNg\u01b0\u1eddi ch\u1ee7 s\u1ea3n ph\u1ea9m\u201d ng\u01b0\u1eddi \u0111\u1ea1i di\u1ec7n cho kh\u00e1ch h\u00e0ng v\u00e0 ch\u1ecbu tr\u00e1ch nhi\u1ec7m vi\u1ebft y\u00eau c\u1ea7u v\u00e0 \u01b0u ti\u00ean ho\u00e1 ch\u00fang trong \u201ct\u1ed3n d\u01b0 s\u1ea3n ph\u1ea9m\u201d. &#8220;Th\u1ea7y Scrum,&#8221; ng\u01b0\u1eddi h\u01b0\u1edbng d\u1eabn v\u00e0 gi\u00fap \u0111\u1ee1 t\u1ed5 d\u1ef1 \u00e1n v\u01b0\u1ee3t qua c\u00e1c ch\u01b0\u1edbng ng\u1ea1i v\u00e0 gi\u1eef cho h\u1ecd h\u1ed9i t\u1ee5 v\u00e0o nh\u1eefng \u0111i\u1ec1u h\u1ecd ph\u1ea3i l\u00e0m. T\u1ed5 d\u1ef1 \u00e1n, m\u1ed9t nh\u00f3m \u201ct\u1ef1 t\u1ed5 ch\u1ee9c\u201d l\u00e0m m\u1ecdi \u0111i\u1ec1u m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3 nh\u1ea5t \u0111\u1ec3 \u0111\u1ea1t t\u1edbi k\u1ebft qu\u1ea3. D\u00f9ng c\u00e1ch ti\u1ebfp c\u1eadn Agile l\u00e0 thay \u0111\u1ed5i ch\u00ednh trong t\u1ed5 ch\u1ee9c v\u1edbi c\u1ea5u tr\u00fac ph\u00e2n c\u1ea5p v\u00e0 m\u1ecdi ng\u01b0\u1eddi th\u01b0\u1eddng nh\u1eadn \u0111\u01b0\u1ee3c &#8220;ch\u1ec9 \u0111\u1ea1o&#8221; t\u1eeb \u00f4ng ch\u1ee7. \u0110\u00f3 l\u00e0 l\u00ed do t\u1ea1i sao t\u00f4i m\u1ea1nh m\u1ebd khuy\u1ebfn c\u00e1o r\u1eb1ng tr\u01b0\u1edbc khi v\u00e0o t\u1eebng d\u1ef1 \u00e1n, t\u1ed5 ph\u1ea3i nh\u1eadn \u0111\u01b0\u1ee3c \u0111\u00e0o t\u1ea1o Agile &#8220;ch\u00ednh th\u1ee9c&#8221; \u0111\u1ec3 ch\u1eafc r\u1eb1ng s\u1ebd KH\u00d4NG c\u00f3 hi\u1ec3u l\u1ea7m n\u00e0o hay quan ni\u1ec7m l\u1ea7m n\u00e0o v\u1ec1 c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y. Kh\u00f4ng c\u00f3 \u0111\u00e0o t\u1ea1o \u0111\u00fang, Agile c\u00f3 th\u1ec3 b\u1ecb D\u00d9NG SAI v\u00ec m\u1ed9t s\u1ed1 ng\u01b0\u1eddi l\u1eadp tr\u00ecnh coi n\u00f3 l\u00e0 \u201cL\u00e0m b\u1ea5t k\u00ec \u0111i\u1ec1u g\u00ec b\u1ea1n mu\u1ed1n,\u201d \u201cM\u00e3 tr\u01b0\u1edbc, h\u1ecfi c\u00e2u h\u1ecfi sau,\u201d \u201cKh\u00f4ng t\u00e0i li\u1ec7u, kh\u00f4ng qui tr\u00ecnh.\u201d<\/p>\n<p>Agile bao g\u1ed3m m\u1ed9t s\u1ed1 th\u1ef1c h\u00e0nh m\u00e0 h\u00ecnh th\u00e0nh n\u00ean n\u1ec1n t\u1ea3ng cho t\u1ed5 ch\u1ee9c mu\u1ed1n tu\u00e2n theo c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y.<\/p>\n<p>1)\u00a0\u00a0\u00a0\u00a0T\u1ed5 Agile ph\u1ea3i x\u00e1c \u0111\u1ecbnh cho b\u1ea3n th\u00e2n h\u1ecd c\u00e1ch h\u1ecd s\u1ebd l\u00e0m vi\u1ec7c (thi\u1ebft l\u1eadp qui tr\u00ecnh) v\u00e0 c\u00e1ch h\u1ecd s\u1ebd l\u00e0m c\u00f4ng vi\u1ec7c (ph\u00e1t tri\u1ec3n s\u1ea3n ph\u1ea9m). T\u1ed5 Agile ph\u1ea3i hi\u1ec3u gi\u00e1 tr\u1ecb c\u1ee7a d\u1ef1 \u00e1n. Gi\u00e1 tr\u1ecb c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c m\u00f4 t\u1ea3 l\u00e0 \u201cLinh ho\u1ea1t\u201d, \u201cCh\u1ea5t l\u01b0\u1ee3ng\u201d, \u201cD\u1ec5 thay \u0111\u1ed5i\u201d, \u201cT\u1ef1 h\u1ecdc, t\u1ed5 h\u1ecdc\u201d v.v. Trong c\u00e1ch ti\u1ebfp c\u1eadn Agile, t\u1ed5 \u0111i qua \u201cc\u00e1c giai \u0111o\u1ea1n ph\u00e1t tri\u1ec3n t\u1ed5\u201d khi h\u1ecd th\u1ef1c hi\u1ec7n c\u00f4ng vi\u1ec7c c\u1ee7a h\u1ecd. K\u1ebft qu\u1ea3 c\u1ee7a ph\u00e1t tri\u1ec3n t\u1ed5 l\u00e0 b\u1ea3n th\u00e2n t\u1ed5, v\u00e0 kh\u00f4ng ph\u1ea3i l\u00e0 k\u0129 n\u0103ng v\u00e0 n\u0103ng l\u1ef1c m\u00e0 c\u00e1c c\u00e1 nh\u00e2n h\u1ecdc. L\u00e0m vi\u1ec7c t\u1ed5 l\u00e0 b\u1ea3n ch\u1ea5t trong Agile, kh\u00f4ng c\u00f3 n\u00f3, Agile s\u1ebd KH\u00d4NG c\u00f3 t\u00e1c d\u1ee5ng.<\/p>\n<p>2)\u00a0\u00a0\u00a0\u00a0L\u00fac b\u1eaft \u0111\u1ea7u d\u1ef1 \u00e1n, ng\u01b0\u1eddi ch\u1ee7 s\u1ea3n ph\u1ea9m chu\u1ea9n b\u1ecb m\u1ed9t danh s\u00e1ch c\u00e1c y\u00eau c\u1ea7u c\u1ee7a kh\u00e1ch h\u00e0ng hay \u201cT\u1ed3n d\u01b0 s\u1ea3n ph\u1ea9m\u201d, danh s\u00e1ch c\u00e1c t\u00ednh n\u0103ng \u0111\u01b0\u1ee3c s\u1eafp \u01b0u ti\u00ean b\u1edfi gi\u00e1 tr\u1ecb \u0111\u01b0\u1ee3c chuy\u1ec3n giao cho kh\u00e1ch h\u00e0ng.\u00a0V\u1edbi t\u1eebng l\u1ea7n l\u1eb7p (Sprint &#8211; ch\u1eb7ng n\u01b0\u1edbc r\u00fat), m\u1ed9t s\u1ed1 trong nh\u1eefng kho\u1ea3n m\u1ee5c \u0111\u00f3 trong t\u1ed3n d\u01b0 s\u1ea3n ph\u1ea9m \u0111\u01b0\u1ee3c l\u1ef1a ra v\u00e0 \u0111\u01b0a v\u00e0o trong \u201cSprint Backlog &#8211; T\u1ed3n d\u01b0 n\u01b0\u1edbc r\u00fat\u201d, danh s\u00e1ch nh\u1eefng \u0111i\u1ec1u c\u1ea7n \u0111\u01b0\u1ee3c l\u00e0m trong t\u1eebng ch\u1eb7ng n\u01b0\u1edbc r\u00fat Sprint. Trong c\u00e1ch ti\u1ebfp c\u1eadn Agile, thay \u0111\u1ed5i l\u00e0 b\u00ecnh th\u01b0\u1eddng v\u00e0 \u0111\u01b0\u1ee3c \u0111\u01b0a v\u00e0o trong t\u1ed3n d\u01b0 s\u1ea3n ph\u1ea9m b\u1edfi ng\u01b0\u1eddi ch\u1ee7 s\u1ea3n ph\u1ea9m v\u00ec kh\u00e1ch h\u00e0ng li\u00ean t\u1ee5c cung c\u1ea5p ph\u1ea3n h\u1ed3i hay th\u00eam nhi\u1ec1u t\u00ednh n\u0103ng. T\u1ed5 ti\u1ebfp t\u1ee5c c\u00f4ng vi\u1ec7c trong v\u00e0i l\u1ea7n l\u1eb7p (Sprint) cho t\u1edbi khi h\u1ecd ho\u00e0n th\u00e0nh t\u1ed3n d\u01b0 s\u1ea3n ph\u1ea9m.<\/p>\n<p>3)\u00a0\u00a0\u00a0\u00a0Agile d\u00f9ng c\u00e1c th\u1eddi k\u00ec th\u1eddi gian ng\u1eafn hay \u201cSprint\u201d (ph\u01b0\u01a1ng ph\u00e1p Scrum) \u0111i\u1ec3n h\u00ecnh qu\u00e3ng 2 t\u1edbi 4 tu\u1ea7n, \u0111\u1ec3 chuy\u1ec3n giao c\u00e1i g\u00ec \u0111\u00f3 cho kh\u00e1ch h\u00e0ng. T\u1eebng \u201cSprint\u201d \u0111\u01b0\u1ee3c t\u1ed5\u00a0 ch\u1ee9c \u0111\u1ec3 cho t\u1ed5 th\u1ef1c t\u1ebf ho\u00e0n th\u00e0nh m\u1ed9t m\u1ea3nh c\u1ee7a s\u1ea3n ph\u1ea9m to\u00e0n b\u1ed9. Ngay khi m\u1ea3nh n\u00e0y c\u1ee7a s\u1ea3n ph\u1ea9m c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c chuy\u1ec3n giao, nhi\u1ec1u gi\u00e1 tr\u1ecb h\u01a1n c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c thu l\u1ea5y. T\u00ednh linh ho\u1ea1t n\u00e0y gi\u00fap kh\u00e1ch h\u00e0ng c\u00f3 c\u00e1i g\u00ec \u0111\u00f3 nhanh ch\u00f3ng \u0111\u1ec3 d\u00f9ng, t\u1ed5 c\u0169ng nh\u1eadn ph\u1ea3n h\u1ed3i ngay l\u1eadp t\u1ee9c, v\u00e0 gi\u1ea3m r\u1ee7i ro d\u1ef1 \u00e1n.<\/p>\n<p>4)\u00a0\u00a0\u00a0\u00a0M\u1ecdi \u201cSprint\u201d \u0111\u1ec1u \u0111\u01b0\u1ee3c cai qu\u1ea3n b\u1edfi \u201cph\u1ea1m vi \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh\u201d trong t\u1ed3n d\u01b0 n\u01b0\u1edbc r\u00fat Sprint. T\u1ed5 \u01b0\u1edbc l\u01b0\u1ee3ng n\u1ed7 l\u1ef1c v\u00e0 chi ph\u00ed c\u1ee7a t\u1eebng Sprint v\u00e0 \u0111i\u1ec1u ph\u1ed1i v\u1edbi ng\u01b0\u1eddi ch\u1ee7 s\u1ea3n ph\u1ea9m. C\u00e1ch ti\u1ebfp c\u1eadn Agile d\u00f9ng &#8220;chu k\u00ec h\u1ecdc&#8221; t\u01b0\u1eddng minh (t\u1ee9c l\u00e0, l\u1eadp k\u1ebf ho\u1ea1ch, l\u00e0m, ki\u1ec3m tra, h\u00e0nh \u0111\u1ed9ng) hay (L\u1eadp k\u1ebf ho\u1ea1ch, h\u00e0nh \u0111\u1ed9ng, suy ngh\u0129, h\u1ecdc) \u0111\u1ec3 cho t\u1ed5 th\u01b0\u1eddng xuy\u00ean h\u1ecdc, c\u1ea3i ti\u1ebfn v\u00e0 s\u1eb5n s\u00e0ng \u0111i\u1ec1u ch\u1ec9nh kh\u1edbp theo thay \u0111\u1ed5i. Sau t\u1eebng l\u1ea7n l\u1eb7p (Sprint), t\u1ed5 s\u1ebd ki\u1ec3m \u0111i\u1ec3m c\u00f4ng vi\u1ec7c ri\u00eang c\u1ee7a h\u1ecd hay \u201cn\u1ed9i quan-quan s\u00e1t b\u00ean trong\u201d \u0111\u1ec3 nh\u1eadn di\u1ec7n c\u00f4ng vi\u1ec7c n\u00e0o, c\u00e1i g\u00ec kh\u00f4ng c\u00f3 t\u00e1c d\u1ee5ng \u0111\u1ec3 c\u1ea3i ti\u1ebfn qui tr\u00ecnh ri\u00eang c\u1ee7a h\u1ecd \u0111\u1ec3 cho h\u1ecd c\u00f3 th\u1ec3 l\u00e0m n\u00f3 t\u1ed1t h\u01a1n l\u1ea7n sau. \u0110\u00f3 l\u00e0 l\u00ed do t\u1ea1i sao d\u1ef1 \u00e1n Agile th\u01b0\u1eddng c\u00f3 ch\u1ea5t l\u01b0\u1ee3ng cao.<\/p>\n<p>5)\u00a0\u00a0\u00a0\u00a0T\u1ed5 Agile ph\u1ea3i c\u00f3 ph\u01b0\u01a1ng ti\u1ec7n trao \u0111\u1ed5i hi\u1ec7u qu\u1ea3 gi\u1eefa c\u00e1c th\u00e0nh vi\u00ean t\u1ed5 v\u00e0 kh\u00e1ch h\u00e0ng. \u0110\u1ec3 \u0111\u1ea1t t\u1edbi \u0111i\u1ec1u \u0111\u00f3, t\u1ed5 c\u1ea7n trao \u0111\u1ed5i gi\u1eefa con ng\u01b0\u1eddi thay v\u00ec b\u1ea5t k\u00ec c\u00e1ch n\u00e0o kh\u00e1c nh\u01b0 email, th\u01b0, v\u0103n b\u1ea3n hay t\u00e0i li\u1ec7u. M\u1eb7c d\u1ea7u m\u1ed9t s\u1ed1 ng\u01b0\u1eddi n\u00f3i r\u1eb1ng Agile c\u0169ng c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n trong ph\u00e1t tri\u1ec3n to\u00e0n c\u1ea7u, c\u00f3 c\u00e1c th\u00e0nh vi\u00ean t\u1ed5 \u1edf nhi\u1ec1u ch\u1ed7 hay \u1edf nhi\u1ec1u n\u01b0\u1edbc. Theo kinh nghi\u1ec7m c\u1ee7a t\u00f4i, t\u00f4i th\u1ea5y \u0111i\u1ec1u \u0111\u00f3 kh\u00e1 kh\u00f3. Kh\u00f4ng c\u00f3 trao \u0111\u1ed5i\u00a0 t\u1ed1t, t\u1ed5 c\u00f3 th\u1ec3 ph\u00ed th\u1eddi gian v\u1ec1 th\u00f4ng tin, c\u00e1c th\u00e0nh vi\u00ean c\u00f3 th\u1ec3 hi\u1ec3u l\u1ea7m nhau, d\u1ef1 \u00e1n c\u00f3 th\u1ec3 c\u00f3 nhi\u1ec1u l\u1ed7i hay ph\u1ea3i l\u00e0m l\u1ea1i. Kh\u00f4ng c\u00f3 trao \u0111\u1ed5i m\u1eb7t \u0111\u1ed1i m\u1eb7t \u0111i\u1ec1u \u0111\u00f3 c\u00f3 th\u1ec3 l\u00e0m ch\u1eadm ph\u00e1t tri\u1ec3n d\u1ef1 \u00e1n, kh\u00f3 x\u00e2y d\u1ef1ng tin c\u1eady gi\u1eefa c\u00e1c th\u00e0nh vi\u00ean t\u1ed5, kh\u00f3 x\u00e2y d\u1ef1ng t\u1ed5, v\u00e0 c\u00f3 th\u1ec3 KH\u00d4NG c\u00f3 kh\u1ea3 n\u0103ng gi\u00f3ng th\u1eb3ng c\u1ea3m nh\u1eadn v\u1ec1 th\u1ef1c t\u1ea1i. Khuy\u1ebfn c\u00e1o c\u00e1 nh\u00e2n c\u1ee7a t\u00f4i l\u00e0 \u0111\u1ed1i v\u1edbi c\u00e1ch ti\u1ebfp c\u1eadn Agile, c\u00e1ch t\u1ed1t nh\u1ea5t l\u00e0 \u0111\u1ec3 m\u1ecdi th\u00e0nh vi\u00ean t\u1ed5 \u1edf c\u00f9ng m\u1ed9t ch\u1ed7 n\u01a1i h\u1ecd c\u00f3 th\u1ec3 l\u00e0m vi\u1ec7c c\u00f9ng nhau, h\u1ed7 tr\u1ee3 l\u1eabn nhau, v\u00e0 chia s\u1ebb th\u00f4ng tin m\u1ed9t c\u00e1ch t\u1ef1 do.<\/p>\n<p>6)\u00a0\u00a0\u00a0\u00a0B\u1eb1ng ki\u1ec3m th\u1eed m\u1ecdi th\u1ee9, b\u1eb1ng vi\u1ec7c t\u1ea1o ra c\u00e1c tr\u01b0\u1eddng h\u1ee3p ki\u1ec3m th\u1eed \u0111\u1ec3 ki\u1ec3m tra m\u1ecdi c\u00f4ng vi\u1ec7c, t\u1ed5 c\u00f3 th\u1ec3 \u0111\u1ea1t t\u1edbi m\u1ee9c ch\u1ea5t l\u01b0\u1ee3ng c\u1ef1c k\u00ec cao. Kh\u1ea3 n\u0103ng n\u00e0y \u0111\u1ec3 ng\u0103n c\u1ea3n khi\u1ebfm khuy\u1ebft l\u00e0 r\u1ea5t quan tr\u1ecdng trong Agile b\u1edfi v\u00ec \u201cch\u1ea5t l\u01b0\u1ee3ng l\u00e0 KH\u00d4NG th\u01b0\u01a1ng l\u01b0\u1ee3ng \u0111\u01b0\u1ee3c\u201d. Trong c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y, lo\u1ea1i b\u1ecf khi\u1ebfm khuy\u1ebft l\u00e0 ki\u1ec3u l\u00e0m vi\u1ec7c duy nh\u1ea5t \u0111\u01b0\u1ee3c coi l\u00e0 \u01b0u ti\u00ean so v\u1edbi b\u1ea5t k\u00ec t\u00ednh n\u0103ng \/ch\u1ee9c n\u0103ng\/s\u1ea3n xu\u1ea5t m\u1edbi. N\u1ebfu k\u1ebft qu\u1ea3 cu\u1ed1i c\u00f9ng \u0111\u01b0\u1ee3c mong mu\u1ed1n l\u00e0 l\u00e0m c\u1ef1c \u0111\u1ea1i ch\u1ea5t l\u01b0\u1ee3ng, th\u00ec lo\u1ea1i b\u1ecf khi\u1ebfm khuy\u1ebft l\u00e0 \u0111i\u1ec1u quan tr\u1ecdng nh\u1ea5t. T\u1ed5 c\u00f3 ngh\u0129a v\u1ee5 \u0111\u1ea1o \u0111\u1ee9c \u0111\u1ec3 ki\u1ec3m tra m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3 c\u00f4ng vi\u1ec7c c\u1ee7a h\u1ecd b\u1eb1ng b\u1ea5t k\u00ec ph\u01b0\u01a1ng ti\u1ec7n n\u00e0o h\u1ecd c\u00f3 th\u1ec3 l\u00e0m b\u1eb1ng vi\u1ec7c d\u00f9ng c\u00f4ng c\u1ee5, c\u01a1 ch\u1ebf ph\u1ea3n h\u1ed3i \u0111a d\u1ea1ng, t\u1ef1 \u0111\u1ed9ng ho\u00e1 \u0111\u1ec3 ch\u1eafc h\u1ecd c\u00f3 s\u1ea3n ph\u1ea9m ch\u1ea5t l\u01b0\u1ee3ng cao nh\u1ea5t c\u00f3 th\u1ec3\u00a0 \u0111\u01b0\u1ee3c.<\/p>\n<p>7)\u00a0\u00a0\u00a0\u00a0M\u1ecdi th\u00e0nh vi\u00ean t\u1ed5 Agile \u0111\u1ec1u ph\u1ea3i nh\u1eadn tr\u00e1ch nhi\u1ec7m &#8220;ph\u00e1t quang con \u0111\u01b0\u1eddng\u201d hay lo\u1ea1i b\u1ecf ch\u01b0\u1edbng ng\u1ea1i ng\u0103n c\u1ea3n c\u00f4ng vi\u1ec7c \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3. \u201cPh\u00e1t quang con \u0111\u01b0\u1eddng\u201d KH\u00d4NG ch\u1ec9 c\u00f3 ngh\u0129a l\u00e0 m\u01b0u k\u1ebf c\u00e1ch th\u1ee9c, s\u1eeda nhanh v\u1ea5n \u0111\u1ec1, m\u00e0 thay v\u00ec th\u1ebf l\u00e0 \u0111\u1ec3 th\u1eddi gian nh\u00ecn v\u00e0o ch\u01b0\u1edbng ng\u1ea1i v\u00e0 l\u00e0m t\u1ed1t nh\u1ea5t c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c \u0111\u1ec3 lo\u1ea1i b\u1ecf n\u00f3 v\u0129nh vi\u1ec5n \u0111\u1ec3 cho n\u00f3 kh\u00f4ng bao gi\u1edd ch\u1eafn \u0111\u01b0\u1eddng l\u1ea7n n\u1eefa. Trong c\u00e1ch ti\u1ebfp c\u1eadn Agile, ng\u01b0\u1eddi d\u1eabn qui tr\u00ecnh (th\u1ea7y Scrum) l\u00e0 ng\u01b0\u1eddi ch\u1ecbu tr\u00e1ch nhi\u1ec7m theo d\u00f5i ch\u01b0\u1edbng ng\u1ea1i v\u00e0 \u0111\u1ea3m b\u1ea3o r\u1eb1ng con \u0111\u01b0\u1eddng \u0111\u01b0\u1ee3c ph\u00e1t quang. Ph\u00e1t quan con \u0111\u01b0\u1eddng \u0111\u00f4i khi l\u00e0 c\u00f4ng vi\u1ec7c \u0111au \u0111\u1edbn l\u00e0m ph\u01a1i b\u00e0y nh\u1eefng \u0111i\u1ec1u m\u1ecdi ng\u01b0\u1eddi th\u00e0 kh\u00f4ng gi\u1ea3i quy\u1ebft. K\u1ebft qu\u1ea3 l\u00e0, \u0111i\u1ec1u m\u1ea5u ch\u1ed1t l\u00e0 m\u1ecdi ng\u01b0\u1eddi x\u00e2y d\u1ef1ng n\u0103ng l\u1ef1c c\u1ee7a h\u1ecd \u0111\u1ec3 ch\u00e2n th\u1ef1c v\u00e0 l\u00e0m vi\u1ec7c \u0111\u1ec3 ph\u00e1t tri\u1ec3n tin c\u1eady l\u1eabn nhau.<\/p>\n<p>&nbsp;<\/p>\n<p>&#8212;-English version&#8212;-<\/p>\n<p>&nbsp;<\/p>\n<p>Agile software development<\/p>\n<p>Agile is the software development approach in which the teams build software in several short iterations, instead of everything from start to finish. Agile offers benefits like flexibility, easy to change, good quality, less risks and better customer satisfaction but there are \u201cpre-conditions\u201d the organization must have in order to achieve these benefits.<\/p>\n<p>Agile requires customer involvement in every aspect of the project. If the customer is busy and cannot participate then Agile will NOT work. One of the most popular method in Agile is \u201cScrum\u201d. This method defines three key roles: The \u201cProduct owner\u201d who represents the customers and responsible for writing requirements and prioritizes them in the \u201cproduct backlog\u201d. &#8220;Scrum-Master,&#8221; who guides and help the project team to overcome obstacles and keep them focusing on things they must do. The project team, a \u201cself-organizing\u201d group that do thing in the most efficient way to achieve the result. Using Agile approach is a major change in organizations with the hierarchical structure and people who used to receive \u201cdirection\u201d from the boss. That is why I strongly recommend that before each project, the team must receive \u201cformal\u201d Agile training to make sure that there will NOT be any misunderstanding or misconception about the approach. Without proper training, Agile can be MISUSED as some programmers consider it as \u201cDo whatever you want\u201d, \u201cCode first, ask question later\u201d, \u201cNo documentation, no process\u201d.<\/p>\n<p>Agile consists of some practices that form the foundation for organization that wishes to follow this approach.<\/p>\n<p>1)\u00a0\u00a0\u00a0\u00a0The Agile team must determine for themselves how they are going to work (establish the process) and how they are going to do the work (develop the product). Agile team must understand the value of the project. Value can be described as \u201cFlexibility\u201d, \u201cQuality\u201d, \u201cEasy to change\u201d, \u201cSelf learning, Team learning\u201d etc. In Agile approach, the team goes through \u201cstages of team development\u201d as they perform their work. The result of team development is the team itself, and not the skills and abilities that the individuals learn. Teamwork is essential in Agile, without it, Agile will NOT work.<\/p>\n<p>2)\u00a0\u00a0\u00a0\u00a0At the beginning of the project, the product owner prepares a list of customer requirements or \u201cProduct Backlog\u201d, a list of features prioritized by value delivered to the customer.\u00a0For each iteration (Sprint), some of these items in the product backlog is selected and put on the \u201cSprint Backlog\u201d, a list of things to be done for each Sprint. In Agile approach, changes are normal and put in the Product backlog by the Product owner as customers continue to provide feedbacks or add more features. The team continue the work in several iterations (Sprint) until they complete the product backlog.<\/p>\n<p>3)\u00a0\u00a0\u00a0\u00a0Agile uses short fixed periods of time or \u201cSprint\u201d (Scrum method) typically about 2 to 4 weeks, to deliver something to customer. Each \u201cSprint\u201d is organized so that the team actually finishes a piece of the total product. The sooner the piece of the product can be delivered, the more value it can be obtained. This flexibility help customers to have something quickly to use, the team also gets feedback immediately, and reduce project risks.<\/p>\n<p>4)\u00a0\u00a0\u00a0\u00a0Every \u201cSprint\u201d is governed by a \u201cdefined scope\u201d in the Sprint backlog. The team estimates the efforts and costs of each Sprint and coordinate with the Product owner. Agile approach uses an explicit \u201clearning cycle\u201d (i.e., plan, do, check, act) or (Plan, action, reflection, learning) so the team is constantly learning, improving and readying to accommodate changes. After each iteration (Sprint), the team would review their own work or \u201cretrospective\u201d to identify what works, what does not work to improve their own process so they can do it better next time. That is why Agile project usually has high quality.<\/p>\n<p>5)\u00a0\u00a0\u00a0\u00a0Agile team must have effective means of communicating among team members and to customers. To achieve it, a team needs in-person communication rather than any other way such as email, letter, text or document. Although some people claimed that Agile can also be done in global development, having team members located in several places or in several countries. In my experience, I found it rather difficult. Without a good communication, the team may waste time waiting for information, members may misunderstandings each other, project may have more defects or re-work. Without a face to face communication it may slow the project development, difficult to build trust among team members, difficult to build team, and may NOT be able to align perceptions of reality. My personal recommendation is for Agile approach, it is best to put all team members in a same place where they can work together, support each other, and share information freely.<\/p>\n<p>6)\u00a0\u00a0\u00a0\u00a0By testing everything, by creating test cases to check all the works, a team can achieve extremely high quality levels. This ability to prevent defects is very important in Agile because \u201cquality is NOT \u00a0negotiable\u201d. In this approach, removing a defect is the only type of work that takes priority over any new features\/functionality\/production. If the end result desired is to maximize quality, then removing defects is the most important thing. A team has an ethical duty to effectively test their work by whatever means they can do using tools, various feedback mechanisms, automation to make sure they have the highest quality product possible.<\/p>\n<p>7)\u00a0\u00a0\u00a0\u00a0Every Agile team member must take responsibility for \u201cclearing the path\u201d or removing the obstacles that prevent work from being done effectively. \u201cClearing the Path\u201d does NOT just mean expedient, quick fixes to problems, but rather taking the time to look at an obstacle and do the best possible to remove it permanently so that it never blocks the path again. In Agile approach, the Process Facilitator (Scrum Master) is the person who is responsible for tracking obstacles and ensuring that the path is cleared. Clearing the Path is sometimes painful work that exposes things people would rather not deal with. As a result, it is critical that people build their capacity for truthfulness and work to develop trust amongst each other.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Agile l\u00e0 c\u00e1ch\u00a0ti\u1ebfp c\u1eadn ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m trong \u0111\u00f3 t\u1ed5 x\u00e2y d\u1ef1ng ph\u1ea7n m\u1ec1m trong v\u00e0i l\u1ea7n l\u1eb7p ng\u1eafn, thay v\u00ec m\u1ecdi th\u1ee9 \u0111i &hellip; <\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[],"class_list":["post-2457","post","type-post","status-publish","format-standard","hentry","category-quan-li-du-an"],"_links":{"self":[{"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/2457","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2457"}],"version-history":[{"count":1,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/2457\/revisions"}],"predecessor-version":[{"id":2458,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/2457\/revisions\/2458"}],"wp:attachment":[{"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2457"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2457"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}