Nếu bạn mới tiếp xúc với Agile và các khái niệm của Agile thì những lý giải nền tảng về Agile manifesto hay Agile Principles là rất cần thiết.
Trong khi Agile manifesto đề cập đến 4 giá trị cốt lõi của Agile, thì Agile Principles đề cập đến các thực hành định hướng, giúp cho team dễ dàng hơn khi áp dụng Agile trong công việc của đội nhóm.
Dưới đây là cắt nghĩa và lý giải 12 nguyên tắc Agile dưới góc nhìn của BA - một vai trò quan trọng trong các đội nhóm phát triển phần mềm.

Chuyển giao sớm trong agile
Ưu tiên hàng đầu là sự hài lòng của khách hàng

Nguyên tắc 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

“Ưu tiên hàng đầu là sự hài lòng của khách hàng, thông qua việc chuyển giao sản phẩm có giá trị, nhanh chóng, và liên tục.”

Trong khi lãnh đạo doanh nghiệp nhìn vào bức tranh tổng thể, đội ngũ kỹ thuật thì tập trung vào các khía cạnh kỹ thuật, thì với vai trò BA, bạn sẽ là người có view nhìn của khách hàng và người dùng. BA là người thúc đẩy quá trình chuyển giao liên tục bằng cách chẻ nhỏ khối sản phẩm lớn thành những phần nhỏ hơn. Từng phần đó cần đủ nhỏ, dễ chuyển giao tới tay người dùng nhưng cũng phải đảm bảo giúp họ nhìn thấy và trải nghiệm giá trị của sản phẩm.

Nguyên tắc 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

" Chấp nhận thay đổi yêu cầu, cho dù là ở các giai đoạn cuối của quy trình. Quá trình Agile tận dụng thay đổi để đem lợi thế cạnh tranh tới cho khách hàng."

Là BA, bạn sẽ điều phối các cuộc trao đổi trong team nhằm cùng team khám phá các ý tưởng, lối tư duy giúp cho sản phẩm giá trị hơn trong mắt khách hàng. Thị trường thường xuyên biến động, đặc biệt trong ngành công nghệ, những góp ý phản hồi của khách hàng là liên tục. Chính sự thay đổi này tuy là thách thức nhưng cũng lại chính là cơ hội, có phản hồi từ người dùng chứng tỏ sản phẩm đang được sử dụng và đang trở nên tốt hơn. BA và team phát triển có thể cân nhắc đưa những phản hồi này vào product backlog và lên thứ tự ưu tiên để phát triển tiếp.

Nguyên tắc 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

" Chuyển giao sản phẩm thường xuyên, trong vài tuần hoặc vài tháng, với mục tiêu trong thời gian càng ngắn càng tốt."

BA đóng vai trò chủ chốt trong việc giúp khách hàng và chủ doanh nghiệp nhận thức sớm được những giá trị dự kiến của sản phẩm. Khi chẻ nhỏ công việc thành từng phần có giá trị, BA giúp team nhận ra những giá trị về mặt kinh doanh, các mối quan hệ phụ thuộc về kỹ thuật và nợ kỹ thuật.
Tham gia vào các cuộc thảo luận trong team với vai trò là người điều phối, BA sẽ không chỉ chấp nhận sản phẩm dùng được mà còn phải là sản phẩm có giá trị sử dụng đối với khách hàng. Việc khám phá ra giá trị của sản phẩm đối với khách hàng nhiều khi đòi hỏi bạn phải thử nghiệm và quan sát cách người dùng sử dụng và tương tác với phần mềm, đồng thời thấu hiểu được giá trị mà sản phẩm mang lại cho họ, chứ không phải chỉ nhìn vào tình trạng phần mềm chạy được.

nguyên tắc agile
“Người kinh doanh và các nhà kỹ sư phần mềm cần làm việc với nhau hàng ngày.”

Nguyên tắc 4. Business people and developers must work together daily throughout the project.

“Người kinh doanh và các nhà kỹ sư phần mềm cần làm việc với nhau hàng ngày.”

Trong đội nhóm Agile, BA cần phải tương tác với các developers thường xuyên trong ngày. Là người điều phối các cuộc thảo luận, trao đổi trong team, BA giúp đẩy nhanh quá trình học tập và ra quyết định của team. Sự tập trung của BA là ở các cuộc trao đổi, hội thoại, hơn là vào tài liệu (documents). Những requirement và documentation nên được giữ ở dạng lightweight - nhẹ nhàng, không cồng kềnh.

Nguyên tắc 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

“Xây dựng dự án với những cá nhân có động lực. Tạo môi trường và hỗ trợ họ nếu cần, và đặt niềm tin vào họ để hoàn thành công việc được giao.”

