Bài viết

Hoàn thành mọi việc với Kanban


Khóa học nâng cao hiệu quả công việc dành cho cá nhân.

Xem chi tiết tại: http://hocvienagile.com/agilemindset4u/

Scrum hoạt động như thế nào?


Video mô tả tổng quan về vòng đời phát triển một sản phẩm với mô hình Scrum. Các khái niệm được đề cập bao gồm:

Agile là gì? Scrum là gì?

Video giúp trả lời những câu hỏi tổng quan về Agile và Scrum như:

Talk AgileVietnam – Agile có thể giúp chúng ta những gì?

Tối qua tại Oza Tea, địa điểm quen thuộc tổ chức sự kiện hằng tháng của AgileVietnam, anh Dương Trọng Tấn – Giám đốc Học viện Agile, đồng sáng lập AgileVietnam và HanoiScrum – chia sẻ với cộng đồng Agile tại Hà Nội với chủ đề “Agile có thể giúp chúng ta những gì?”. Anh Tấn đã tái hiện cho gần 60 khách tham dự những diễn tiến của Agile trong gần hai thập kỉ vừa qua cùng với lịch sử phát triển phần mềm. Câu chuyện bắt đầu với câu hỏi tưởng chừng như đơn giản “Agile là gì?”, nhưng với 1/3 người tham dự lần đầu nghe đến, biết đến những thuật ngữ quen thuộc của Agile càng làm cho câu chuyện phía sau có sức hấp dẫn lớn với người tham dự.

Với những người làm Agile, hình ảnh chiếc ô Agile với hàng loạt các phương pháp bên dưới nó đã khá quen thuộc. Nên ai cũng chăm chú quan sát cái cây Agile dưới góc nhìn của diễn giả.

agile-umbrella agile-tree 

Câu chuyện tiếp diễn với thông tin thú vị về khởi nguồn phong trào Agile tại Mỹ qua việc xây dựng tòa nhà Empire State năm 1930.  Rồi đến những cuộc khủng hoảng về phương pháp dẫn đến sự nở rộ các phương pháp phát triển phần mềm những năm 90…

Cuối cùng diễn giả đưa người nghe về với câu chuyện Agile ở Việt Nam và công bố trang AgiPedia, một món quà đặc biệt Học viện Agile dành tặng các fan Agile:

AgiPedia-cloud-s

http://hocvienagile.com/agipedia

Đồng thời công bố dự án Vietnam Agile Outlook 2016, dự án về khảo sát hiện trạng Agile ở Việt Nam. Kết quả khảo sát sẽ công bố miễn phí cho cộng đồng, với mong muốn sẽ giúp mọi người có cái nhìn khái quát về Agile Việt Nam và dễ dàng có những quyết định phù hợp.

Dưới đây là một số hình ảnh của buổi tối thú vị này:

AVHN201604-6AVHN201604-1 AVHN201604-2AVHN201604-5AVHN201604-4AVHN201604-3

Slide của cuộc trò chuyện này:

Khóa học Pragmatic Scrum Tháng 3/2016 diễn ra thành công

Trong hai ngày 26,27/3/2016, với 21 học viên khóa học Pragmatic Scrum đã diễn ra thành công. Người học và giảng viên đã trải nghiệm với nhiều cung bậc khác nhau của cảm xúc. Sau đây là những hình ảnh sinh động về khóa học này:

Hình ảnh đầy đủ trên fanpage: Học viện Agile

Agipedia

ROI

ROI (Return On Invest) là tỷ suất hoàn vốn đầu tư hoặc tỷ lệ lợi nhuận. ROI được tính bằng tỉ lệ lợi nhuận ròng so với vốn đầu tư.

ROI = (Doanh thu – Chi phí) / Chi phí

Tổng quan Agile

Agile là một tập hợp các nguyên lý dành cho phát triển phần mềm, trong đó khuyến khích việc lập kế hoạch thích ứng, phát triển tăng dần, chuyển giao sớm, và cải tiến liên tục. Agile cũng chủ trương thích ứng nhanh chóng với các thay đổi. Những nguyên lý này được chia sẻ trong Tuyên ngôn Phát triển Phần mềm Linh hoạt và 12 Nguyên lý phía sau.

