Phần mềm không tự nó sinh ra cũng không tự nó nâng cấp, mà phải được phát triển và bảo trì bởi các lập trình viên. Nhiều qui trình được thành lập để giúp việc phát triển phần mềm trở nên dễ dàng và bài bản hơn.
Mỗi lập trình viên điều phải hiểu về các qui trình này để có thể làm việc một cách hiệu quả. Tuy nhiên, mình thấy đa số bạn sinh viên chỉ hiểu mang máng về các qui trình này. Một số bạn đã đi làm nhưng cũng chỉ mù quáng tuân theo qui trình mà không hiểu rõ mục đích cũng như ý nghĩa của nó.
Bài viết này sẽ cho bạn cái nhìn rõ ràng hơn về các qui trình phát triển phần mềm, cũng như cách các công ty áp dụng chúng trong thực tế.
Lưu ý: Bản thân Agile và Scrum là những chủ đề rất rộng, cần đến vài quyển sách và khóa học để nói về chúng. Trong phạm vi bài viết, mình chỉ đưa ra những điểm chính yếu để bạn đọc có nền tảng kiến thức và có thể tự tìm hiểu sâu hơn.
Để hiểu hơn về Agile, trước hết ta hãy xem lại qui trình thường dùng để phát triển phần mềm. Qui trình này thường bao gồm 5 quá trình:
Với mô hình phát triển truyền thống (còn gọi là waterfall), các quá trình này được thực hiện tuần tự từ đầu đến cuối. Tuy nhiên, rất khó để lấy chính xác yêu cầu (requirement) của khách hàng ở giai đoạn đầu, vì họ thường không biết mình cần gì cho đến khi nhìn thấy sản phẩm (phần mềm).
Khi requirement thay đổi, ta phải làm lại các bước thiết kế và phát triển, kiểm thử, viết lại tài liệu… Kết quả là sản phẩm làm ra không đúng yêu cầu của khách hàng, hoặc bị trễ thời gian, quá ngân sách.
Vì lẽ đó, vào tháng 2 năm 2001, 17 nhân vật có tiếng tăm trong ngành phần mềm đã có một cuộc họp để tìm ra phương pháp xây dựng phần mềm tinh gọn, hiệu quả.
Thành quả của cuộc họp là một tấm hình tự sướng của vài người đàn ông chổng mông vào màn ảnh và một bản “Tuyên ngôn Agile”.
Nội dung tuyên ngôn: Cá nhân và tương tác hơn là quy trình và công cụ Phần mềm chạy tốt hơn là tài liệu đầy đủ Cộng tác với khách hàng hơn là đàm phán hợp đồng Phản hồi với thay đổi hơn là bám sát kế hoạch
Sau khi Agile ra đời, nó nhanh chóng nhận được sự ủng hộ và đón nhận của cộng đồng. Tuân theo những nguyên lý Agile góp phần làm tăng tỷ lệ thành công của dự án. Bản thân Agile cũng mang lại những góc nhìn rất mới mẻ trong việc phát triển phần mềm:
Nhiều bạn thường lầm tưởng Agile và Scrum là một, nhưng thực ra không phải vậy:
Hiện tại, Scrum là qui trình phổ biến nhất và được áp dụng ở nhiều công ty phần mềm trong và ngoài nước. Cùng tìm hiểu về Scrum trong phần 2 nhé.
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE