	{"id":711,"date":"2013-06-22T11:51:23","date_gmt":"2013-06-22T04:51:23","guid":{"rendered":"http:\/\/science-technology.vn\/?p=711"},"modified":"2013-06-22T11:51:23","modified_gmt":"2013-06-22T04:51:23","slug":"tich-hop-lien-tuc","status":"publish","type":"post","link":"https:\/\/science-technology.vn\/?p=711","title":{"rendered":"T\u00edch h\u1ee3p li\u00ean t\u1ee5c"},"content":{"rendered":"<p><span style=\"font-size: 14px;\">Ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m truy\u1ec1n th\u1ed1ng th\u01b0\u1eddng \u0111\u1ec3 ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n l\u00e0m vi\u1ec7c \u0111\u1ed9c l\u1eadp. T\u1eebng ng\u01b0\u1eddi \u0111\u01b0\u1ee3c ph\u00e2n c\u00f4ng cho m\u1ed9t s\u1ed1 nhi\u1ec7m v\u1ee5 n\u01a1i h\u1ecd l\u00e0m vi\u1ec7c tr\u00ean m\u00e1y t\u00ednh ri\u00eang c\u1ee7a h\u1ecd v\u00e0 c\u00f4ng vi\u1ec7c c\u1ee7a h\u1ecd kh\u00f4ng \u0111\u01b0\u1ee3c t\u00edch h\u1ee3p m\u00e3i cho t\u1edbi c\u1ed9t m\u1ed1c n\u00e0o \u0111\u00f3. Nh\u1eefng ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n l\u00e0m vi\u1ec7c trong nhi\u1ec1u tu\u1ea7n tr\u00ean c\u00e1c nhi\u1ec7m v\u1ee5 m\u00e0 kh\u00f4ng nh\u1eadn ra h\u1ecd \u0111\u00e3 t\u1ea1o ra bao nhi\u00eau l\u1ed7i. T\u1ea5t nhi\u00ean nhi\u1ec7m v\u1ee5 c\u1ee7a h\u1ecd ph\u1ea3i qua ki\u1ec3m th\u1eed \u0111\u01a1n v\u1ecb nh\u01b0ng c\u00e1c v\u1ea5n \u0111\u1ec1 th\u01b0\u1eddng x\u1ea3y ra trong ki\u1ec3m th\u1eed t\u00edch h\u1ee3p. M\u00e3 c\u1ee7a h\u1ecd c\u00e0ng \u0111\u01b0\u1ee3c chia s\u1ebb v\u1edbi nh\u1eefng ng\u01b0\u1eddi kh\u00e1c, h\u1ecd c\u00e0ng c\u00f3 nhi\u1ec1u v\u1ea5n \u0111\u1ec1 v\u00e0 ph\u1ea3i m\u1ea5t nhi\u1ec1u th\u1eddi gian v\u00e0 n\u1ed7 l\u1ef1c \u0111\u1ec3 s\u1eeda.\u00a0<\/span><\/p>\n<p>Ph\u01b0\u01a1ng ph\u00e1p Agile tr\u00e1nh v\u1ea5n \u0111\u1ec1 n\u00e0y b\u1eb1ng vi\u1ec7c y\u00eau c\u1ea7u m\u1ecdi nhi\u1ec7m v\u1ee5 \u0111\u1ec1u \u0111\u01b0\u1ee3c t\u00edch h\u1ee3p th\u01b0\u1eddng xuy\u00ean, th\u01b0\u1eddng tr\u00ean c\u01a1 s\u1edf h\u00e0ng ng\u00e0y. C\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 T\u00edch h\u1ee3p li\u00ean t\u1ee5c (CI) v\u00e0 qui t\u1eafc l\u00e0 ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n kh\u00f4ng bao gi\u1edd \u0111\u1ec3 c\u00e1i g\u00ec kh\u00f4ng \u0111\u01b0\u1ee3c t\u00edch h\u1ee3p v\u00e0o cu\u1ed1i ng\u00e0y. Khi ph\u1ea7n m\u1ec1m \u0111\u01b0\u1ee3c t\u00edch h\u1ee3p h\u00e0ng ng\u00e0y, n\u1ebfu c\u00f3 c\u00e1c v\u1ea5n \u0111\u1ec1 h\u1ecd c\u00f3 th\u1ec3 s\u1eeda ngay l\u1eadp t\u1ee9c. B\u1eb1ng vi\u1ec7c l\u00e0m \u0111i\u1ec1u \u0111\u00f3, m\u1ecdi ng\u01b0\u1eddi s\u1ebd b\u1eaft \u0111\u1ea7u t\u1eebng ng\u00e0y v\u1edbi m\u1ed9t phi\u00ean b\u1ea3n d\u1ef1ng c\u1ee7a ph\u1ea7n m\u1ec1m v\u00e0 \u0111i\u1ec1u n\u00e0y l\u00e0m t\u0103ng ch\u1ea5t l\u01b0\u1ee3ng v\u00e0 n\u0103ng su\u1ea5t c\u1ee7a d\u1ef1 \u00e1n. B\u1eb1ng vi\u1ec7c cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng d\u00f9ng ph\u1ea7n m\u1ec1m s\u1edbm h\u01a1n, \u0111i\u1ec1u \u0111\u00f3 khuy\u1ebfn kh\u00edch ph\u1ea3n h\u1ed3i nhanh h\u01a1n gi\u1eefa ng\u01b0\u1eddi d\u00f9ng v\u00e0 ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n v\u00e0 gi\u00fap t\u1ed5 l\u00e0m nh\u1eefng \u0111i\u1ec1u \u0111\u00fang tr\u01b0\u1edbc khi \u0111\u01b0a ra ph\u1ea7n m\u1ec1m ch\u00ednh th\u1ee9c. T\u00edch h\u1ee3p li\u00ean t\u1ee5c l\u00e0m vi\u1ec7c t\u1ed1t khi t\u1ed5 \u0111\u00e3 t\u1ef1 \u0111\u1ed9ng ho\u00e1 ki\u1ec3m th\u1eed \u0111\u01a1n v\u1ecb m\u00e0 \u0111\u1ea3m b\u1ea3o ph\u1ea7n m\u1ec1m th\u01b0\u1eddng xuy\u00ean \u0111\u01b0\u1ee3c ki\u1ec3m th\u1eed \u0111\u1ec3 gi\u1ea3m b\u1ea5t k\u00ec r\u1ee7i ro n\u00e0o c\u00f3 th\u1ec3 x\u1ea3y ra \u1edf cu\u1ed1i.<\/p>\n<p>V\u1edbi c\u00e1c ph\u01b0\u01a1ng ph\u00e1p ph\u00e1t tri\u1ec3n truy\u1ec1n th\u1ed1ng, t\u00edch h\u1ee3p kh\u00f4ng x\u1ea3y ra m\u00e3i cho t\u1edbi mu\u1ed9n v\u1ec1 sau v\u00e0 kh\u00f4ng ai bi\u1ebft h\u1ecd c\u00f3 bao nhi\u00eau l\u1ed7i ch\u1eebng n\u00e0o h\u1ecd ch\u01b0a l\u00e0m ki\u1ec3m th\u1eed t\u00edch h\u1ee3p. \u0110i\u1ec1u \u0111\u00f3 l\u00e0 r\u1ee7i ro v\u00ec b\u1ea1n \u0111ang \u0111\u1ec3 b\u1ea3n th\u00e2n b\u1ea1n v\u00e0o t\u00ecnh hu\u1ed1ng kh\u00f4ng bi\u1ebft m\u00e3i t\u1edbi ph\u00fat cu\u1ed1i c\u00f9ng. Th\u1ec9nh tho\u1ea3ng qu\u00e1 nhi\u1ec1u l\u1ed7i c\u00f3 th\u1ec3 tr\u1edf th\u00e0nh \u0111au \u0111\u1ea7u v\u1ec1 l\u1ecbch bi\u1ec3u ch\u00ednh cho t\u1ed5. T\u00edch h\u1ee3p li\u00ean t\u1ee5c gi\u1ea3i quy\u1ebft v\u1ea5n \u0111\u1ec1 n\u00e0y v\u00ec b\u1ea1n kh\u00f4ng ph\u1ea3i ch\u1edd \u0111\u1ee3i qu\u00e1 l\u00e2u. N\u1ebfu b\u1ea1n ph\u1ea1m sai l\u1ea7m b\u1ea1n c\u00f3 th\u1ec3 s\u1eeda n\u00f3 ngay l\u1eadp t\u1ee9c. T\u1ea5t nhi\u00ean T\u00edch h\u1ee3p li\u00ean t\u1ee5c kh\u00f4ng \u0111\u1ea3m b\u1ea3o kh\u00f4ng c\u00f3 l\u1ed7i, nh\u01b0ng n\u00f3 l\u00e0m cho h\u1ecd d\u1ec5 t\u00ecm v\u00e0 s\u1eeda h\u01a1n. N\u1ebfu b\u1ea1n t\u1ea1o ra b\u1ea5t k\u00ec l\u1ed7i n\u00e0o, b\u1ea1n s\u1ebd nhanh ch\u00f3ng th\u1ea5y ra trong v\u00e0i gi\u1edd hay \u1edf cu\u1ed1i ng\u00e0y cho n\u00ean d\u1ec5 s\u1eeda h\u01a1n v\u00ec b\u1ea1n ch\u1ec9 vi\u1ebft m\u00e3 v\u00e0 logic v\u1eabn c\u00f2n m\u1edbi trong tr\u00ed nh\u1edb c\u1ee7a b\u1ea1n.<\/p>\n<p>&nbsp;<\/p>\n<p>&#8212;-English version&#8212;-<\/p>\n<p>&nbsp;<\/p>\n<p>Continuous integration<\/p>\n<p>Traditional software development often lets developers work independently. Each is assigned a number of tasks where they work on their own computer and their works are not integrated until certain milestone. Developers work for weeks on tasks without realizing how many bugs that they created. Of course their tasks pass unit tests but problems often happen during integration test. The more their code is shared with others, the more problems they have and it takes lots of time and efforts to fix.<\/p>\n<p>Agile development avoids this problem by require all tasks to be integrated frequently, usually on a daily basis. This approach is called Continuous Integration (CI) and the rule is developers never leave anything un-integrated at the end of the day. When software is integrated daily, if there are problems they can be fixed immediately. By doing that, everyone will start each day with a clean build version of software and this increases the quality and productivity of the project. By allowing users to use software sooner, it encourages faster feedbacks between users and developers and helps the team do things right before the formal software release. Continuous integration works well when the team has automated unit tests that ensure software is constantly tested to reduce any risk that may happen at the end.<\/p>\n<p>With traditional development methods, integration does not happen until later and no one knows how many bugs that they have until integration test. It is risky as you are putting yourself into an unknown situation until the last minute. Sometime too many bugs could become a major schedule headache for the team. Continuous Integration solves this problem since you do not have to wait too long. If you make mistake you can fix it immediately. Of course Continuous Integrations does guarantee no bugs, but it makes them easier to find and fix. If you create any bug, you will find out quickly within few hours or at the end of the day so it is easier to fix since you just write the code and the logic is still fresh in your memory.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m truy\u1ec1n th\u1ed1ng th\u01b0\u1eddng \u0111\u1ec3 ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n l\u00e0m vi\u1ec7c \u0111\u1ed9c l\u1eadp. T\u1eebng ng\u01b0\u1eddi \u0111\u01b0\u1ee3c ph\u00e2n c\u00f4ng cho m\u1ed9t s\u1ed1 nhi\u1ec7m v\u1ee5 &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-711","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\/711","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=711"}],"version-history":[{"count":1,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/711\/revisions"}],"predecessor-version":[{"id":712,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/711\/revisions\/712"}],"wp:attachment":[{"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=711"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=711"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}