Agile không định nghĩa một phương pháp cụ thể để đạt được những điều này, nhưng lại có nhiều phương pháp phát triển phần mềm khác nhau thỏa mãn và hướng theo các tiêu chí đó.

Mục đích của các phương pháp Agile là giúp các doanh nghiệp đạt được sự linh hoạt (Agility), từ đó nâng cao sức cạnh tranh và phát triển bền vững. Các phương pháp Agile đã thay đổi diện mạo thế giới không chỉ trong Phát triển phần mềm mà còn đang thể hiện giá trị trong các lĩnh vực khác như Marketting (Agile Marketting), giáo dục (EduScrum, Lean Edu, v.v.), thiết kế (Lean UX, Design Thinking), khởi nghiệp (Lean Startup) và Phần cứng.

Lịch sử

Trong giai đoạn trước những năm 90 của thế kỷ 20, trên thế giới xảy ra cuộc khủng hoảng về phương pháp phát triển phần mềm. Lí do của việc này đó là phương pháp truyền thống ngày càng bộc lộ nhiều nhược điểm và tỉ thệ các dự án bị thất bại quá cao. Có rất nhiều các cá nhân và công ty riêng lẻ đã tự tìm tòi và phát triển những phương pháp khác nhau để thích ứng với tình hình mới, ở đó những yếu tố môi trường kinh doanh và công nghệ thay đổi nhanh chóng, khiến cho phương pháp phát triển truyền thống không còn phù hợp. Những phương pháp riêng lẻ này phần nào giải quyết được một số vấn đề, nhưng lại nảy sinh những vấn đề khác về sự chia sẻ, cộng tác, các kỹ thuật, công cụ, sự mở rộng, hướng phát triển,…

Do đó, Tháng 2 năm 2001, 17 lập trình viên là đại diện cho những phương pháp phát triển mới này đã gặp nhau tại Utah. Họ đã đi đến thống nhất về quan điểm chung giữa các phương pháp và cho ra đời một tài liệu được gọi là: Tuyên ngôn Phát triển Phần mềm Linh hoạt kèm với 12 nguyên lý phía sau. Đây chính là thời điểm mà thuật ngữ Agile được sử dụng hiện nay ra đời, mặc dù các phương pháp riêng lẻ thì đã có trước đó.

Đặc điểm

  • Lặp, tăng trưởng: Phần lớn các phương pháp Agile đều phân chia công việc thành các chu trình nhỏ và không lập một kế hoạch dài hạn. Mỗi chu trình đều thực hiện đầy đủ các công đoạn, từ lập kế hoạch cho đến phân tích và thiết kế, viết mã, kiểm thử, tích hợp để chuyển giao một phần tăng trưởng của sản phẩm.
  • Giao tiếp thường xuyên và hiệu quả: Mỗi nhóm đều cần đến một người đại diện khách hàng làm việc cùng (chẳng hạn, trong Scrum thì là Product Owner). Người này đại diện cho quyền lợi của những người liên quan và có trách nhiệm làm rõ tất cả các yêu cầu cho các nhà phát triển.
  • Vòng phản hồi ngắn và thích ứng thường xuyên: Các nhà phát triển thường xuyên trao đổi với nhau để cập nhật và đồng bộ công việc, phát hiện sớm các trở ngại và thích ứng với tình huống mới.
  • Hướng chất lượng: Nhiều kỹ thuật và công cụ được sử dụng để hướng đến việc nâng cao chất lượng sản phẩm, chẳng hạn như: Tích hợp Liên tục, Kiểm thử Đơn vị Tự động, Lập trình cặp, Phát triển Hướng Kiểm thử, Mẫu Thiết kế, Tái cấu trúc mã nguồn, v.v..

Các phương pháp Agile

Sau đây là danh sách các phương pháp Agile phổ biến (ngoài ra còn có một số phương pháp khác ít phổ biến hơn):

Xem thêm: Video: Agile/Scrum là gì?

Các tạo tác trong Scrum

