Tổng quan chi tiết về 12 nguyên tắc Agile và 4 giá trị cốt lõi
Để có thể giúp gợi ý cho các nhà phát triển, quản lý dự án trong việc thực hành và áp dụng phương pháp Agile trong thực tiễn thì ta cần hiểu rõ về thông tin chi tiết, cụ thể của 4 giá trị cốt lõi và 12 nguyên tắc agile. Nhờ các nguyên tắc trên ta sẽ hiểu rõ được mối liên hệ của từng giá trị và dễ dàng hơn trong việc vận dụng phương pháp quản lý agile vào thực tế. Hãy cùng FMIT tìm hiểu sâu hơn các nguyên tắc này qua bài viết bên dưới đây.
Bốn giá trị cốt lõi của tuyên ngôn Agile
Phương pháp Agile chính là cách mà nhà quản lý dự án chú trọng trong vòng lặp của sự phát triển và kiểm tra thử xuyên suốt vòng đời phát triển phần mềm của dự án.
Chính vì thế, phương pháp Agile Scrum đã đem đến và nhấn mạnh 4 giá trị cốt lõi cần có nhằm việc phát triển phần mềm gồm có:
-
- Sự tương tác và cá nhân được ưu tiên hơn công cụ, quy trình (Individual and Interactions Over Processes and Tools): Việc mọi người có liên quan kết nối, tương tác và làm việc với nhau hiệu quả sẽ quan trọng hơn là công cụ, quy trình.
- Sản phẩm phần mềm ưu tiên hơn tài liệu đầy đủ (Working Software Over Comprehensive Documentation): Giá trị của sản phẩm sẽ quan trọng hơn là tài liệu chi tiết xây dựng sản phẩm.
- Sự phối hợp của khách hàng ưu tiên hơn thỏa thuận hợp đồng (Customer Collaboration Over Contract Negotiation): Việc hợp tác suôn sẻ, tham gia liên tục vào việc phát triển sản phẩm sẽ hơn việc đàm phán trên hợp đồng ban đầu.
- Đối ứng với thay đổi hơn lên kế hoạch (Responding to Change Over Following a Plan): Việc ứng phó, phản hồi, xử lý các thay đổi được ưu tiên hơn trong việc lên kế hoạch.
Bạn có thể quan tâm: Scrum Master làm gì?
Tổng quan chi tiết về 12 nguyên tắc Agile
Sau đây là tổng quan 12 nguyên tắc Agile để ứng dụng trong việc triển phương pháp phát triển Agile Scrum:
Ưu tiên cao nhất việc làm hài lòng, thỏa mãn của khách hàng thông qua bàn giao phần mềm/sản phẩm có giá trị trong thời gian sớm và liên tục
Nguyên tắc Agile gồm 3 điểm chính:
- Làm hài lòng khách hàng: Nên đặt tiêu chí làm hài lòng khách hàng hơn là chỉ tập trung lập và bám theo kế hoạch chi tiết ban đầu hoặc chỉ tuân thủ theo các quy định như vậy sẽ rất khó đáp ứng được các sự thay đổi yêu cầu liên tục từ khách hàng.
- Bàn giao sản phẩm sớm và liên tục: Việc đưa tới tay khách hàng càng sớm giúp cho việc nhận phản hồi từ phía khách hàng cũng sẽ được nhanh chóng. Nhờ đó sẽ giúp cho việc xây dựng và phát triển phần mềm.sản phẩm được hoàn thiện và tốt hơn, giải quyết được các yêu cầu, vấn đề của khách hàng nhanh chóng, tránh được trường hợp sản phẩm khác xa so với mong muốn.
- Phiên bản phần mềm/sản phẩm hoạt động tốt: Sản phẩm/phần mềm sau khi bàn giao nên được hoạt động tốt và mang lại các giá trị lợi ích cho khách hàng.
Sẵn sàng cho những thay đổi yêu cầu, thậm chí rất muộn trong quá trình phát triển, giúp gia tăng lợi thế cạnh tranh của khách hàng
Để gia tăng được tính cạnh tranh cho khách hàng thì việc đòi hỏi thay đổi về tính năng so với ban đầu của phần mềm quản lý người dùng (không gồm chatbot) sẽ là điều tất yếu. Tuy nhiên, thay vì làm theo tất cả các yêu cầu khách hàng đưa ra thì ta nên tìm hiểu yêu cầu, tư vấn và đưa ra các giải pháp xử lý phù hợp cho từng trường hợp cụ thể, giúp việc phát triển phần mềm/sản phẩm được tốt hơn.
Thường xuyên chuyển giao, cung cấp phần mềm hoạt động tốt tới khách hàng (trong khoảng vài tuần đến vài tháng, ưu tiên thời gian ngắn hơn)
Để hạn chế việc phản tác dụng trong công việc hay kết quả không còn phù hợp với nhu cầu khách hàng nữa thì cần thực hiện việc thường xuyên lấy ý kiến phản hồi sớm để khách hàng có thể tiếp cận với sản phẩm/phần mềm nhanh chóng.
Bên cạnh đó, việc bàn giao sản phẩm/phần mềm trong thời gian ngắn sẽ tạo được lợi ích trong việc gắn kết giữa team Agile và khách hàng.
Nhà kinh doanh và đội ngũ phát triển luôn phải làm việc cùng nhau mỗi ngày trong suốt dự án
Thay vì trao đổi với nhau qua điện thoại, email thì việc gặp nhau trực tiếp (face-to-face) sẽ đem lại hiệu quả công việc được tốt nhất. Khi gặp trực tiếp thường xuyên như vậy sẽ giúp team Agile hiểu rõ hơn về kỳ vọng, mong muốn và kế hoạch của khách hàng, từ đó đưa ra được các giải pháp phù hợp để áp dụng vào sản phẩm/phần mềm. Nếu không thể gặp gỡ hàng ngày thì cố gắng ít nhất 2 – 3 ngày/lần.
Bạn có thể quan tâm: Quản lý dự án theo mô hình Agile
Xây dựng dự án xung quanh cho những cá nhân có động lực, cung cấp môi trường và sự hỗ trợ cần thiết, luôn tạo sự tin tưởng để hoàn thành công việc
Đât là một nguyên tắc Agile quan trọng bởi con người là nhân tố quan trọng và cần thiết trong mọi vấn đề. Cần tạo điều kiện hỗ trợ, đãi ngộ, động viên, tin tưởng vào nhân lực của nhóm sẽ giúp đem lại năng suất làm việc được hiệu quả hơn. Nguyên tắc Agile này nhấn mạnh tầm quan trọng trong việc quản lý công việc, tự tổ chức và đề cao sự hợp tác khi làm việc cá nhân hay theo nhóm, giúp hỗ trợ lẫn nhau được tốt hơn, đem lại hiệu quả cao trong việc.
Đối thoại trực tiếp là phương pháp hữu hiệu nhất trong việc truyền đạt thông tin cần thiết tới nội bộ nhóm phát triển
Việc đối thoại trực tiếp sẽ giúp tiết kiệm thời gian ghi chép lại các quyết định, thảo luận,… giúp trao đổi thông tin nhanh chóng, biểu đạt đầy đủ ý nghĩ thông điệp cần truyền tải. Nếu Team Agile quá lớn thì cần cân nhắc cử đại diện theo từng nhóm nhỏ hoặc buộc phải trao đổi qua email, chat, tài liệu,… Đây là một nguyên tắc Agile cần chú trọng tới.
Thước đo chính xác của tiến độ công việc là phần mềm hoạt động tốt
Để đo lường được tiến độ dự án theo Agile thì có thể xác định bằng việc đo lường và kiểm tra thử tình trạng hoạt động của phần mềm/sản phẩm, nếu chưa được thì đó có nghĩa là chưa hoàn thành. Việc bàn giao sản phẩm/phần mềm hoạt động được sẽ giúp khách hàng hiểu chính xác được sự phát triển và tiến độ của chúng.
Các quy trình linh hoạt thúc đẩy sự phát triển bền vững và liên tục
Việc duy trì tốc độ bền vững là cách để đạt được năng suất làm việc một cách cao nhất, giúp các thành viên trong nhóm duy trì được sự cân bằng giữa cuộc sống và công việc. Nên hạn chế tăng ca, làm việc với thời gian hợp lý, không làm thêm cuối tuần sẽ giúp các thành viên đỡ cảm thấy mệt mỏi, chán nản hoặc áp lực căng thẳng, có thể sẽ dẫn đến nghỉ việc. Nguyên tắc Agile này giúp cải thiện chất lượng làm việc của nhân lực được hiệu quả hơn.
Quan tâm đến kỹ thuật và thiết kế liên tục để tăng tính linh hoạt
Cần tiến hành thường xuyên quan tâm đến giữ cấu trúc cho dự án, các bản thiết kế luôn gọn gàng, dễ dàng thay đổi, giúp mang lại hiệu quả lâu dài trong việc bảo trì, thay đổi hay mở rộng phần mềm/sản phẩm. Nếu dự án không được hoàn thành đầy đủ thì nên cần thêm thời gian để tái cấu trúc, đơn giản hóa các bản thiết kế để lập lại trạng thái ổn định và dễ bảo trì về sau.
Sự đơn giản – nghệ thuật tối đa hóa lượng công việc chưa xong – là điều cần thiết, căn bản
Nên tập trung vào các việc đơn giản hóa mọi thứ từ các quy trình không cần thiết cho tới việc chia nhỏ những yêu cầu phức tạp, đơn giản hóa cấu trúc phần mềm, thiết kế, code để xây dựng và bảo trì dễ dàng. Thực hiện tìm kiếm các công việc không cần thiết phải làm và đề xuất loại bỏ hoặc thay thế, giúp team Agile tập trung vào việc mở rộng tính năng một cách đơn giản nhất.
Các kiến trúc, yêu cầu và thiết kế tốt nhất được tạo nên bởi nhóm tự tổ chức
Để thu được các giá trị tốt nhất thì trong một nhóm nên để mọi người tự tổ chức, quyết định và tự chịu trách nhiệm mọi thứ họ làm. Điều này nhấn mạnh tính chủ động của nhóm, có nhiều cơ hội tìm ra ý tưởng, phương pháp hay, tốt, tạo kết quả công việc được tốt hơn. Khi đó, nhóm sẽ là người tiếp cận và hiểu rõ nhất về từng phần của dự án, từ đó đưa ra được các đề xuất cải tiến phù hợp hơn. Tuy nhiên việc tự tổ chức phải nằm trong khuôn khổ, được hướng dẫn và đào tạo, việc đạt hiệu quả ra sao sẽ còn phụ thuộc vào năng lực và tư duy của từng người.
Thường xuyên tìm cách, phản ánh để tìm cách trở nên hiệu quả hơn và điều sao cho phù hợp
Sau mỗi vòng lặp dự án hay còn gọi là “Retrospective”, Team cần thường xuyên rà soát và hồi tưởng lại các bài học kinh nghiệm, chỗ nào cần cải tiến hay loại bỏ, các lỗi sai,… trong suốt thời gian qua để có thể điều chỉnh sớm, giúp team hoạt động được hiệu quả, tạo ra sản phẩm tốt và làm hài lòng được khách hàng.
Bài viết trên là tổng hợp chi tiết về 4 giá trị cốt lõi và 12 nguyên tắc Agile trong việc thực hành và áp dụng phương pháp quản lý Agile vào thực tiễn để đem tới hiệu quả tốt nhất. Bên cạnh đó, 12 nguyên tắc Agile còn giúp hỗ trợ trong việc tạo được năng suất làm việc và cải thiện mức độ làm việc của team, giúp rà soát, kiểm tra và trao đổi thông tin được dễ dàng, nhanh chóng. Nhờ những nguyên tắc Agile nêu trên đã giúp hình thành được tư duy theo Agile – Being Agile, hỗ trợ và cải thiện kỹ năng làm việc được tốt hơn.