BA là người phục vụ người dùng, khách hàng và tổ chức. Họ giúp các team hiểu từng phần của công việc và giúp thống nhất các phần đó với tầm nhìn, mục tiêu chung của sản phẩm. Họ cũng giúp PO thiết lập ưu tiên, đưa ra quyết định hoặc gạt đi những tính năng, requirement không thống nhất với hướng đi của sản phẩm. Ở trong một tổ chức, một đội nhóm Agile, BA cần được trao quyền để tự tin điều phối sự cộng tác trong nhóm, ứng dụng các kỹ thuật dùng cho thảo luận nhóm, hay làm các tài liệu vừa đủ dùng và cần thiết, không quá cồng kềnh.

thay đổi yêu cầu business analyst
Cách tối ưu và hiệu quả nhất để truyền đạt thông tin trong một nhóm phát triển là trực tiếp nói chuyện.

Nguyên tắc 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

“Cách tối ưu và hiệu quả nhất để truyền đạt thông tin trong một nhóm phát triển là trực tiếp nói chuyện.”

Trong agile team, BA không chỉ đưa ra bản requirement và user stories để tự developers hiểu. Mà BA cần phải trao đổi với đội phát triển để truyền đạt requirement. Document chủ yếu là để lưu giữ lại cuộc trao đổi, tránh cho 2 bên quên các chi tiết.

Requirement cần phải dựa trên sự trao đổi và nói chuyện với nhau.

Để thấu hiểu được user stories, các tính năng thì cần thiết phải có sự cộng tác, tương tác hàng ngày giữa các thành viên trong team. Trực tiếp nói chuyện vẫn là phương pháp nên được ưu tiên hơn là tài liệu. Ngoài ra nếu team ở xa nhau, thì có thể sử dụng các công cụ video call, các công cụ như bảng biểu, sticky notes online để các thảo luận diễn ra hiệu quả hơn trên nền tảng số.

Nguyên tắc 7. Working software is the primary measure of progress.

“Sản phẩm cuối cùng chạy tốt chính là thước đo tiến độ.”

Tiến độ của Agile team thể hiện ở sản phẩm chạy tốt và mang lại giá trị cho người dùng, chứ không phải ở tài liệu được chuyển giao. Agile team coi trọng việc hoàn thành các phần nhỏ tạo nên giá trị trong 1 phân đoạn (iteration) hơn là tăng thêm khối lượng công việc mà không hoàn thành. BA ứng dụng nguyên lý số 7 này ở chỗ họ sẽ thiết lập thứ tự ưu tiên cho các user stories, xác định rõ các tiêu chí nghiệm thu, lên mẫu thiết kế và kiểm thử. Sau đó họ sẽ đứng trên phương diện của người dùng để đưa ra góp ý trong iteration đó.

Nguyên tắc 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

“Các quá trình Agile thúc đẩy sự phát triển bền vững. Nhà tài trợ, người phát triển, và người dùng có thể duy trì tiến độ ổn định và không ngừng.”

Duy trì tiến độ ổn định được hiểu với tư cách là BA, bạn sẽ cần chủ động làm việc với product owner (PO) để hiểu về tầm nhìn và hướng đi của sản phẩm. Đồng thời cùng với PO làm mịn backlog vừa ở góc độ tổng thể, vừa ở góc độ chi tiết. View nhìn chi tiết là cần thiết cho các công việc tương lai và BA ở đó là để giúp team định hình và ước lượng khối lượng công việc. Khi backlog đã được định hình lại rõ ràng, việc lên kế hoạch và triển khai kế hoạch mới thuận lợi và trôi chảy, giúp cho cả team duy trì được tiến độ ổn định.

agile principles
“Sự để ý đến chất lượng kỹ thuật và thiết kế tốt sẽ tăng tính linh hoạt.”

Nguyên tắc 9. Continuous attention to technical excellence and good design enhances agility.

“Sự để ý đến chất lượng kỹ thuật và thiết kế tốt sẽ tăng tính linh hoạt.”

BA làm việc với đội phát triển để hiểu về kiến trúc sản phẩm, về các vấn đề chuyên sâu và cả những rủi ro kỹ thuật. Bằng cách giúp đội phát triển hiểu tầm nhìn và hướng đi của sản phẩm, BA đang tăng cường chất lượng kỹ thuật (technical excellence). Ngược lại đội phát triển cũng trong quá trình trao đổi các vấn đề về mặt kỹ thuật, có thể giúp BA và product owner thiết lập ưu tiên, và giúp cả team hiểu được quyết định nào nên đưa ra để tạo thêm giá trị cho khách hàng.

Nguyên tắc 10. Simplicity–the art of maximizing the amount of work not done–is essential.

“Sự đơn giản - nghệ thuật sắp xếp tối đa hóa lượng công việc chưa hoàn thành - là cần thiết.”