Các tạo tác trong Scrum là những công cụ hoặc kết quả được tạo ra và sử dụng trong quá trình vận hành Scrum. Các tạo tác trong Scrum bao gồm:

  • Product Backlog: Là nơi lưu trữ danh sách các tính năng mong muốn của sản phẩm. Danh sách này được sắp xếp dựa trên độ ưu tiên của từng hạng mục. Các hạng mục có độ ưu tiên cao hơn nằm ở phía trên của danh sách và sẽ được Nhóm Phát triển lựa chọn để đưa vào sản xuất sớm, các hạng mục có độ ưu tiên thấp hơn sẽ nằm ở phía cuối của danh sách và được phát triển muộn hơn.
  • Sprint Backlog: Là bảng công việc được Nhóm Phát triển sử dụng để quản lý quá trình phát triển trong một Sprint. Sprint Backlog được Nhóm Phát triển tạo ra trong buổi Lập kế hoạch Sprint và cập nhật trong suốt Sprint. Sprint Backlog chứa danh sách các hạng mục được phát triển trong Sprint và các công việc cần làm tương ứng với từng hạng mục để hoàn thành nó.
  • Phần tăng trưởng: Là tên gọi ngắn của Phần tăng trưởng Sản phẩm Có khả năng Chuyển giao được (Potentially Shippable Product Increment) là phần sản phẩm Nhóm Phát triển tạo ra cuối mỗi Sprint.

Các sự kiện trong Scrum

Các sự kiện trong Scrum là những mốc thời gian để Nhóm Scrum tiến hành các hoạt động của mình. Mỗi sự kiện có một mục đích, ý nghĩa, thời gian, thành phần tham dự, và cách thức tổ chức khác nhau. Tất cả các sự kiện trong Scrum đều được đóng khung thời gian. Scrum có những sự kiện chính sau:

  • Sprint: Là khung thời gian ít hơn một tháng để Nhóm Scrum thực hiện tất cả những hoạt động cần thiết để sản xuất được một phần tăng trưởng của sản phẩm. Tất cả các sự kiện khác của Scrum đều được diễn ra trong khung thời gian của một Sprint.
  • Lập kế hoạch Sprint: Là sự kiện diễn ra ở đầu mỗi Sprint để chuẩn bị cho toàn bộ Sprint. Buổi Lập kế hoạch Sprint được chia làm 2 phần riêng biệt với 2 mục đích khác nhau. Phần 1 nhằm trả lời câu hỏi: “Chúng ta sẽ làm gì?”. Phần 2 nhằm trả lời câu hỏi: “Chúng ta sẽ làm như thế nào?”.
  • Scrum Hằng ngày: Là buổi trao đổi ngắn mà Nhóm Phát triển thực hiện đều đặn hằng ngày nhằm cập nhật và đồng bộ công việc giữa các thành viên. Sự kiện này cũng được coi là buổi tái-lập kế hoạch của Nhóm Phát triển.
  • Sơ kết Sprint: Là sự kiện diễn ra ở cuối Sprint nhằm thanh tra và thích nghi sản phẩm đang được xây dựng. Sự kiện này bao gồm 2 hoạt động chính đó là dùng thử sản phẩm và thảo luận về tình hình của sản phẩm, hướng đi tiếp theo và những điều chỉnh đối với sản phẩm nếu cần thiết.
  • Cải tiến Sprint: Là một sự kiện quan trọng trong Scrum diễn ra ngay sau buổi Sơ kết Sprint nhằm mục đích thanh tra và thích nghi quy trình làm việc. Nói cách khác đây là dịp để Nhóm Scrum nhìn lại quá trình làm việc của một Sprint và xác định những thay đổi cần thiết đối với quy trình để làm việc tốt hơn trong Sprint sau.

Nhóm Scrum

Nhóm Scrum là nhóm tự tổ chức và liên chức năng bao gồm Product Owner (PO), Nhóm Phát triểnScrumMaster. Mô hình Nhóm Scrum được thiết kế để tối ưu hóa sự linh hoạt, sáng tạo và năng suất.

Lưu ý: trong Nhóm Scrum không tồn tại thêm một chức danh nào khác những vai trò trên như quản lý dự án (PM).