Bạn đã từng nghe qua về Extreme programming hay chưa? Nếu chưa hãy cùng tìm hiểu về nó thông qua nội dụng của bài viết bên dưới nhé!
Extreme programming là gì?
Extreme programming được biết đến là một trong số các Framework được dùng để phát triển phần mềm, thường được sử dụng trong những mô hình Agile.
Mục đích sử dụng của nó là nhằm cải thiện chất lượng phần mềm, cùng khả năng đáp ứng những yêu cầu từ phía khách hàng.
Extreme programming đã được phát triển bởi kỹ sư phần mềm Kent Beck vào năm 1996, hoạt động dưới dạng một khung linh hoạt nhẹ. Ý tượng xây dựng loại Framework này liên quan đến 12 phương pháp thực hành trong Agile.
Ngoài ra, Extreme programming còn được gọi bằng cái tên lập trình cực đoan, bao gồm các đặc điểm chính như:
- Các yêu cầu phần mềm thay đổi linh hoạt.
- Sử dụng một nhóm phát triển mở rộng nhỏ và được sắp xếp hợp tác.
- Tận dụng công nghệ tạo điều kiện cho các bài kiểm tra chức năng, cũng như đơn vị một cách tự động.
Giá trị cốt lõi trong Extreme programming
- Feedback: Khuyến khích sử dụng các phản hồi đa chiều, như:
- Feedback từ hệ thống qua việc kiểm thử.
- Feedback từ khách hàng qua việc kiểm thử chấp nhận được viết từ khách hàng và người kiểm thử.
- Feedback từ nhóm bởi việc ước tính mỗi khi có các hạng mục mới mà khách hàng cần đưa vào.
- Communication: Luôn cần sự giao tiếp giữa các thành viên trong team khi diễn ra mọi giai đoạn hình thành và hoàn thiện dự án.
- Simplicity: Tập trung thực hiện những công việc cần thiết và đem lại lợi ích tức thời.
- Respect: Đảm bảo sự tôn trọng lẫn nhau giữa các thành viên trong cùng một team, giúp công việc đạt được chất lượng tốt nhất.
- Courage: Thực hiện đánh giá một cách khách quan kết quả mà mình đạt được, không bào chữa và sẵn sàng thích nghi với sự thay đổi.
Các công việc có thể thực hiện trong Extreme Programming
Một số hoạt động cơ bản cần được tuân theo trong quá trình phát triển phần mềm thông qua việc sử dụng Extreme Programming:
- Coding: Hoạt động mã hóa có thể thực hiện cả việc vẽ sơ đồ, sau đó chuyển thành mã, viết kịch bản cho hệ thống dựa vào web và chọn cho mình một giải pháp thay thế tưng ứng.
- Testing: Trong Extreme programming việc kiểm thử khá được chú trọng, đây cũng chính là lý do khiến phần mềm khi phát triển hoàn thiện không tồn tại lỗi.
- Listening: Lắng nghe khách hàng là điều vô cùng quan trọng, khi các nhà phát triển muốn tạo ra một phần mềm đạt chất lượng tốt nhất, đồng thời để hiểu rõ hơn về chức năng trong hệ thống.
- Feedback: Thu thập các phản hồi nhằm hiểu rõ hơn về những mong muốn của khách hàng được xem như một khía cạnh quan trong làm nên thành công trong Extreme programming. Việc thường xuyên tiếp xúc với khách hàng sẽ giúp quá trình phát triển đạt hiệu quả tối ưu.
- Simplicity: Đây là nguyên tắc hoạt động chính trong việc phát triển hệ thống của Extreme programming ở thời điểm hiện tại, đồng thời tập trung vào việc xây dựng những tính năng cụ thể và cần thiết.
- Integration testing: Hỗ trợ xác định các lỗi giao diện trong nhiều chức năng khác nhau.
Ưu - nhược điểm của Extreme programming
Ưu điểm
- Giúp tiết kiệm chi phí trong các tổ chức phát triển phần mềm.
- Người đảm nhận từng công việc sẽ là người chịu trách nhiệm trước team về nhiệm vụ được giao.
- Nâng cao tinh thần và giữ chân nhân viên thông qua sự nhấn mạnh vào những vấn đề chất lượng trong cuộc sống.
- Thường xuyên thực hành kiểm tra và tái cấu trúc, giúp xây dựng các hệ thống ổn định và hoạt động tốt với việc sửa lỗi tối thiểu.
- Thường xuyên trao đổi giúp khả năng hiển thị, cũng như trách nhiệm giải trình cao và giúp cho các thành viên trong team nắm được tiến độ dự án.
- Giá trị đơn giản hàm ý đưa ra một mã rõ ràng, súc tích giúp cho người sử dụng dễ đọc và thay đổi bất kể khi nào muốn.
Nhược điểm
- Không chú trọng vào chất lượng mã, khiến dễ gây ra các lỗi trong những lần lặp lại sớm.
- Sẽ không đem lại hiệu quả cao, khi các nhà phát triển không đảm nhận cùng vị trí.
- Tài liệu có thể bị hạn chế hoặc thiếu các yêu cầu và thông số kỹ thuật rõ ràng, khiến phạm vi dự án tăng.