Đôi nét quen thuộc của Agile và cách 4 Manifesto được thể hiện trong các Scrum Event
Hiiiiiiiiiiiii, xin chào tất cả mọi người Lâu rồi Phương Nghi mới bắt đầu viết Blog lại vì Phương Nghi vừa bắt đầu một hành trình mới, một định hướng mới nên muốn chia sẻ với mọi người những điều hay ho mà mình đang tìm hiểu, nghiên cứu cũng như học hỏi thêm từ mọi người để cùng nhau trau dồi kiến thức
Và lần này, một chủ đề hoàn toàn mới mà Phương Nghi chưa viết về bao giờ : đó là AGILE và Scrum Event.
Với Blog đầu tiên về chuỗi chủ đề này, Phương Nghi sẽ hệ thống lại định nghĩa quen thuộc về Agile và 4 Manifesto, đây là những thông tin cực kì phổ biến mà bạn có thể dễ dàng tìm kiếm được trong thời gian gần đây. Agile được xem là một bước chuyển mình trong việc cải tiến chất lượng, hiệu quả cho tiến độ, qui trình công việc cũng như cộng tác giữa người với người.
Nào, hãy cùng đọc xem Phương Nghi sẽ mang lại cho mọi người những thông tin bổ ích gì với title Đôi nét quen thuộc của Agile và cách 4 Manifesto được thể hiện trong các Scrum Event nhé ?
Nhắc lại về định nghĩa của Agile
Agile được biết đến như một "siêu năng lực" được tạo ra và sẽ đáp ứng được sự thay đổi liên tục theo hoàn cảnh và điều kiện để đem lại sự thành công trong một môi trường không ổn định và đầy biến động về nhiều yếu tố
Các tác giả của Tuyên ngôn Agile đã chọn “Agile” làm "gương mặt đại diện" cho toàn bộ lí tưởng này, nhấn mạnh vào khả năng thích ứng và phản ứng nhanh nhạy với các sự thay đổi, điều rất quan trọng với định hướng của chúng ta về một qui trình hiệu quả và hiệu suất
Agile giúp bạn sẽ hiểu ra bạn đang làm gì, sẽ làm gì và định hướng được hướng đi một cách hiệu quả và thay đổi nhanh tuỳ theo sự thay đổi
4 Manifesto cho Agile Software Development
Nguyên văn trích dẫn của 4 Manifesto như sau:
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
Dịch ra tiếng Việt sương sương sẽ như sau:
- Individuals and interactions over processes and tools: Cá nhân và sự tương tác hơn là quy trình và công cụ
- Working software over comprehensive documentation: Phần mềm chạy tốt hơn là tài liệu đầy đủ
- Customer collaboration over contract negotiation: Cộng tác với khách hàng hơn là đàm phán hợp đồng
- Responding to change over following a plan: Phản hồi với sự thay đổi hơn là bám theo kế hoạch
Và họ nhấn mạnh , giá trị bên trái quan trọng hơn, nhưng cũng phải chú ý đến giá trị của cột bên phải, họ đưa ra sự so sánh chứ không hề bác bỏ, đó là điều chúng ta cần cân nhắc và kết hợp để thực hiện đúng Manifesto, đem lại hiệu quả, hiệu suất mong muốn cho qui trình và sản phẩm
Các phương pháp Agile
Phương Nghi nghĩ là có kha khá bạn nhầm về hai khái niệm Agile và Scrum, chúng ta cần tách bạch ra nhé, Agile là Agile, còn Scrum là Scrum Vậy theo ý nghĩa của bạn trước khi đọc đến dòng này , bạn nghĩ Agile lớn hơn hay là Scrum qui mô lớn hơn ? Để trả lời thì chúng ta cùng xem một biểu đồ nho nhỏ mà Phương Nghi đã vi mô cho các bạn hiểu hơn nha
Theo các số liệu hiện hành hiện nay, SCRUM được xem là QUÁN QUÂN trong những phương pháp triển khai AGILE hiệu quả và được người sử dụng tin dùng nhất hiện nay, và chắc hẳn là được nhắc đến nhiều nhất nữa, vì mình có làm một khảo sát nhỏ thì mọi người nghe nhiều nhất đến SCRUM và KANBAN thôi, số rất ít còn lại biết đến các phương pháp còn lại, và hôm nay chúng ta cũng sẽ đi đào sâu về SCRUM thôi nhé
Bài viết này dành cho các bác đã hiểu rõ về Scrum , về Sprint và các Scrum Event nhé ạ
4 Manifesto được thể hiện trong các Scrum Event
Rồi, trước tiên đào sâu nghiên cứu vấn đề này, chúng ta tự làm bài test bằng một câu hỏi nhỏ nào : "SCRUM EVENT gồm bao nhiêu Event chính thức mỗi Sprint ?"
Đáp án chính xác sẽ là 4 nhé :
- Sprint Planning Meeting
- Daily Scrum Meeting
- Sprint Review Meeting
- Sprint Retrospective MeetingVà có một sự kiện vẫn được thực hiện hằng Sprint nhưng không được đưa vào là 1 Event chính thức trong SCRUM ( chỉ trong Scrum nha , một số phương pháp khác thì được lên hàng chính luôn ạ , mình sẽ cập nhật ở bài viết khác) : Refinement
Và bây giờ chúng ta sẽ thử phân tích xem 4 Manifesto được thể hiện trong các Scrum Event như thế nào nhé, và hôm nay Phương Nghi sẽ chỉ phân tích cho sự kiện Daily Scrum Meeting, mọi người hãy thử áp dụng và phân tích cho các Event khác để có Reflection của riêng mình nhé
Individuals and interactions over processes and tools: Cá nhân và sự tương tác hơn là quy trình và công cụ
Working software over comprehensive documentation: Phần mềm chạy tốt hơn là tài liệu đầy đủ
Customer collaboration over contract negotiation: Cộng tác với khách hàng hơn là đàm phán hợp đồng
Responding to change over following a plan: Phản hồi với sự thay đổi hơn là bám theo kế hoạch
- Individuals and interactions over processes and tools Ở Daily Meeting với sự tham gia của Team nhà phát triển, các thành viên sẽ chia sẻ với nhau về : Hôm qua làm gì, hôm nay làm gì, có khó khăn gì không? giúp tăng sự tương tác giữa các thành viên, các thành viên được chủ động trong việc chia sẻ về tiến độ của bản thân để đáp ứng với Phần sẽ được chuyển giao vào cuối Sprint, được chia sẻ khó khăn để cả team có hướng giải quyết sau buổi Daily Meeting. Đây là giá trị mang lại ở vế trái Individuals and interactions. Rõ ràng DM mục đích tạo ra để cả team có cơ hội được tương tác với nhau, hiểu được tiến độ công việc của cả team qua chia sẻ của các cá nhân, cá nhân đưa ra những khó khăn để mọi người giúp đỡ nhau chứ không phải là buổi báo cáo công việc cho SM. SM trong Event này chỉ có nhiệm vụ duy trì buổi họp này diễn ra tốt đẹp và mọi người đều chia sẻ tiến độ Nhưng để có một buổi Daily Meeting thành công và trọn vẹn, chúng ta sẽ cần một CÔNG CỤ, ở đây có thể đề cập đến phòng họp , trong trường hợp phải Remote như hiện nay thì phải chuẩn bị Link meeting bằng Zoom hoặc Meet hoặc các ứng dụng phục vụ cho phiên meeting. Thái độ của SM là cực kì quan trọng để cùng hướng đến mục tiêu có xây dựng một team có khả năng tự quản: hãy đưa cho họ mục tiêu chung, hãy tạo động lực cho họ để chỉa sẻ đủ thông tin để phát hiện kịp thời các rủi ro và sự bất đồng thuận
- Working software over comprehensive documentation Một tài liệu đầy đủ nhưng chỉ có tài liệu, không có giá trị cụ thể để Khách hàng có thể thấy được qua Phần tăng trưởng ở cuối mỗi Sprint là điều nên tránh. Đó là lí do chúng ta cần chia sẻ với nhau trong Daily Meeting thông qua Hôm qua làm gì, hôm nay làm gì, có khó khăn gì không? để có thể đảm bảo chúng ta đang có một Working Software. Ở đây theo ý kiến của Nghi chúng ta sẽ bàn nhiều hơn về cách trình bày để mọi người đều nắm được thông tin của nhau: Khi trình bày, rất nhiều người thường có thói quen chỉ đề cập đến: - công việc này tôi đã hoàn thành - tôi hôm nay dự định sẽ dùng task này Và các thành viên không có sự chủ động và tự tin , chưa ý thức được do đó là công việc của cá nhân và sẽ tác động đến tiến độ của cả team. Và thực sự cũng rất khó cho người khác theo dõi được công việc của người đang trình bày Do đó, chúng ta nên tạo thói quen: Khi trình bày mọi người nên nói rõ ràng các công việc mình đang đảm nhiệm. Ví dụ : "tôi đã làm task A, hôm nay đang implement task B, nhưng có khó khăn ở điểm C, tôi đã tìm hiểu thì lí do là ..... tôi có solution này ...." điều này biểu hiện cho một "working software" đang được thực thi và tiến hành Những điều tưởng chừng như rất nhỏ cũng sẽ góp phần to lớn giúp team trở thành một team tương tác tốt, làm việc hiệu quả hơn.
- Customer collaboration over contract negotiation Nhóm nhà phát triển được chủ động trong việc sử dụng công nghệ và kĩ thuật, cộng tác với khách hàng để đưa ra sự lựa chọn tốt nhất tuỳ vào thời điểm và điều kiện sẵn có, để mang lại giá trị cao nhất có sản phẩm và tiến trình công việc và ý kiến khách hàng sẽ được tôn trọng, đáp ứng điều kiện biến động mà team đã cam kết ngay từ khi bắt đầu dự án và chia sẻ với nhau trong Daily meeting
- Responding to change over following a plan Với Daily meeting, nếu có sự thay đổi và cải tiến từ khách hàng hay từ phía nhóm Nhà phát triển, nhóm có thể chia sẻ với nhau để nắm được thông tin kịp thời, nhanh chóng và kịp chuẩn bị cho đúng tiến độ dự án, tránh miss thông tin và đem lại giá trị mong muốn cho phần chuyển giao. Để đạt được điều này, các thành viên cần có thái độ chủ động và cởi mở cho các sự thay đổi và có hướng giải quyết để giải quyết để tránh overload và đáp ứng được sự thay đổi
Cảm ơn mọi người đã theo dõi
Toàn bộ nội dung trên đây là Phương Nghi tự tìm hiểu và đúc kết ra được, mong nhận được sự góp ý của mọi người để chúng ta cùng hiểu rõ hơn về SCRUM và AGILE, cũng như thực hành SCRUM tốt hơn nhé~!
Chào tạm biệt và hẹn gặp lại ở Blog khác với những chủ đề hay ho hơn về Agile và Scrum nha~?