<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Các phản hồi luận về: Agile software development &#8211; lập trình linh hoạt</title>
	<atom:link href="http://nttuyen.wordpress.com/2008/04/27/agile-software-development-l%e1%ba%adp-trinh-linh-ho%e1%ba%a1t/feed/" rel="self" type="application/rss+xml" />
	<link>http://nttuyen.wordpress.com/2008/04/27/agile-software-development-l%e1%ba%adp-trinh-linh-ho%e1%ba%a1t/</link>
	<description>The best way to predict the future is to invent it</description>
	<lastBuildDate>Tue, 27 Oct 2009 10:44:07 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Bởi: nttuyen</title>
		<link>http://nttuyen.wordpress.com/2008/04/27/agile-software-development-l%e1%ba%adp-trinh-linh-ho%e1%ba%a1t/#comment-20</link>
		<dc:creator>nttuyen</dc:creator>
		<pubDate>Sun, 27 Apr 2008 04:01:41 +0000</pubDate>
		<guid isPermaLink="false">http://nttuyen.wordpress.com/?p=27#comment-20</guid>
		<description>Như vậy xu thế mới trong S.E hiện nay đó là chia công việc devel software ra thành nhiều module nhỏ độc lập nhau, sau đó tích hợp chúng lại tạo ra một hệ thống hoàn chỉnh linh hoạt.

Ví dụ bạn hãy tưởng tượng sẽ chế tạo một con Robot đồ chơi của trẻ em. Nếu bạn dùng một khối nhựa và đúc thành một hình robot hoàn chỉnh. Khi đó nếu con robot đó bị hỏng trong phần nào đó hay nhu cầu thay đổi, bạn sẽ phải làm lại từ đầu. Nhưng nếu bạn đúc thành từng bộ phận nhỏ như tay, chân, thân hình ... rồi sau đó lắp ghép chúng lại với nhau. Khi đó con robot có bị hỏng phần nào thì bạn chỉ cần sửa phần đó rồi ráp chúng lại, làm như thế nhanh hơn. Hơn nữa nếu bạn muốn sản xuất một loại robot mới thì cũng có thể sử dụng lại một bộ phận đã sản xuất nào đó của con robot trước.

Khi được chia nhỏ ra, mỗi phần nhỏ đó được test cẩn thận bằng Unit test bởi chính các developer. Khi tích hợp chúng lại được integation test.

