Agile/scrum là modul quan trọng trong Khóa học kỹ sư cầu nối và đây cũng là yêu cầu cần có trong CV xin việc trong lĩnh vực CNTT của bạn.
Scrum có lợi ích gì cho phát triển phần mềm hiện nay?
Nó giúp loại bỏ những công đoạn phức tạp và chỉ tập trung vào những công đoạn cần thiết đáp ứng được nhu cầu của khách hàng đưa ra. Ba yếu tố nòng cốt tạo thành một mô hình quản lý tiến trình thực nghiệm gồm: sự minh bạch (transparency), thanh tra (inspection) và thích nghi (adaptation).
Đọc thêm: buổi đào tạo agile/scrum cho đội ngũ nhân viên INTS
– Cơ bản về Agile và Scrum: Gia tăng nhận thức về Agile và khung làm việc Scrum.
– Vai trò và kỹ năng của từng bộ phận: phân biệt sự khác nhau về trách nhiệm, công việc giữa các vai trò trong scrum và các kỹ năng cần thiết ở từng vị trí. Trong Scrum, đội ngũ tham gia phát triển phần mềm được phân chia ra 03 vai trò với trách nhiệm rõ ràng để đảm bảo tối ưu hóa các công việc đặc thù. Ba vai trò này bao gồm:
Nội dung cần nhớ của quy trình Scrum
Không thực hiện đưa toàn bộ yêu cầu/ nghiệp vụ hệ thống vào Code và Testing cùng một lúc, mà sẽ chia các yêu cầu làm theo từng giai đoạn. Mỗi giai đoạn chỉ làm một số lượng yêu cầu nhất định.
Các nguyên tắc cần nắm để ứng dụng thành công mô hình linh hoạt
Để có thể giúp dự án hoàn thành đúng tiến độ và áp dụng phương pháp linh hoạt hơn thì sau đây là 12 nguyên tắc bạn cần nắm rõ. Các nguyên tắc bao gồm:
1. Ưu tiên cao nhất của chúng tôi là làm hài lòng khách hàng thông qua việc phân phối sớm và liên tục các phần mềm có giá trị.
2. Chào đón việc thay đổi các yêu cầu, thậm chí ngay cả khi rất muộn trong quá trình phát triển. Các quy trình linh hoạt tận dụng sự thay đổi để tạo lợi thế cạnh tranh cho khách hàng.
3. Thường xuyên cung cấp phần mềm hoạt động tốt cho khách hàng, từ hàng tuần đến hàng tháng, ưu tiên khung thời gian ngắn hơn.
4. Các nhà kinh doanh và nhà phát triển phần mềm phải làm việc cùng nhau hàng ngày trong suốt quá trình dự án diễn ra.
5. Xây dựng các dự án xung quanh những cá nhân có động lực. Cung cấp cho họ môi trường và sự hỗ trợ mà họ cần, và tin tưởng để họ hoàn thành công việc một cách tốt nhất có thể.
6. Cách hiệu quả nhất để truyền tải thông tin đến nhóm phát triển đó chính là trò chuyện trực tiếp.
7. Phần mềm hoạt động tốt là thước đo quan trọng nhất cho sự tiến bộ.
8. Các quy trình linh Agile thúc đẩy sự phát triển bền vững. Các nhà tài trợ, các nhà phát triển và khách hàng (người dùng) có thể duy trì một nhịp độ mang tính liên tục, xuyên suốt và không bị giới hạn.
9. Thường xuyên quan tâm đến kỹ thuật và thiết kế để gia tăng tính linh hoạt.
10. Sự đơn giản - nghệ thuật tối đa hóa hoạt động kinh doanh chưa hoàn thành - là điều cơ bản nhất.
11. Các kiến trúc tốt nhất, yêu cầu tốt nhất và thiết kế tốt nhất sẽ do các nhóm tự tổ chức thực hiện.
12. Các nhóm phát triển không ngừng suy nghĩ về cách làm thế nào để hiệu quả hơn, sau đó họ điều chỉnh và thay đổi hành vi của mình cho phù hợp.
Như đã đề cập chi tiết ở trên, phương pháp Agile có nhiều cách thực hành nhưng tất cả chúng đều có chung một triết lý. Phương pháp Agile được sử dụng phổ biến nhất đó là:
Scrum: Theo Scrum Guide (tài liệu hướng dẫn Scrum) được đồng sáng lập bởi Ken Schwaber và Jeff Sutherland. Đây là một framework hướng đến sự phát triển bền vững của các sản phẩm phức tạp. Được cho là một trong những phương pháp Agile quan trọng nhất, Scrum sử dụng các cơ chế lặp lại và tăng trưởng để tối ưu hóa hiệu quả đồng thời kiểm soát rủi ro.
=>Có thể thấy, trong số các phương pháp nhanh, Scrum là phổ biến nhất vì tính hiệu quả và tối ưu của nó. Các phương pháp lai với Scrum như Scrumban, Scrum và XP cũng chiếm gần ¾ mức độ phổ biến. Đây là lý do tại sao rất nhiều nhóm sử dụng Scrum để bắt đầu quá trình áp dụng phương pháp Agile.
Tính lặp lại - Iterative: Các dự án sẽ được thực hiện theo các giai đoạn lặp đi lặp lại (lặp lại hoặc chạy nước rút), thường với khung thời gian ngắn (1-4 tuần). Trong mỗi phần, nhóm phát triển thực hiện tất cả các công việc cần thiết như lên kế hoạch, phân tích yêu cầu của khách hàng, thiết kế, triển khai, thử nghiệm, để sản xuất các phần nhỏ của sản phẩm.
Tính tăng dần và tiến hóa - Incremental & Evolutionary: Vào cuối quá trình phân đoạn, nhóm sản xuất các phần nhỏ của sản phẩm cuối cùng, thường là hoàn chỉnh, có khả năng chạy tốt, được kiểm tra kỹ lưỡng và có thể ứng dụng được. Theo thời gian, các phân đoạn này sẽ tiếp nối với nhau. Các phần chạy được này sẽ lần lượt được tích lũy, lớn dần cho đến khi tất cả các nhu cầu của khách hàng được đáp ứng.
Khả năng thích ứng - adaptive: Do thời gian phân khúc ngắn và việc điều chỉnh kế hoạch liên tục, những thay đổi trong quá trình phát triển (yêu cầu thay đổi, thay đổi công nghệ, thay đổi theo định hướng, mục tiêu,...) đều có thể được điều chỉnh theo cách thích hợp nhất.
Nhóm tự tổ chức và đa chức năng: Các cấu trúc nhóm này tự phân công công việc mà không cần dựa trên các mô tả cứng về chức danh hoặc thiết lập hệ thống phân cấp rõ ràng trong tổ chức. Các nhóm tự tổ chức có đủ kỹ năng để đưa ra quyết định, quản lý bản thân và tổ chức công việc của họ để đạt hiệu quả tối đa.
Quản lý quá trình thực nghiệm - Empirical Process Control: Các nhóm Agile thường đưa ra quyết định dựa trên dữ liệu thực tế hơn là tính toán lý thuyết hay các giả định đã được thiết lập trước. Agile rút ngắn vòng đời phản hồi để dễ thích ứng và tăng tính linh hoạt nhằm kiểm soát tiến trình, nâng cao năng suất lao động.
Giao tiếp trực diện - Face-to-face Communication: Agile không chống lại việc tài liệu hóa mà là coi trọng việc giao tiếp mặt đối mặt hơn là thủ tục giấy tờ. Các phương pháp Agile khuyến khích nhóm phát triển trao đổi trực tiếp để hiểu rõ hơn về nhu cầu thực sự của khách hàng. Trong giao tiếp nội bộ nhóm, Agile khuyến khích trao đổi trực tiếp và thỏa thuận về thiết kế hệ thống và đồng triển khai các chức năng cần thiết.
Phát triển dựa trên giá trị - Value-based Development: Một trong những nguyên tắc cơ bản của nhanh nhẹn là "một sản phẩm hoạt động tốt là thước đo của sự tiến bộ". Các nhóm Agile thường làm việc trực tiếp và thường xuyên với khách hàng để hiểu yêu cầu nào có mức độ ưu tiên cao hơn nhằm mang lại nhiều giá trị hơn cho dự án đó càng nhanh càng tốt.
Đọc thêm: đội ngũ Ajisai luôn đồng hành cùng các bạn
Buổi đào tạo ngoài những bài giảng còn kết hợp với rất nhiều trò chơi bổ ích, tăng sự hứng khởi cho mỗi thành viên tham gia, ngoài ra, mỗi trò chơi đều là một bài học thiết thực để có thể rút ra được ý nghĩa khi áp dụng mô hình Agile/scrum trong công việc hay dự án của đội nhóm.
Các bạn học viên được tham gia trò chới rất vui nhộn và thiết thực
Buổi đào tạo một lần nữa được diễn ra vô cùng tốt đẹp, giúp các bạn TTS của trường ĐH GTVT học hỏi, năng cao kiến thức tư duy của bản thân để có thể áp dụng trong công việc tương lai.