MÔ HÌNH SCRUM (Post lại)


Tài liệu không có tiêu đề

TÌM HIỂU VỀ MÔ HÌNH SCRUM

1 Tìm hiểu về phương thức agile:

1.1 Agile là gì ?

1.2 Các tuyên ngôn của Agile :

1.3 Những nguyên tắc của Agile

2. Tìm hiểu Scrum

2.1 Scrum là gì ?

2.2. Ba chân (hay giá trị cốt lõi) của Scrum

2.2.1 Minh bạch (transparency):

2.2.2 Thanh tra (inspection)

2.2.3 Thích nghi (adaptation

2.3 Một số ưu điểm, nhược điểm đặc điểm của Scrum:

2.3.1 Ưu điểm :

2.2.3 Nhược điểm:

3. Quy trình của Scrum :

4. Công cụ Scrum :

4.1 Product backlog :

4.2 Sprint backlog:

4.3. Burndown Chart:

5. Các cuộc họp trong crum:

5.1 Sprint Planning (Họp Kế hoạch Sprint):

5.2 Daily Scrum (Họp Scrum hằng ngày):

5.3 Sprint Review (Họp Sơ kết Sprint):

5.4 Sprint Retrospective (Họp Cải tiến Sprint):

6. Các vai trò sau :

6.1 ScrumMaster :

6.2 Product Owner:

6.3 Team :

6.4 User :

6.5 Stakeholders:

7. Scrum vận hành như thế nào ?

8. Mô hình Scrum:

9. So sánh mô hình thác nước với mô hình Scrum.

10. Tài liệu tham khảo


Mô hình Scrum

Khi tôi viết bài này thì tôi cũng có tìm hiểu về mô hình Scrum trên mạng có rất nhiều nhưng quả thật để đọc và hiểu về mô hình thật là một vấn đề không dễ lúc đầu tôi đọc suốt đọc suốt mình thật sự cũng có được nghe giảng qua nhưng chưa hiểu rồi tôi tiếp tục tìm thêm tài liệu trên mạng về vấn đề này .

Để đi vào vấn đề thì bạn cần hiểu về aglie là gì ? Tại sao mô hình này được gắn với phương thức agile, Scrum là gì, các ưu nhược điểm? Liệu rằng đọc xong tài liệu nào đó bạn thực sự đã hiểu về mô hình? Cách thức hoạt động của mô hình thế nào? Trong mô hình có những ai tham gia? Trước mô hình này đã có mô hình khác, mô hình này đã là được nâng cao từ các mô hình khác như thế nào? Mình có lúc tự đặt quá nhiều câu hỏi rồi không biết trả lời thế nào ? những lúc đó mình đi hỏi đi tìm tài liệu và quả là không đơn giản để hiểu cặn kẽ một vấn đề mà mình là người bước vào nghề với vị trí tester, mình cũng mong qua bài này có gì sai các anh chị đóng gióp thêm cho mình nha kiến thức vô bờ khi ta tìm được gì đó là giống như lượng được một hạt cát nhỏ trên xa mạc vô tận vậy ,

Thôi nói quá nhiều rồi giờ đi vào vấn đề chính, có mấy vấn đề như đã nói ở trên muốn hiểu phải tìm hiểu khái niệm Scrum bạn trước tiên phải biết về agile, qua vài điều sau , agile là gì các tuyên ngôn của agile và nguyên tắc của agile.

1 TÌM HIỂU VỀ PHƯƠNG THỨC AGILE:

1.1 AGILE LÀ GÌ ?

Agile là Phương thức phát triển phần mềm linh hoạt (Agile Software Development) trong vòng đời phát triển phần mềm và đã trở nên phổ biến trong ngành phát triển phần mềm hiện nay.

1.2 CÁC TUYÊN NGÔN CỦA AGILE :

  • Cá nhân và sự tương hỗ quan trọng hơn quy trình và công cụ”
  • Sản phẩm xài được quan trọng hơn tài liệu về sản phẩm”
  • Cộng tác với khách hàng quan trọng hơn đàm phán hợp đồng”
  • Phản hồi với sự thay đổi quan trọng hơn bám theo kế hoạch”

1.3 NHỮNG NGUYÊN TẮC CỦA AGILE

  • Thỏa mãn yêu cầu của khách hàng thông qua việc giao hàng sớm và liên tục
  • Chào đón việc thay đổi yêu cầu, thậm chí là những thay đổi yêu cầu muộn
  • Giao phần mềm chạy được cho khách hàng một cách thường xuyên (giao hàng tuần hơn là hàng tháng)
  • Nhà kinh doanh và kỹ sư lập trình phải làm việc cùng nhau hàng ngày trong suốt dự án
  • Các dự án được xây dựng xung quanh những cá nhân có động lực. Cung cấp cho họ môi trường và sự hỗ trợ cần thiết, và tin tưởng họ để hoàn thành công việc
  • Trao đổi trực tiếp mặt đối mặt là phương pháp hiệu quả nhất để truyền đạt thông tin
  • Phần mềm chạy được là thước đo chính của tiến độ
  • Phát triển bền vững và duy trì được nhịp độ phát triển liên tục
  • Liên tục quan tâm đến kĩ thuật và thiết kế để cải tiến sự linh hoạt
  • Sự đơn giản là cần thiết – nghệ thuật tối đa hóa lượng công việc chưa hoàn thành
  • Nhóm tự tổ chức
  • Thích ứng thường xuyên với sự thay đổi

Trên mình đã giới thiệu sơ qua về agile , sau đây cùng tìm hiểu về Scrum, quy mô và quy trình của nó như thế nào nhé.

2. TÌM HIỂU SCRUM

2.1 SCRUM LÀ GÌ ?

Scrum là một phương pháp linh hoạt (agile), được áp dụng phổ biến, vì thế nó tuân thủ các nguyên tắc của Agile Manifesto (xem thêm Tuyên ngôn Agile) với các đặc điểm lặp và gia tăng cho phép các tổ chức điều chỉnh nhanh chóng khi có sự thay đổi các yêu cầu .

2.2. BA CHÂN (HAY GIÁ TRỊ CỐT LÕI) CỦA SCRUM

Ngoài ra Scrum hoạt động dựa trên ba giá trị cốt lõi, còn gọi là Ba chân của Scrum bao gồm Minh bạch, Thanh tra và Thích nghi.

2.2.1MINH BẠCH (TRANSPARENCY):

Trong Scrum, tính minh bạch được đề cao như là giá trị cốt lõi cơ bản nhất. Muốn thành công với Scrum, thông tin liên quan tới quá trình phát triển phải minh bạch và thông suốt. Các thông tin đó có thể là: tầm nhìn (vision) về sản phẩm, yêu cầu khách hàng, tiến độ công việc, các khúc mắc và rào cản v.v. Từ đó mọi người ở các vai trò các nhau có đủ thông tin cần thiết để tiến hành các quyết định có giá trị để nâng cao hiệu quả công việc. Các công cụ và cuộc họp trong Scrum luôn đảm bảo thông tin được minh bạch cho các bên.Sự minh bạch yêu cầu các yếu tố này cần được định nghĩa theo một tiêu chuẩn để những người quan sát có thể hiểu những gì họ thấy theo cùng một cách.

Ví dụ:

  • Một ngôn ngữ chung về quy trình cần phải được chia sẻ cho tất cả các bên tham gia.
  • Một định nghĩa chung về “Hoàn thành”1 phải được chia sẻ bởi những người đảm đương công việc và những người chấp nhận sản phẩm của công việc đó.

2.2.2 THANH TRA (INSPECTION)

Người sử dụng Scrum phải thường xuyên thanh tra các đồ nghề và tiến độ đến đích để phát hiện các bất thường không theo ý muốn. Tần suất thanh tra không nên quá dày để khỏi ảnh hưởng đến công việc. Công tác thanh tra có ích nhất khi được thực hiện bởi người có kĩ năng tại các điểm quan trọng của công việc.

2.2.3 THÍCH NGHI (ADAPTATION)

Nếu một người thanh tra xác định được rằng có vấn đề nào đó vượt quá giới hạn cho phép, và hậu quả của vấn đề đó đối với sản phẩm là không thể chấp nhận được, thì quy trình hoặccác vật liệu được xử lý (processed material) phải được điều chỉnh. Sự điều chỉnh phải được tiến hành càng sớm càng tốt để giảm thiểu các sai sót khác có thể xảy ra.Scrum cung cấp bốn cơ hội chính thức cho việc thanh tra và thích nghi trong. Scrum có thể phản hồi lại các thay đổi một cách tích cực, nhờ đó mang lại thành công cho dự án.các Sự kiện Scrum, bao gồm:

  • Buổi Họp Kế hoạch Sprint (Sprint Planning Meeting)
  • Họp Scrum hằng ngày (Daily Scrum)
  • Sơ kết Sprint (Sprint Review)
  • Cải tiến Sprint (Sprint Retrospective)

2.3 MỘT SỐ ƯU ĐIỂM, NHƯỢC ĐIỂM ĐẶC ĐIỂM CỦA SCRUM:

2.3.1 CÁC ĐẶC ĐIỂMCỦA SCRUM

  • Là một khuôn khổ quy trình nhẹ phù hợp với sự phát triển nhanh.
  • Là được sử dụng rộng rãi.
  • Thường áp dụng để quản lý phần mềm phức tạp và phát triển sản phẩm, dùng lặp đi lặp lại và gia tăng
  • Giảm thời gian dành cho quản lý, tăng thời gian dành cho việc phát triển,Tăng chất lượng sản phẩm và so với các mô hình cổ điển như mô hình thác nước
  • Cho phép các tổ chức dễ điều chỉnh khi có sự thay đổi yêu cầu nhanh chóng, và sản xuất ra một sản phẩm đáp ứng mục tiêu kinh doanh phát triển.

2.3.2 ƯU ĐIỂM:

  • Một người có thể làm nhiều việc ví dụ như dev có thể test
  • Phát hiện lỗi sớm hơn rất nhiều so với các phương pháp truyền thống
  • Khách hàng nhanh chóng thấy được sản phẩm qua đó đưa ra phản hồi sớm.
  • Có khả năng áp dụng được cho những dự án mà yêu cầu khách hàng không rõ ràng ngay từ đầu.

2.2.3 NHƯỢC ĐIỂM:

  • Trình độ của nhóm là có một kỹ năng nhất định
  • Phải có sự hiểu biết về mô hình aglie .
  • Khó khăn trong việc xác định ngân sách và thời gian.
  • Luôn nghe ý kiến phản hồi từ khách hàng và thay đổi theo nên thời gian sẽ kéo dài khi có quá nhiều yêu cầu thay đổi từ khách hàng.
  • Vai trò của PO rất quan trọng, PO là người định hướng sản phẩm. Nếu PO làm không tốt sẽ ảnh hưởng đến kết quả chung

3. QUY TRÌNH CỦA SCRUM :

Scrum chia dự án thành các vòng lặp phát triển gọi là các sprint. Mỗi sprint thường mất 2- 4 tuần (30 ngày) để hoàn thành. Nó rất phù hợp cho những dự án có nhiều sự thay đổi và yêu cầu tốc độ cao.

Một sprint hoàn thành một chức năng , mục đích nào đó trong toàn hệ thống .Các nhiệm vụ của sprint được chia thành danh mục, đội phát triển sẽ làm việc và đánh giá lại sao cho đạt mục tiêu ban đầu trong khoảng thời gian đề ra.

4. CÔNG CỤ SCRUM :

4.1 PRODUCT BACKLOG :

Đây là danh sách ưu tiên các tính năng (feature) hoặc đầu ra khác của dự án, có thể hiểu như là danh sách yêu cầu (requirement) của dự án. Product Owner chịu trách nhiệm sắp xếp độ ưu tiên cho từng hạng mục (Product Backlog Item) trong Product Backlog dựa trên các giá trị do Product Owner định nghĩa (thường là giá trị thương mại – business value)

 

User stories

Business Priority

Story Point

A

1

5

B

2

6

C

3

9

D

4

1

 4.2 SPRINT BACKLOG:

Đây là bản kế hoạch cho một Sprint; là kết quả của buổi họp lập kế hoạch (Sprint Planning). Với sự kết hợp của Product Owner, nhóm sẽ phân tích các yêu cầu theo độ ưu tiên từ cao xuống thấp để hiện thực hóa các hạng mục trong Product Backlog dưới dạng danh sách công việc (TODO list).

4.3. BURNDOWN CHART:

Đây là biểu đồ hiển thị xu hướng của dự án dựa trên lượng thời gian cần thiết còn lại để hoàn tất công việc,dùng để theo dõi tiến độ của Sprint (được gọi là Sprint Burndown Chart) hoặc của cả dự án (Project Burndown Chart).

 5. CÁC CUỘC HỌP TRONG CRUM:

Nhằm tạo ra môi trường của sự hợp tác gần gũi giữa team member và product owner để phát triễn sản phẩm sẽ có 4 cuộc họp

Trước khi Sprint bắt đầu (Sprint Planning), trong khi Sprint diễn ra (Daily Scrum) và sau khi Sprint kết thúc (Sprint Review và Sprint Retrospective).

5.1 SPRINT PLANNING (HỌP KẾ HOẠCH SPRINT):

Nhóm phát triển gặp gỡ với Product Owner để lên kế hoạch làm việc cho một Sprint (xem thêm phần Sprint bên dưới). Công việc lập kế hoạch bao gồm việc chọn lựa các yêu cầu cần phải phát triển, phân tích và nhận biết các công việc phải làm kèm theo các ước lượng thời gian cần thiết để hoàn tất các tác vụ. Scrum sử dụng cách thức lập kế hoạch từng phần và tăng dần theo thời gian, theo đó, việc lập kế hoạch không diễn ra duy nhất một lần trong vòng đời của dự án mà được lặp đi lặp lại, có sự thích nghi với các tình hình thực tiễn trong tiến trình đi đến sản phẩm.

5.2 DAILY SCRUM (HỌP SCRUM HẰNG NGÀY):

Scrum Master tổ chức cho Đội sản xuất họp hằng ngày trong khoảng 15 phút để Nhóm Phát triển chia sẻ tiến độ công việc cũng như chia sẻ các khó khăn gặp phải trong quá trình phát triển phần mềm suốt một Sprint. Trong cuộc họp mỗi người sẽ trả lời 3 câu hỏi sau:

  • Hôm qua đã làm gì?
  • Hôm nay sẽ làm gì?
  • Có khó khăn trở ngại gì không?

5.3 SPRINT REVIEW (HỌP SƠ KẾT SPRINT):

Cuối Sprint, nhóm phát triển cùng với Product Owner sẽ rà soát lại các công việc đã hoàn tất (DONE) trong Sprint vừa qua và đề xuất các chỉnh sửa hoặc thay đổi cần thiết cho sản phẩm.· Sprint Retrospective (Họp Cải tiến Sprint)Dưới sự trợ giúp của Scrum Master, nhóm phát triển sẽ rà soát lại toàn diện Sprint vừa kết thúc và tìm cách cải tiến quy trình làm việc cũng như bản thân sản phẩm.

5.4 SPRINT RETROSPECTIVE (HỌP CẢI TIẾN SPRINT):

Dưới sự trợ giúp của Scrum Master, nhóm phát triển sẽ rà soát lại toàn diện Sprint vừa kết thúc và tìm cách cải tiến quy trình làm việc cũng như bản thân sản phẩm. Trong buổi họp các vấn đề xoay quanh là :

  • Những việc nào chúng ta nên bắt đầu làm
  • Những việc nào chúng ta không nên làm tiếp
  • Những việc nào chúng ta nên duy trình làm tiếp

6. CÁC VAI TRÒ SAU :

6.1 SCRUMMASTER : (KIỂM THỬ HOẶC LẬP TRÌNH)

Người chịu trách nhiệm làm cho quy trình chạy trơn tru, để loại bỏ những trở ngại mà tác động đến năng suất, và tổ chức, tạo điều kiện cho các cuộc họp quan trọng. Có hiểu biết về quy trình một cách cặn cẽ

6.2 PRODUCT OWNER:(KHÁCH HÀNG HOẶC QUẢN LÝ)

Người quản lý người cung cấp yêu cầu “, nguồn tin duy nhất của chân lý” cho nhóm liên quan đến yêu cầu và kế hoạch của họ để triển khai thực hiển. Người có mọi quyền quyết định có thể thực hiện sprint hay loại bỏ sprint, một người biết về yêu cầu rõ nhất.

6.3 TEAM :

Một tự tổ chức và sự liên quan giữa các bộ phận phát triển và thử nghiệm, những người làm làm việc bằng tay để ra sản phẩm; chịu trách nhiệm sản xuất sản phẩm.

6.4 USER :

người sử dụng sản phẩm

6.5 STAKEHOLDERS:

có thể đội hỗ trợ, khách hàng

7. SCRUM VẬN HÀNH NHƯ THẾ NÀO ?

Product Owner tạo ra Product Backlog chứa các yêu cầu của dự án với các hạng mục được sắp theo thứ tự ưu tiên. Đội sản xuất sẽ thực hiện việc hiện thực hóa dần các yêu cầu của Product Owner với sự lặp đi lặp lại các giai đoạn rút từ 1 đến 4 tuần làm việc (gọi Là Sprint) với đầu vào là các hạng mục trong Product Backlog, đầu ra là các gói phần mềm hoàn chỉnh có thể chuyển giao được (Potentially Shippable Product Increment).

  • Khởi đầu sprint là Start sprint meeting, đội sản xuất cùng họp với Product Owner (PO), PO giải thích cho đội dự án về những yêu cầu . Team cùng làm việc với PO để đưa ra một Sprint Backlog bao gồm những thông tin: Task, priority, estimation, đánh giá mức độ khó của từng task, phân chia công việc (Cả 2 sẽ thống nhất những gì có thể làm trong sprint hiện tại).=> Kết quả của buổi lập kế hoạch (theo cách làm của Scrum) là Sprint Backlog chứa các công việc cần làm trong suốt một Sprint.
  • Trong suốt quá trình thực hiện sprint, nhóm sẽ phải cập nhật Sprint Backlog và thực hiện công việc họp hằng ngày (Daily Scrum) để chia sẻ tiến độ công việc cũng như các vướng mắc trong quá trình làm việc cùng nhau. Mỗi thành viên sẽ nói nhanh gọn về những gì đã làm trong ngày hôm trước, những gì sẽ làm và những khó khăn trong lúc thực hiện các task được phân công. Nhóm được trao quyền để tự quản lí và tổ chức lấy công việc của mình để hoàn thành công việc trong Sprint.
  • Khi kết thúc Sprint team sẽ có buổi họp Sơ kết Sprint (Sprint Review) ở cuối Sprint, Team sẽ demo những gì đã làm, chức năng hoàn chỉnh, sẵn sàng chuyển giao (shippable) cho PO. PO sẽ đánh giá những gì Team làm có đúng với yêu cầu không và đưa ra Feedback (nếu PO là BA thì cần phải trao đổi với khách hàng nếu cần). Những feedback của khách hàng (bao gồm cả lỗi) sẽ được đưa vào sprint tiếp theo. =>sẽ giúp khách hàng thấy được nhóm đã có thể chuyển giao những gì, còn những gì phải làm hoặc còn gì phải thay đổi hay cải tiến.
  • Sau khi kết thúc việc đánh giá Sprint, Scrum Master và nhóm cùng tổ chức họp Cải tiến Sprint (Sprint Retrospective) để tìm kiếm các cải tiến trước khi Sprint tiếp theo bắt đầu, điều này sẽ giúp nhóm liên tục học hỏi và trưởng thành qua từng Sprint.

Các Sprint sẽ được lặp đi lặp lại cho tới khi nào các hạng mục trong Product Backlog đều được hoàn tất hoặc khi Product Owner quyết định có thể dừng dự án căn cứ tình hình thực tế. Do sử dụng chiến thuật “có giá trị hơn làm trước” nên các hạng mục mang lại nhiều giá trị hơn cho chủ dự án luôn được hoàn tất trước. Do đó Scrum luôn mang lại giá trị cao nhất cho người đầu tư cho dự án. Do quy trình luôn luôn được cải tiến, nhóm Scrum thường có năng suất lao động rất cao. Đây là hai lợi ích to lớn mà Scrum mang lại cho tổ chức.

8. VÍ DỤ SCRUM:

ví du: Bạn có một kế hoạch trong vòng 1 năm.

Tháng 1 chỉ có thể làm dc kế hoach #1, 2

Tháng 2 thì bạn chỉ làm #3 vì lý do làm việc khác

Tháng 3 thì bạn phải làm kết hoach#5 vì cái này quan trong trong tháng 3

Cho đến hết 1 năm

Sau đây bạn xác định product backlog, sprint backlog,

Product backlog là Kế hoạch 1 năm

Sprint backlog là kế hoạch trong từ tháng

Xác định khi nào thì ScrumMaster, Product owner, team tham gia vào Scrum,

ScrumMaster: đưa ra quy trình

Product owner: là người hiểu rõ yêu cầu

Team: tham gia khi sprint bắt đầu

9. SO SÁNH MÔ HÌNH THÁC NƯỚC VỚI MÔ HÌNH SCRUM.

http://luanvan.co/luan-van/de-tai-tim-hieu-ve-agile-project-management-53576/

 

Agile

Scrum

Linh hoạt

Cứng nhắc

Các bước chồng chất ko cần trình tự

Các bước tách biệt yêu cầu tuần tự

Luôn chấp nhận sự thay đổi

Rất hạn chế sự thay đổi

Không có kế hoạch cố định

Có kế hoạch từ ban đầu

Phù hợp với dự án chưa xác định mục tiêu cuối cùng

Dùng cho dự án mà có kế hoạch đầy đủ yêu cầu và mục tiêu

Biểu đồ so sánh tỉ lệ thành công của mô hình agile với mô hình waterfall

 

Nguồn: https://docs.google.com/document/d/1Woav-WLo-ot6OgOiOyuCql7YvXOUS3CujDnwQPOKbkU/edit?usp=sharing

 

 

Advertisements

Phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s