JUnit và Cactus.</description>
		<content:encoded><![CDATA[<p>Như vậy xu thế mới trong S.E hiện nay đó là chia công việc devel software ra thành nhiều module nhỏ độc lập nhau, sau đó tích hợp chúng lại tạo ra một hệ thống hoàn chỉnh linh hoạt.</p>
<p>Ví dụ bạn hãy tưởng tượng sẽ chế tạo một con Robot đồ chơi của trẻ em. Nếu bạn dùng một khối nhựa và đúc thành một hình robot hoàn chỉnh. Khi đó nếu con robot đó bị hỏng trong phần nào đó hay nhu cầu thay đổi, bạn sẽ phải làm lại từ đầu. Nhưng nếu bạn đúc thành từng bộ phận nhỏ như tay, chân, thân hình &#8230; rồi sau đó lắp ghép chúng lại với nhau. Khi đó con robot có bị hỏng phần nào thì bạn chỉ cần sửa phần đó rồi ráp chúng lại, làm như thế nhanh hơn. Hơn nữa nếu bạn muốn sản xuất một loại robot mới thì cũng có thể sử dụng lại một bộ phận đã sản xuất nào đó của con robot trước.</p>
<p>Khi được chia nhỏ ra, mỗi phần nhỏ đó được test cẩn thận bằng Unit test bởi chính các developer. Khi tích hợp chúng lại được integation test.</p>
<p>JUnit và Cactus.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Bởi: nttuyen</title>
		<link>http://nttuyen.wordpress.com/2008/04/27/agile-software-development-l%e1%ba%adp-trinh-linh-ho%e1%ba%a1t/#comment-19</link>
		<dc:creator>nttuyen</dc:creator>
		<pubDate>Sun, 27 Apr 2008 03:54:02 +0000</pubDate>
		<guid isPermaLink="false">http://nttuyen.wordpress.com/?p=27#comment-19</guid>
		<description>Phương thức phát triển này dựa trên hai kỹ thuật đáng lưu ý nhất:

   1. Refactoring: Giống như vệc bạn trang trí lại căn nhà mà không cần phải cơi nới, xây thêm hay xây lại, “refactoring” (xin lỗi, tôi chưa tìm được từ tiếng Việt nào thích hợp để dịch) cho phép chúng ta chuyển đổi mã lệnh để làm cho ứng dụng tốt hơn, đẹp hơn mà không phá hỏng nó (các bạn có thể tìm hiểu thêm về kỹ thuật này trong cuốn Refactoring: Improving the Design of Existing Code).
   2. Developer Testing: Phần mềm do chính các lập trình viên được kiểm định thay vì do các nhóm tester độc lập làm. Công cụ là “unit test”, cho phép từng phần nhỏ của phần mềm được kiểm định ngay trong quá trình phát triển trước khi lắp ghép vào ứng dụng. (xin xem thêm cuốn Test Driven Development: By Example)

Trích:
http://www.web2vietnam.com/2007/10/18/l%e1%ba%adp-trinh-vien-b%e1%ba%a1n-s%e1%ba%bd-b%e1%bb%8b-dao-th%e1%ba%a3i-ngay-mai/</description>
		<content:encoded><![CDATA[<p>Phương thức phát triển này dựa trên hai kỹ thuật đáng lưu ý nhất:</p>
<p>   1. Refactoring: Giống như vệc bạn trang trí lại căn nhà mà không cần phải cơi nới, xây thêm hay xây lại, “refactoring” (xin lỗi, tôi chưa tìm được từ tiếng Việt nào thích hợp để dịch) cho phép chúng ta chuyển đổi mã lệnh để làm cho ứng dụng tốt hơn, đẹp hơn mà không phá hỏng nó (các bạn có thể tìm hiểu thêm về kỹ thuật này trong cuốn Refactoring: Improving the Design of Existing Code).<br />
   2. Developer Testing: Phần mềm do chính các lập trình viên được kiểm định thay vì do các nhóm tester độc lập làm. Công cụ là “unit test”, cho phép từng phần nhỏ của phần mềm được kiểm định ngay trong quá trình phát triển trước khi lắp ghép vào ứng dụng. (xin xem thêm cuốn Test Driven Development: By Example)</p>
<p>Trích:<br />
<a href="http://www.web2vietnam.com/2007/10/18/l%e1%ba%adp-trinh-vien-b%e1%ba%a1n-s%e1%ba%bd-b%e1%bb%8b-dao-th%e1%ba%a3i-ngay-mai/" rel="nofollow">http://www.web2vietnam.com/2007/10/18/l%e1%ba%adp-trinh-vien-b%e1%ba%a1n-s%e1%ba%bd-b%e1%bb%8b-dao-th%e1%ba%a3i-ngay-mai/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Bởi: nttuyen</title>
		<link>http://nttuyen.wordpress.com/2008/04/27/agile-software-development-l%e1%ba%adp-trinh-linh-ho%e1%ba%a1t/#comment-18</link>
		<dc:creator>nttuyen</dc:creator>
		<pubDate>Sun, 27 Apr 2008 03:51:12 +0000</pubDate>
		<guid isPermaLink="false">http://nttuyen.wordpress.com/?p=27#comment-18</guid>
		<description>Nhận xét 1 : 

Thực ra cái mô hình Waterfall bây giờ đã thể hiện nhược điểm cứng nhắc, không linh hoạt. Tuy nhiên nó vẫn là mô hình được ứng dụng nhiều, chỉ có điều đang thay đổi trở nên nhỏ hơn thôi.

Agile là mô hình linh hoạt, nhưng trong mỗi khung thời gian của nó vẫn dùng mô hình Waterfall đó, công thêm yêu cầu về khả năng mở rộng linh hoạt của hệ thống.</description>
		<content:encoded><![CDATA[<p>Nhận xét 1 : </p>
<p>Thực ra cái mô hình Waterfall bây giờ đã thể hiện nhược điểm cứng nhắc, không linh hoạt. Tuy nhiên nó vẫn là mô hình được ứng dụng nhiều, chỉ có điều đang thay đổi trở nên nhỏ hơn thôi.</p>
<p>Agile là mô hình linh hoạt, nhưng trong mỗi khung thời gian của nó vẫn dùng mô hình Waterfall đó, công thêm yêu cầu về khả năng mở rộng linh hoạt của hệ thống.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