Tối đa hóa lượng công việc chưa hoàn thành, chứ không phải tối đa hóa lượng công việc hoàn thành.
Vì sao?
BA và product owner làm việc với nhau để xác định điều gì là quan trọng cần làm. Họ cần đánh giá các backlog item để đảm bảo rằng chúng đang thống nhất với tầm nhìn và hướng đi của sản phẩm. Trong quá trình làm mịn backlog, BA cần phải tập trung vào giá trị được chuyển giao, phân tích ý nghĩa, ảnh hưởng của các items đối với giá trị chung của tổng thể sản phẩm. Từ đó mới có thể hướng được mối quan tâm của cả team vào những item có độ ưu tiên cao nhất.
Nguyên tắc này cũng ứng dụng vào công việc của BA liên quan đến việc tài liệu hóa. Các tài liệu và model không cồng kềnh là nguyên tắc của một business analyst có agile mindset. Chỉ thực hiện đủ những việc đảm bảo mục đích và mang lại giá trị cho team. Ví dụ như nếu dùng cho việc lưu lại các thông tin đã họp, giúp team rõ ràng hơn và không bị quên sau này, BA chỉ cần chụp ảnh sơ đồ vẽ trên bảng trắng, chứ không cần dùng một công cụ để vẽ tỉ mỉ một sơ đồ hoàn thiện.

Nguyên tắc 11. The best architectures, requirements, and designs emerge from self-organizing teams.

“Các cấu trúc, yêu cầu, và thiết kế tốt nhất đều xuất phát từ những nhóm có khả năng tự tổ chức.”

Trong team tự tổ chức, hay còn gọi là team tự chủ, BA góp phần vào việc thiết lập ưu tiên cho các công việc cả team cần làm. Để làm được điều này, BA cần phải nhận diện các requirement và thực hiện điều chỉnh khi requirement thay đổi. Khi team dần học hỏi và trưởng thành hơn , các yêu cầu cũng được tiến hóa hơn. Thậm chí kể cả khi kiến trúc, yêu cầu và thiết kế thay đổi không lường trước, thì team tự chủ cũng cần chủ động tự tổ chức sắp xếp từ khâu xây dựng, thử nghiệm và lấy phản hồi để đáp ứng được yêu cầu đặt ra từ phía khách hàng và PO.

business analyst áp dụng agile
“Theo nguyên tắc Agile thứ 12: Đều đặn phản tư (reflect) để có thể tăng hiệu quả, và thay đổi hành vi cho phù hợp.”

Nguyên tắc 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

“Đều đặn phản tư (reflect) để có thể tăng hiệu quả, và thay đổi hành vi cho phù hợp.”

Theo định kỳ, team sẽ cần có thời gian reflect, nhìn lại công việc mình làm, từ đó tìm ra những phương án cải tiến, những phương thức điều chỉnh hành vi làm việc để trở nên hiệu quả hơn. Những buổi Retrospective định kỳ giúp team khai thác được những cải tiến liên tục và thay đổi cách team làm việc nhóm. Ở những buổi Retro, team sẽ thường xuyên đặt các câu hỏi như Điều gì đã diễn ra thuận lợi? Điều chưa mà chúng ta còn cần cải tiến cho giai đoạn tiếp?
Thời gian Retrospective cũng là để các thành viên sẽ cùng suy ngẫm và phản biện lẫn nhau để khám phá và thống nhất những điều chỉnh cần thiết cho giai đoạn tiếp theo.

Làm sao để nhớ 12 nguyên tắc Agile?

Trên đây chỉ là lý giải nguyên tắc Agile dưới góc nhìn của BA trong 1 vài khía cạnh nhất định trong công việc phát triển phần mềm. Trên thực tế, khi làm việc tại doanh nghiệp, bạn có thể vận dụng linh hoạt các nguyên tắc này vào các công việc khác không phải là IT, như sales, marketing, nhân sự, quản trị. Ở Magestore, chúng tôi đã và đang áp dụng Agile Manifesto, Agile Principles vào những đội nhóm non-tech, và thấy được hiệu quả rõ rệt trong việc cải thiện hiệu suất công việc của cá nhân và đội nhóm.

Để gợi nhớ 12 nguyên tắc này, bạn chỉ cần chú tâm đến 1 vài keyword sau:

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

-> Satisfy the customer

  1. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

-> Welcome change

  1. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

-> Deliver frequently

  1. Business people and developers must work together daily throughout the project.

-> Work together

  1. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

-> Trust and support

  1. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

-> Face-to-face conversation

  1. Working software is the primary measure of progress.

-> Working software

  1. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

-> Constant pace

  1. Continuous attention to technical excellence and good design enhances agility.

-> Continuous attention

  1. Simplicity–the art of maximizing the amount of work not done–is essential.

-> Simplicity

  1. The best architectures, requirements, and designs emerge from self-organizing teams.

-> Self-organization teams

  1. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

-> Reflect and adjust

-------

Nguồn tham khảo:
12 Agile Principles behind Agile Manifesto, Agile Alliance
Khóa học Agile Requirement Foundations do Angela Wick giảng dạy

Hãy đăng ký nhận tin để là người đầu tiên đọc bài viết mới nhất từ chúng tôi nhé

Posted 
Feb 25, 2020
 in 
Agile & Culture
 category

Bài viết khác từ

Agile & Culture

category

View All