	{"id":2680,"date":"2013-07-06T18:15:30","date_gmt":"2013-07-06T11:15:30","guid":{"rendered":"http:\/\/science-technology.vn\/?p=2680"},"modified":"2013-07-06T18:15:30","modified_gmt":"2013-07-06T11:15:30","slug":"du-an-agile","status":"publish","type":"post","link":"https:\/\/science-technology.vn\/?p=2680","title":{"rendered":"D\u1ef1 \u00e1n agile"},"content":{"rendered":"<p><span style=\"font-size: 14px;\">Thay \u0111\u1ed5i y\u00eau c\u1ea7u l\u00e0 m\u1ed9t trong nh\u1eefng v\u1ea5n \u0111\u1ec1 ch\u00ednh trong h\u1ea7u h\u1ebft c\u00e1c d\u1ef1 \u00e1n ph\u1ea7n m\u1ec1m. \u0110\u1ec3 gi\u1ea3m thi\u1ec3u v\u1ea5n \u0111\u1ec1 n\u00e0y, t\u1ed5 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m ph\u1ea3i h\u1ed9i t\u1ee5 v\u00e0o l\u00e0m vi\u1ec7c v\u1edbi ng\u01b0\u1eddi d\u00f9ng \u0111\u1ec3 ph\u00e1t tri\u1ec3n y\u00eau c\u1ea7u r\u00f5 r\u00e0ng v\u00e0 ch\u00ednh x\u00e1c. Tuy nhi\u00ean, khi ng\u01b0\u1eddi d\u00f9ng kh\u00f4ng bi\u1ebft h\u1ecd mu\u1ed1n g\u00ec, hay th\u01b0\u1eddng \u0111\u1ed5i \u00fd th\u00ec t\u1ed5 ph\u00e1t tri\u1ec3n c\u00f3 th\u1ec3 ch\u1ea5p thu\u1eadn c\u00e1ch ti\u1ebfp c\u1eadn gia t\u0103ng b\u1eb1ng vi\u1ec7c x\u00e1c \u0111\u1ecbnh \u0111i\u1ec1u ng\u01b0\u1eddi d\u00f9ng c\u00f3 th\u1ec3 gi\u1ea3i th\u00edch \u0111\u01b0\u1ee3c v\u00e0o l\u00fac \u0111\u00f3 r\u1ed3i \u01b0u ti\u00ean ho\u00e1 ch\u00fang th\u00e0nh nhi\u1ec1u b\u1ea3n \u0111\u01b0a ra v\u1edbi b\u1ea3n h\u1ecd \u0111\u00e3 bi\u1ebft \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n tr\u01b0\u1edbc nh\u1ea5t.<\/span><\/p>\n<p>C\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 \u201cC\u00e1ch ti\u1ebfp c\u1eadn Agile\u201d bao g\u1ed3m nhi\u1ec1u c\u00e1ch ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m. M\u1ed9t trong nh\u1eefng c\u00e1ch ph\u1ed5 bi\u1ebfn nh\u1ea5t l\u00e0 \u201cScrum\u201d, chia ho\u1ea1t \u0111\u1ed9ng ph\u00e1t tri\u1ec3n th\u00e0nh nhi\u1ec1u n\u1ed7 l\u1ef1c nh\u1ecf, t\u1eebng n\u1ed7 l\u1ef1c k\u00e9o d\u00e0i t\u1eeb 2 t\u1edbi 4 tu\u1ea7n c\u00f3 t\u00ean l\u00e0 &#8220;Sprint- N\u01b0\u1edbc r\u00fat&#8221;. V\u1edbi t\u1eebng n\u01b0\u1edbc r\u00fat, nhu c\u1ea7u c\u1ee7a ng\u01b0\u1eddi d\u00f9ng \u0111\u01b0\u1ee3c \u01b0u ti\u00ean ho\u00e1 th\u00e0nh &#8220;T\u1ed3n \u0111\u1ecdng n\u01b0\u1edbc r\u00fat- Sprint backlog&#8221; (Y\u00eau c\u1ea7u \u0111\u1ed1i v\u1edbi m\u1ed9t n\u01b0\u1edbc r\u00fat \u0111\u1eb7c bi\u1ec7t) n\u01a1i t\u1ed5 c\u00f3 th\u1ec3 t\u1eadp trung v\u00e0o l\u00e0m vi\u1ec7c v\u1ec1 nhu c\u1ea7u c\u1ee7a ng\u01b0\u1eddi d\u00f9ng m\u00e0 kh\u00f4ng ph\u1ea3i lo l\u1eafng v\u1ec1 c\u00e1c y\u00eau c\u1ea7u kh\u00e1c. B\u1eb1ng vi\u1ec7c x\u00e2y d\u1ef1ng t\u0103ng d\u1ea7n ph\u1ea7n m\u1ec1m t\u01b0\u01a1ng \u1ee9ng theo \u01b0u ti\u00ean c\u1ee7a ng\u01b0\u1eddi d\u00f9ng, t\u1ed5 ti\u1ebfp t\u1ee5c chuy\u1ec3n giao ph\u1ea7n m\u1ec1m l\u00e0m vi\u1ec7c tho\u1ea3 m\u00e3n cho ng\u01b0\u1eddi d\u00f9ng thay v\u00ec chuy\u1ec3n giao m\u1ecdi th\u1ee9 m\u1ed9t l\u1ea7n nh\u01b0 v\u1edbi v\u00f2ng \u0111\u1eddi th\u00e1c \u0111\u1ed5. B\u1eb1ng vi\u1ec7c \u0111\u01b0a ra m\u1ed9t m\u1ea3nh ph\u1ea7n m\u1ec1m m\u1ed7i l\u00fac, ng\u01b0\u1eddi d\u00f9ng kh\u00f4ng ph\u1ea3i ch\u1edd \u0111\u1ee3i l\u00e2u m\u00e0 c\u00f3 th\u1ec3 d\u00f9ng v\u00e0i t\u00ednh n\u0103ng m\u1ed7i v\u00e0i tu\u1ea7n v\u00e0 c\u00f3 th\u1ec3 \u0111o \u0111\u01b0\u1ee3c ti\u1ebfn b\u1ed9 c\u1ee7a t\u1ed5 t\u01b0\u01a1ng \u1ee9ng. V\u1edbi t\u1eebng vi\u1ec7c \u0111\u01b0a ra, t\u1ed5 c\u0169ng suy ngh\u0129 v\u1ec1 \u0111i\u1ec1u g\u00ec c\u00f3 t\u00e1c d\u1ee5ng v\u00e0 \u0111i\u1ec1u g\u00ec kh\u00f4ng v\u00e0 ti\u1ebfp t\u1ee5c c\u1ea3i ti\u1ebfn c\u00e1ch h\u1ecd l\u00e0m vi\u1ec7c c\u00f9ng nhau.<\/p>\n<p>Tr\u01b0\u1edbc khi d\u1ef1 \u00e1n mau l\u1eb9 b\u1eaft \u0111\u1ea7u, c\u1ea3 t\u1ed5 ph\u00e1t tri\u1ec3n v\u00e0 ng\u01b0\u1eddi d\u00f9ng ph\u1ea3i \u0111\u1ed3ng \u00fd v\u1ec1 c\u00e1ch qui tr\u00ecnh n\u00e0y s\u1ebd \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n. Vai tr\u00f2, tr\u00e1ch nhi\u1ec7m v\u00e0 \u0111\u1ea3m nhi\u1ec7m ph\u1ea3i \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh v\u00e0 ph\u00e2n c\u00f4ng \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o r\u1eb1ng ng\u01b0\u1eddi qu\u1ea3n l\u00ed, ng\u01b0\u1eddi d\u00f9ng v\u00e0 t\u1ed5 d\u1ef1 \u00e1n hi\u1ec3u h\u1ecd \u0111\u01b0\u1ee3c gi\u1ea3 \u0111\u1ecbnh l\u00e0m g\u00ec. Theo c\u00e1ch ti\u1ebfp c\u1eadn mau l\u1eb9, trao \u0111\u1ed5i l\u00e0 y\u1ebfu t\u1ed1 quan tr\u1ecdng nh\u1ea5t cho n\u00ean ng\u01b0\u1eddi d\u00f9ng ph\u1ea3i ph\u00e2n c\u00f4ng ai \u0111\u00f3 l\u00e0m vi\u1ec7c c\u00f9ng t\u1ed5 d\u1ef1 \u00e1n \u0111\u1ec3 ph\u1ed1i h\u1ee3p c\u00e1c y\u00eau c\u1ea7u v\u00e0 \u01b0u ti\u00ean tr\u00ean c\u01a1 s\u1edf h\u00e0ng ng\u00e0y. \u0110\u1ea1i di\u1ec7n n\u00e0y l\u00e0m vi\u1ec7c c\u00f9ng \u201cTh\u1ea7y Scrum\u201d c\u1ee7a t\u1ed5 d\u1ef1 \u00e1n \u0111\u1ec3 x\u00e1c\u0111\u1ecbnh &#8220;t\u1ed3n \u0111\u1ecdng&#8221; cho t\u1eebng n\u01b0\u1edbc r\u00fat Sprint. \u0110\u1ea1i di\u1ec7n c\u1ee7a ng\u01b0\u1eddi d\u00f9ng c\u0169ng ph\u1ea3i c\u00f3 kh\u1ea3 n\u0103ng tr\u1ea3 l\u1eddi nhanh ch\u00f3ng m\u1ecdi c\u00e2u h\u1ecfi \u0111\u1eb7t ra cho t\u1ed5 v\u00e0 l\u1eadp \u01b0u ti\u00ean m\u1edbi, n\u1ebfu c\u1ea7n. N\u1ebfu v\u1edbi b\u1ea5t k\u00ec l\u00ed do n\u00e0o, ng\u01b0\u1eddi d\u00f9ng b\u1eadn r\u1ed9n v\u00e0 kh\u00f4ng th\u1ec3 tham gia \u0111\u01b0\u1ee3c v\u00e0o giao ti\u1ebfp h\u00e0ng ng\u00e0y v\u1edbi t\u1ed5, t\u00ednh mau l\u1eb9 s\u1ebd KH\u00d4NG c\u00f3 t\u00e1c d\u1ee5ng.<\/p>\n<p>Th\u1ea7y Scrum ch\u1ecbu tr\u00e1ch nhi\u1ec7m cho m\u1ecdi d\u1ef1 \u00e1n trong vi\u1ec7c ph\u1ed1i h\u1ee3p c\u00e1c ho\u1ea1t \u0111\u1ed9ng v\u1edbi ng\u01b0\u1eddi d\u00f9ng, \u0111\u1ea3m b\u1ea3o r\u1eb1ng m\u1ecdi ng\u01b0\u1eddi \u0111\u1ec1u tu\u00e2n theo qui tr\u00ecnh agile t\u01b0\u01a1ng \u1ee9ng v\u1edbi vai tr\u00f2, tr\u00e1ch nhi\u1ec7m c\u1ee7a h\u1ecd v\u00e0 th\u00fac \u0111\u1ea9y c\u00f4ng vi\u1ec7c t\u1ed5 trong c\u00e1c th\u00e0nh vi\u00ean t\u1ed5. Nh\u01b0 \u0111\u00e3 \u0111\u0103ng tr\u01b0\u1edbc \u0111\u00e2y trong blog c\u1ee7a t\u00f4i, c\u00e1ch ti\u1ebfp c\u1eadn Agile c\u00f3 t\u00e1c d\u1ee5ng t\u1ed1t cho c\u00e1c d\u1ef1 \u00e1n nh\u1ecf (4 t\u1edbi 10 ng\u01b0\u1eddi) v\u00e0 m\u1ecdi ng\u01b0\u1eddi trong t\u1ed5 \u0111\u1ec1u ph\u1ea3i nh\u1eadn \u0111\u01b0\u1ee3c vi\u1ec7c \u0111\u00e0o t\u1ea1o agile \u0111\u1ec3 cho h\u1ecd c\u00f3 th\u1ec3 l\u00e0m vi\u1ec7c t\u01b0\u01a1ng \u1ee9ng. Tuy nhi\u00ean, xung \u0111\u1ed9t gi\u1eefa m\u1ecdi ng\u01b0\u1eddi trong t\u1ed5 c\u00f3 x\u1ea3y ra. Ch\u00ednh c\u00f4ng vi\u1ec7c c\u1ee7a Th\u1ea7y Scrum l\u00e0 gi\u1ea3i quy\u1ebft nh\u1eefng v\u1ea5n \u0111\u1ec1 n\u00e0y nhanh ch\u00f3ng v\u00e0 hi\u1ec7u qu\u1ea3. Th\u1ea7y Scrum ph\u1ea3i c\u00f3 k\u0129 n\u0103ng gi\u1ea3i quy\u1ebft xung \u0111\u1ed9t t\u1ed5 b\u1edfi v\u00ec v\u1edbi c\u00e1ch l\u00e0m mau l\u1eb9, th\u1eddi gian l\u00e0 c\u1ed1t y\u1ebfu (2 t\u1edbi 4 tu\u1ea7n cho t\u1eebng n\u01b0\u1edbc r\u00fat), cho d\u00f9 v\u1edbi m\u1ed9t ng\u01b0\u1eddi &#8220;kh\u00f3 l\u00e0m vi\u1ec7c&#8221;, to\u00e0n t\u1ed5 c\u0169ng c\u00f3 th\u1ec3 b\u1ecb t\u00e1c \u0111\u1ed9ng. Th\u1ea7y Scrum c\u0169ng l\u00e0m vi\u1ec7c \u0111\u1ec3 lo\u1ea1i b\u1ecf b\u1ea5t k\u00ec ch\u01b0\u1edbng ng\u1ea1i n\u00e0o \u0111\u01b0\u1ee3c b\u00e1o c\u00e1o trong cu\u1ed9c h\u1ecdp h\u00e0ng ng\u00e0y v\u00e0 b\u1ea3o v\u1ec7 t\u1ed5 kh\u1ecfi b\u1ea5t k\u00ec vi\u1ec7c ng\u1eaft qu\u00e3ng n\u00e0o t\u1eeb b\u00ean ngo\u00e0i b\u1edfi v\u00ec c\u00f4ng vi\u1ec7c mau l\u1eb9 l\u00e0 r\u1ea5t d\u1ed3n d\u1eadp.<\/p>\n<p>C\u00f3 v\u00e0i c\u00f4ng c\u1ee5 th\u01b0\u01a1ng m\u1ea1i s\u1eb5n c\u00f3 tr\u00ean th\u1ecb tr\u01b0\u1eddng cho d\u1ef1 \u00e1n mau l\u1eb9 nh\u01b0ng c\u00f3 nh\u1eefng ph\u01b0\u01a1ng \u00e1n nh\u01b0 ph\u1ea7n m\u1ec1m ngu\u1ed3n m\u1edf n\u1eefa. T\u00f4i th\u00edch d\u00f9ng ba c\u00f4ng c\u1ee5 &#8220;t\u1ef1 do&#8221; n\u00e0y:<\/p>\n<p>Wiki: C\u00f4ng c\u1ee5 n\u00e0y c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c c\u1ea3 ng\u01b0\u1eddi d\u00f9ng v\u00e0 t\u1ed5 d\u1ef1 \u00e1n d\u00f9ng \u0111\u1ec3 trao \u0111\u1ed5i v\u00e0 c\u1ed9ng t\u00e1c tr\u00ean m\u1ecdi v\u1ea5n \u0111\u1ec1 c\u00f3 li\u00ean quan t\u1edbi d\u1ef1 \u00e1n.<\/p>\n<p>Geeklog: D\u00f9ng c\u00f4ng c\u1ee5 n\u00e0y c\u00e1c th\u00e0nh vi\u00ean d\u1ef1 \u00e1n c\u00f3 th\u1ec3 th\u1ea3o lu\u1eadn v\u1ea5n \u0111\u1ec1 l\u1eabn v\u1edbi nhau. C\u00f4ng c\u1ee5 n\u00e0y s\u1ebd c\u00f3 gi\u00e1 tr\u1ecb cho c\u00e1c th\u00e0nh vi\u00ean d\u1ef1 \u00e1n \u0111\u1ec3 th\u1ea3o lu\u1eadn v\u1ec1 c\u00e1c v\u1ea5n \u0111\u1ec1 c\u00f3 li\u00ean quan t\u1edbi c\u00e1c d\u1ef1 \u00e1n kh\u00e1c nhau.<\/p>\n<p>CVS: N\u00f3 l\u00e0 c\u00f4ng c\u1ee5 c\u1ea5u h\u00ecnh ngu\u1ed3n m\u1edf \u0111\u1ec3 ki\u1ec3m so\u00e1t phi\u00ean b\u1ea3n\u00a0 \u0111\u01b0a ra.<\/p>\n<p>Bugzilla: Project team can use this tool to track defects and take various reports on defects.<\/p>\n<p>&nbsp;<\/p>\n<p>&#8212;-English version&#8212;-<\/p>\n<p>&nbsp;<\/p>\n<p>Agile project<\/p>\n<p>Requirements change is one of the major problems in most software projects. To minimize this problem, software development team must focus on working with users to develop a clear and concise requirements. However, when users do not know what they want, or often change their minds then the development team may want to adopt\u00a0an incremental approach by determine what users can explain at that time then prioritize them into several releases with the one that they clearly know is to be implemented first.<\/p>\n<p>This approach is called \u201cThe Agile approach\u201d which consists several ways of develop software. One of the most popular way is \u201cScrum\u201d , which divides the development activities into several small efforts, each lasts about 2 to 4 weeks called &#8220;Sprint&#8221;. For each sprint, the user\u2019s needs are prioritized into a &#8220;Sprint backlog&#8221; (Requirements for a particular Sprint) where the team can concentrate to work on those user\u2019s needs without have to worry about other requirements. By incrementally build software according to user\u2019s priority, the team continue to deliver working software that satisfy users rather than deliver everything all at once as with the waterfall life cycle. By release one piece of software at a time, users do not have to wait a long time but can use several features every few weeks and can measure the team\u2019s progress accordingly. For each release, the team also can reflect on what is working and what is not and continue to improve the way they work together.<\/p>\n<p>Before the agile project begins, both development team and users must agree on how the process will be executed. Roles, responsibilities and accountability must be defined and assigned to make sure that manager, users, and the project team understand what they are supposed to do. In agile approach, communication is the most important factor so users must assign someone to work with the project team to coordinate the requirements and the priority on a daily basis. The representative works with the \u201cScrum Master\u201d of the project team to define the \u201cbacklog\u201d for each Sprint. The user\u2019s representative must be able to quickly answer all questions to the team and set new priorities, if needed. If for whatever reason, users are so busy and cannot participate in the daily interface with the team, agile will NOT work.<\/p>\n<p>The Scrum Master is responsible for all project coordinating activities with the users, make sure that everyone follows the agile process according to their roles, responsibilities and promote teamwork among team members. As previously posted in my blog, Agile approach works well for small projects (4 to 10 people) and everyone on the team must receive agile training so they can work accordingly. However, conflicts between people on the team do happen. It is the job of the Scrum Master to resolve these issues quickly and efficiently. The Scrum Master must have the skills to deal with team conflict because with agile, time is critical (2 to 4 weeks for each Sprint), even with one \u201cdifficult to get along\u201d person, the entire team could be impacted. The Scrum Master must also works to remove any obstacle reported during the daily meeting and protect the team from any disruptive from outside because the agile work is very intensive.<\/p>\n<p>There are several commercial tools available in the market for agile project but there are alternatives such as open source software. I like to use these \u201cFree\u201d tools:<\/p>\n<p>Wiki: This tool can be used by both users and the teams to communicate and collaborate all the project related issues.<\/p>\n<p>Geeklog: Using this tool project member can discuss issues with one another. This tool will be valuable for the project members to discuss on various projects related issues.<\/p>\n<p>CVS: It is an open source configuration tools to control release version.<\/p>\n<p>Bugzilla: Project team can use this tool to track defects and take various reports on defects.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Thay \u0111\u1ed5i y\u00eau c\u1ea7u l\u00e0 m\u1ed9t trong nh\u1eefng v\u1ea5n \u0111\u1ec1 ch\u00ednh trong h\u1ea7u h\u1ebft c\u00e1c d\u1ef1 \u00e1n ph\u1ea7n m\u1ec1m. \u0110\u1ec3 gi\u1ea3m thi\u1ec3u v\u1ea5n \u0111\u1ec1 n\u00e0y, &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-2680","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\/2680","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=2680"}],"version-history":[{"count":1,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/2680\/revisions"}],"predecessor-version":[{"id":2681,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/2680\/revisions\/2681"}],"wp:attachment":[{"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}