	{"id":2614,"date":"2013-07-06T16:33:08","date_gmt":"2013-07-06T09:33:08","guid":{"rendered":"http:\/\/science-technology.vn\/?p=2614"},"modified":"2013-07-06T16:33:08","modified_gmt":"2013-07-06T09:33:08","slug":"mot-so-su-kien-ve-cach-tiep-can-agile","status":"publish","type":"post","link":"https:\/\/science-technology.vn\/?p=2614","title":{"rendered":"M\u1ed9t s\u1ed1 s\u1ef1 ki\u1ec7n v\u1ec1 c\u00e1ch ti\u1ebfp c\u1eadn Agile"},"content":{"rendered":"<p><span style=\"font-size: 14px;\">M\u1ed9t sinh vi\u00ean h\u1ecfi t\u00f4i: \u201cN\u1ebfu Agile l\u00e0 c\u00e1ch ti\u1ebfp c\u1eadn t\u1ed1t \u0111\u1ec3 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m th\u00ec t\u1ea1i sao ch\u00fang ta ph\u1ea3i h\u1ecdc c\u00e1ch ti\u1ebfp c\u1eadn kh\u00e1c?\u201d<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>C\u00e2u tr\u1ea3 l\u1eddi c\u1ee7a t\u00f4i: Agile l\u00e0 c\u00e1ch ti\u1ebfp c\u1eadn t\u1ed1t t\u1edbi ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m, \u0111\u1eb7c bi\u1ec7t khi d\u1ef1 \u00e1n l\u00e0 nh\u1ecf v\u00e0 y\u00eau c\u1ea7u KH\u00d4NG \u0111\u01b0\u1ee3c hi\u1ec3u r\u00f5. Tuy nhi\u00ean, Agile KH\u00d4NG l\u00e0 gi\u1ea3i ph\u00e1p cho m\u1ecdi th\u1ee9. C\u00f3 nh\u1eefng ph\u01b0\u01a1ng ph\u00e1p kh\u00e1c nhau cho c\u00e1c ki\u1ec3u d\u1ef1 \u00e1n kh\u00e1c nhau. Nh\u00e2n ti\u1ec7n, Agile ch\u1ec9 c\u00f3 t\u00e1c d\u1ee5ng n\u1ebfu nh\u1eefng \u0111i\u1ec1u ki\u1ec7n nh\u1ea5t \u0111\u1ecbnh t\u1ed3n t\u1ea1i.<\/p>\n<p>Th\u1ee9 nh\u1ea5t, Agile y\u00eau c\u1ea7u m\u1ecdi th\u00e0nh vi\u00ean t\u1ed5 nh\u1eadn \u0111\u01b0\u1ee3c \u0111\u00e0o t\u1ea1o v\u1ec1 c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y (Scrum, l\u1eadp tr\u00ecnh c\u1ef1c \u0111oan, Crystal v.v.). Kh\u00f4ng c\u00f3 \u0111\u00e0o t\u1ea1o \u0111\u00fang, Agile s\u1ebd KH\u00d4NG c\u00f3 t\u00e1c d\u1ee5ng. T\u00f4i \u0111\u00e3 th\u1ea5y nhi\u1ec1u sinh vi\u00ean hi\u1ec3u l\u1ea7m Agile nh\u01b0 c\u00e1ch th\u1ee9c kh\u00f4ng k\u1ec9 lu\u1eadt \u0111\u1ec3 l\u00e0m b\u1ea5t k\u00ec c\u00e1i g\u00ec h\u1ecd mu\u1ed1n nh\u01b0 \u201cvi\u1ebft m\u00e3 tr\u01b0\u1edbc, h\u1ecfi c\u00e2u h\u1ecfi sau\u201d. \u0110i\u1ec1u n\u00e0y l\u00e0 KH\u00d4NG ch\u1ea5p nh\u1eadn \u0111\u01b0\u1ee3c b\u1edfi v\u00ec Agile l\u00e0 v\u1ec1 vi\u1ec7c l\u00e0m cho c\u00f4ng vi\u1ec7c \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n t\u01b0\u01a1ng \u1ee9ng, \u0111i\u1ec1u c\u00f3 ngh\u0129a l\u00e0 c\u00e1c th\u00e0nh vi\u00ean t\u1ed5 ph\u1ea3i tu\u00e2n theo nh\u1eefng qui t\u1eafc v\u00e0 qui tr\u00ecnh n\u00e0o \u0111\u00f3. Ch\u1eb3ng h\u1ea1n, v\u1edbi S<strong>crum<\/strong>, d\u1ef1 \u00e1n \u0111\u01b0\u1ee3c chia th\u00e0nh c\u00e1c chu k\u00ec nh\u1ecf \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 \u201cSprint &#8211; n\u01b0\u1edbc r\u00fat\u201d (qu\u00e3ng 2 t\u1edbi 4 tu\u1ea7n) n\u01a1i t\u1ed5 h\u1ed9i t\u1ee5 v\u00e0o nh\u1eefng ch\u1ee9c n\u0103ng n\u00e0o \u0111\u00f3 m\u00e0 h\u1ecd ph\u1ea3i ph\u00e1t tri\u1ec3n v\u00e0 ki\u1ec3m th\u1eed b\u00ean trong th\u1eddi gian x\u00e1c \u0111\u1ecbnh \u0111\u00f3.\u00a0Qui tr\u00ecnh l\u1eb7p, t\u0103ng d\u1ea7n \u0111\u01b0\u1ee3c l\u00e0m t\u00e0i li\u1ec7u t\u1ed1t v\u00e0 ph\u1ea3i \u0111\u01b0\u1ee3c tu\u00e2n theo.\u00a0C\u00f3 v\u00e0i b\u00e0i b\u00e1o n\u00f3i r\u1eb1ng v\u1edbi Agile b\u1ea1n KH\u00d4NG c\u1ea7n tu\u00e2n theo qui tr\u00ecnh. \u0110i\u1ec1u \u0111\u00f3 l\u00e0 SAI. S\u1ef1 ki\u1ec7n l\u00e0 b\u1ea1n bao gi\u1edd c\u0169ng tu\u00e2n theo &#8220;qui tr\u00ecnh \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh&#8221; d\u00f9 b\u1ea1n d\u00f9ng Scrum, Crystal hay l\u1eadp tr\u00ecnh c\u1ef1c \u0111oan. C\u00f3 kh\u00e1c bi\u1ec7t gi\u1eefa Agile v\u00e0 v\u00f2ng \u0111\u1eddi th\u00e1c \u0111\u1ed5 truy\u1ec1n th\u1ed1ng, n\u01a1i ph\u01b0\u01a1ng ph\u00e1p truy\u1ec1n th\u1ed1ng y\u00eau c\u1ea7u nhi\u1ec1u t\u00e0i li\u1ec7u nh\u01b0ng v\u1edbi Agile, nh\u1eefng t\u00e0i li\u1ec7u n\u00e0y \u0111ang b\u1ecb r\u00fat g\u1ecdn t\u1edbi t\u1ed1i thi\u1ec3u. Tuy nhi\u00ean, \u0111i\u1ec1u \u0111\u00f3 KH\u00d4NG c\u00f3 ngh\u0129a l\u00e0 Agile KH\u00d4NG c\u00f3 t\u00e0i li\u1ec7u. B\u1edfi v\u00ec d\u1ef1 \u00e1n Agile l\u00e0 nh\u1ecf ch\u1ea1y t\u1eeb 3 t\u1edbi 8 ng\u01b0\u1eddi, nh\u1eefng ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n c\u00f3 th\u1ec3 trao \u0111\u1ed5i v\u1edbi nhau th\u01b0\u1eddng xuy\u00ean cho n\u00ean h\u1ecd KH\u00d4NG c\u1ea7n nhi\u1ec1u c\u00f4ng vi\u1ec7c gi\u1ea5y t\u1edd. \u0110i\u1ec1u n\u00e0y KH\u00d4NG ph\u1ea3i l\u00e0 tr\u01b0\u1eddng h\u1ee3p cho d\u1ef1 \u00e1n ki\u1ec3u th\u00e1c \u0111\u1ed5 c\u00f3 t\u00e1m t\u1edbi ba tr\u0103m ng\u01b0\u1eddi n\u01a1i c\u00e1c th\u00e0nh vi\u00ean t\u1ed5 c\u1ea7n nh\u1eefng t\u00e0i li\u1ec7u n\u00e0o \u0111\u00f3 \u0111\u1ec3 chia s\u1ebb th\u00f4ng tin.<\/p>\n<p>Th\u1ee9 hai, Agile y\u00eau c\u1ea7u s\u1ef1 tham gia c\u1ee7a kh\u00e1ch h\u00e0ng hay \u0111\u1ea1i di\u1ec7n c\u1ee7a kh\u00e1ch h\u00e0ng. Kh\u00f4ng c\u00f3 s\u1ef1 tham gia n\u00e0y, Agile s\u1ebd KH\u00d4NG c\u00f3 t\u00e1c d\u1ee5ng. Vi\u1ec7c chuy\u1ec3n giao t\u0103ng d\u1ea7n ch\u1ee9c n\u0103ng l\u00e0m vi\u1ec7c y\u00eau c\u1ea7u r\u1eb1ng kh\u00e1ch h\u00e0ng v\u00e0 ng\u01b0\u1eddi d\u00f9ng ph\u1ea3i tham gia t\u00edch c\u1ef1c trong to\u00e0n d\u1ef1 \u00e1n. H\u1ecd ph\u1ea3i gi\u1ea3i th\u00edch m\u1ecdi thay \u0111\u1ed5i h\u1ecd mu\u1ed1n c\u00f3 theo c\u00e1ch th\u1ee9c r\u00f5 r\u00e0ng v\u00e0 ch\u00ednh x\u00e1c. H\u1ecd ph\u1ea3i \u0111\u1eb7t \u01b0u ti\u00ean v\u00e0 \u0111\u1ed3ng \u00fd cho t\u1eebng vi\u1ec7c \u0111\u01b0a ra s\u1ea3n ph\u1ea9m. H\u1ecd ph\u1ea3i tham gia v\u00e0o m\u1ecdi cu\u1ed9c ki\u1ec3m \u0111i\u1ec3m then ch\u1ed1t v\u00e0 ra quy\u1ebft \u0111\u1ecbnh t\u01b0\u01a1ng \u1ee9ng. V\u1ec1 c\u0103n b\u1ea3n, h\u1ecd ph\u1ea3i l\u00e0 m\u1ed9t ph\u1ea7n c\u1ee7a t\u1ed5.<\/p>\n<p>Th\u1ee9 ba, Agile y\u00eau c\u1ea7u m\u1ee9c \u0111\u1ed9 k\u0129 n\u0103ng k\u0129 thu\u1eadt n\u00e0o \u0111\u00f3. Kh\u00f4ng c\u00f3 t\u1ed5 c\u00f3 k\u0129 n\u0103ng cao, Agile s\u1ebd KH\u00d4NG c\u00f3 t\u00e1c d\u1ee5ng. N\u00f3 c\u1ea7n nh\u1eefng ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n c\u00f3 kinh nghi\u1ec7m v\u00e0 c\u00f3 k\u1ec9 lu\u1eadt \u0111\u1ec3 h\u01b0\u1edbng d\u1eabn ti\u1ebfn ho\u00e1 k\u0129 thu\u1eadt c\u1ee7a h\u1ec7 th\u1ed1ng t\u1eeb kh\u00e1i ni\u1ec7m t\u1edbi th\u1ef1c hi\u1ec7n \u0111\u1ea7y \u0111\u1ee7. N\u00f3 y\u00eau c\u1ea7u ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n c\u00f3 k\u0129 thu\u1eadt, ng\u01b0\u1eddi c\u00f3 th\u1ec3 c\u00e2n b\u1eb1ng nhu c\u1ea7u t\u1ea1o ra ch\u1ee9c n\u0103ng ph\u1ea7n m\u1ec1m trong th\u1eddi gian ng\u1eafn t\u01b0\u01a1ng \u1ee9ng v\u1edbi ki\u1ebfn tr\u00fac \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh t\u1ed1t. N\u00f3 c\u1ea7n nh\u1eefng ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n c\u00f3 th\u1ec3 cung c\u1ea5p h\u01b0\u1edbng d\u1eabn d\u1ea7n thi\u1ebft \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o h\u1ec7 th\u1ed1ng c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c m\u1edf r\u1ed9ng qua th\u1eddi gian v\u1edbi ch\u1ee9c n\u0103ng ph\u1ee5 v\u00e0 \u0111\u1ea1t t\u1edbi m\u1ee9c \u0111\u1ed9 mong mu\u1ed1n v\u1ec1 hi\u1ec7u n\u0103ng v\u00e0 t\u00ednh \u0111\u1ed5i qui m\u00f4 \u0111\u01b0\u1ee3c.<\/p>\n<p>Th\u1ee9 t\u01b0, Agile y\u00eau c\u1ea7u l\u00e0m vi\u1ec7c t\u1ed5 gi\u1eefa nh\u1eefng ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n. Kh\u00f4ng c\u00f3 nh\u1eefng k\u0129 n\u0103ng m\u1ec1m n\u00e0y, Agile s\u1ebd KH\u00d4NG c\u00f3 t\u00e1c d\u1ee5ng. V\u1ec1 c\u0103n b\u1ea3n, l\u00e0m vi\u1ec7c t\u1ed5 l\u00e0 tr\u00e1i tim c\u1ee7a Agile b\u1edfi v\u00ec th\u1eddi gian ng\u1eafn v\u00e0 y\u00eau c\u1ea7u KH\u00d4NG \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh r\u00f5. N\u00f3 KH\u00d4NG cho ph\u00e9p c\u00e1c th\u00e0nh vi\u00ean t\u1ed5 tranh c\u00e3i v\u1edbi nhau. V\u1edbi c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y, kh\u00f4ng c\u00f3 nh\u1eefng \u0111i\u1ec1u nh\u01b0 &#8220;c\u00f4ng vi\u1ec7c c\u1ee7a t\u00f4i&#8221; hay \u201cc\u00f4ng vi\u1ec7c c\u1ee7a b\u1ea1n\u201d m\u00e0 ch\u1ec9 c\u00f3 \u201cc\u00f4ng vi\u1ec7c c\u1ee7a ch\u00fang ta\u201d. C\u00e1c c\u00e1 nh\u00e2n s\u1ebd ph\u1ea3i gi\u1eef nhi\u1ec1u vai v\u00e0 gi\u1ea3 \u0111\u1ecbnh gi\u1eef v\u00e0i tr\u00e1ch nhi\u1ec7m v\u00e0 s\u1eb5n s\u00e0ng gi\u00fap \u0111\u1ee1 ng\u01b0\u1eddi kh\u00e1c khi c\u1ea7n. H\u1ecd ph\u1ea3i chia s\u1ebb tri th\u1ee9c k\u0129 thu\u1eadt \u0111\u1ec3 cho m\u1ecdi th\u00e0nh vi\u00ean t\u1ed5 s\u1ebd c\u00f3 kh\u1ea3 n\u0103ng tham gia v\u00e0o c\u00f4ng vi\u1ec7c chung. \u0110\u1ec3 l\u00e0m \u0111i\u1ec1u \u0111\u00f3, n\u00f3 y\u00eau c\u1ea7u ng\u01b0\u1eddi l\u00e3nh \u0111\u1ea1o k\u0129 thu\u1eadt hay Scrum Master \u0111\u1ec3 gi\u00e1m s\u00e1t c\u00e1c ho\u1ea1t \u0111\u1ed9ng v\u00e0 \u0111\u1ed9ng vi\u00ean t\u1ed5. Ph\u1ea3i c\u00f3 t\u01b0\u01a1ng t\u00e1c c\u1ed9ng t\u00e1c cao \u0111\u1ed9 gi\u1eefa c\u00e1c th\u00e0nh vi\u00ean t\u1ed5 \u0111\u1ec3 \u0111\u00e1p \u1ee9ng y\u00eau c\u1ea7u c\u1ee7a kh\u00e1ch h\u00e0ng. V\u1edbi to\u00e0n th\u1ec3 t\u1ed5 c\u00f9ng cam k\u1ebft v\u1edbi m\u1ee5c \u0111\u00edch d\u1ef1 \u00e1n, c\u00e1c th\u00e0nh vi\u00ean t\u1ed5 \u0111\u00e3 ho\u00e0n th\u00e0nh nhi\u1ec7m v\u1ee5 c\u1ee7a m\u00ecnh ph\u1ea3i gi\u00fap cho ng\u01b0\u1eddi c\u00f2n ch\u01b0a ho\u00e0n th\u00e0nh \u0111\u1ec3 cho d\u1ef1 \u00e1n c\u00f3 th\u1ec3 k\u1ebft th\u00fac \u0111\u00fang th\u1eddi gian.<\/p>\n<p>&nbsp;<\/p>\n<p>&#8212;-English version&#8212;-<\/p>\n<p>&nbsp;<\/p>\n<p>Some facts about Agile approach<\/p>\n<p>A student asks me: \u201cIf Agile is a good approach to develop software then why do we have to study other development approach?\u201d<\/p>\n<p>&nbsp;<\/p>\n<p>My answer: Agile is a good approach to develop software, especially when project is small and requirements are NOT well understood. However, Agile is NOT a solution for everything. There are different methods for different types of project. By the way, Agile only works if certain conditions exist.<\/p>\n<p>First, Agile requires all team members to receive training on the approach (Scrum, Extreme Programming, Crystal etc.). Without proper training, Agile will NOT work. I have seen many students misunderstood Agile as an undisciplined way to do whatever they want such as \u201ccode first, ask question later\u201d. This is NOT acceptable because Agile is about getting the work done accordingly which means team members must follow certain rules and processes. For example, with S<strong>crum<\/strong>, the project is divided in small cycles called \u201cSprint\u201d (About 2 to 4 weeks) where the team is focusing on certain functions that they must develop and test within that specific time.\u00a0<strong>This<\/strong>\u00a0iterative, incremental process is well documented and must be followed.\u00a0There are several articles claimed that with Agile you do NOT need to follow a process. It is FALSE. The fact is you always follow a \u201cdefined process\u201d whether you are using Scrum, Crystal or Extreme programming. There is a different between Agile and traditional waterfall lifecycle, where the traditional method requires many documents but with Agile, these documents are being reduce to a minimum. However, it does NOT mean Agile has NO documentation. Because Agile projects are small ranging from 3 to eight people, developers can communicate with each other often so they do NOT need a lot of paperwork. This is NOT a case for large waterfall type project that have eighty to three hundred people where team members need certain documents to share information.<\/p>\n<p>Second, Agile requires the involvement of customers or a representative of the customers. Without this involvement, Agile will NOT work. The\u00a0incremental delivery of working functionality required that the customers and users must actively participate throughout the entire project. They must explain all changes that they want in a clear and concise manner. They must set priorities and agree to each product release. They must participate in every key reviews and make decisions accordingly. Basically, they must be part of the team.<\/p>\n<p>Third, Agile requires a certain level of technical skills. Without the highly skilled team, Agile will NOT work. It needs experienced and disciplined developers to guide the technical evolution of the system from concept to implementation thoroughly. It requires skilled developers who can balance the need to produce software functions in the short term according to a well defined architectural. It needs developers who can provide guidance necessary to ensure the system can be extended over time with additional functionality and achieve the desired level of performance and scalability.<\/p>\n<p>Fourth, Agile requires teamwork among developers. Without these soft-skills, Agile will NOT work. Basically, teamwork is\u00a0the heart of Agile because the time is short and the requirements are NOT well defined. It does NOT allow time for team members to argue with each other. With this approach, there is no such thing as \u201cMy work\u201d or \u201cYour work\u201d but only \u201cOur work\u201d. Individuals will have to play several roles and assume several responsibilities and ready to help others when asked. They must share technical knowledge so every team member will be able to participate in the common work. To do that, it requires a technical lead or Scrum Master to oversee the activities and motivate the team. There must be highly collaborative interaction between team members to meet the customers\u2019 requirements. With the entire team commit to the project goals, team members who have completed their tasks must help the one who has not completed so the project can finish on time.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>M\u1ed9t sinh vi\u00ean h\u1ecfi t\u00f4i: \u201cN\u1ebfu Agile l\u00e0 c\u00e1ch ti\u1ebfp c\u1eadn t\u1ed1t \u0111\u1ec3 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m th\u00ec t\u1ea1i sao ch\u00fang ta ph\u1ea3i h\u1ecdc c\u00e1ch &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-2614","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\/2614","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=2614"}],"version-history":[{"count":1,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/2614\/revisions"}],"predecessor-version":[{"id":2615,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/2614\/revisions\/2615"}],"wp:attachment":[{"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}