Thao Trinh – Người thích tự do và lang thang như gió - Thao Trinh – Người thích tự do và lang thang như gió
  • Trang chủ
  • Chuyện nghề
  • Đọc
  • Me
Thao Trinh – Người thích tự do và lang thang như gió - Thao Trinh – Người thích tự do và lang thang như gió
Trang chủ
Chuyện nghề
Đọc
Me
  • Trang chủ
  • Chuyện nghề
  • Đọc
  • Me
Làm thợ

Bàn về rủi ro trong dự án sử dụng Agile

thaotrinh.info__quan-ly-rui-ro-trong-du-an-su-dung-agile

Quản lý rủi ro dự án là phạm trù rộng lớn, theo đó trong dự án chúng ta cần quản lý rủi ro tới từ nhiều phía. Rủi ro từ phía khách hàng, rủi ro từ nguồn lực thực hiện dự án (nhóm phát triển), rủi ro tới từ quy trình phát triển sản phẩm, rủi ro từ hiểu biết về công nghệ, rủi ro tới từ thị trường, rủi ro tới từ các quyết định của các cấp quản lý…
Trong mô hình phát triển sản phẩm truyền thống, các rủi ro này được quản lý dự án định nghĩa và quản lý trong suốt quá trình thực hiện, và mặc dù nó là một công việc có khối lượng khổng lồ cần rất nhiều thông tin để đưa ra các đánh giá và quyết định, quản lý dự án thường rất bị động trong việc tiếp nhận thông tin tới từ các bộ phận trong dự án và các bên liên quan: đôi khi nó quá chậm, hoặc đôi khi, độ chính xác của nó cần được lên án!

Vậy Scrum thực hiện quản lý rủi ro dự án bằng cách nào? Hay như thế nào?
Scrum framework được tổ chức gồm 3 vai trò: product owner, scrum master, development team; cả 3 vai trò trên đều thực hiện việc quản lý rủi ro dự án theo các công việc mà mình đảm nhận, được thiết kế thông qua các sự kiện trong framework. Thông qua đó, việc đánh giá và xử lý các rủi ro được trao cho các vai trò cụ thể. Mỗi vai trò sẽ có trách nhiệm giải quyết những vấn đề ảnh hưởng tới sự thành công của dự án liên quan công việc mà mình đảm nhận.

Các sự kiện giúp xác định rủi ro và hạn chế rủi ro

Dailly Meeting tuân theo framework, với các sự kiện, scrum team sớm phát hiện các vấn đề cần xử lý để lập kế hoạch hành động nhằm thích ứng hoặc giải quyết.
Ví dụ với Daily Meeting nhóm đồng bộ thông tin sau mỗi 24h, tự lên kế hoạch để thích nghi và giải quyết các vấn đề ảnh hưởng tới mục tiêu của nhóm. Hoặc lúc này scrum master sẽ có trách nhiệm hỗ trợ giải quyết các vướng mắc từ bên ngoài tác động tới công việc của nhóm. Việc trao quyền cho nhóm tự giải quyết các khó khăn lúc đầu có thể là thách thức với các bên: nhóm quản lý, PO, SM và chính cả nhóm phát triển. Tuy nhiên về lâu dài, điều này khuyến khích nhóm tự quản lý, nâng cao trách nhiệm, tính chủ động và tăng khả năng dự đoán của nhóm. Một nhóm tự quản lý, có trách nhiệm và khả năng dự đoán có thể tin tưởng được chắc chắn sẽ hạn chế rủi ro cho bất kì dự án nào.

Sprint Planning cùng với Dailly meeting, sprint planning cho phép nhóm lập kế hoạch ở mức sản phẩm, trong khoảng thời gian ngắn dưới sự tối ưu giá trị công việc từ product owner.
Product owner sắp xếp các công việc, theo độ ưu tiên để nhóm phát triển thực hiện trong Sprint. Điều này giúp sản phẩm luôn mang tới giá trị lớn nhất cho khách hàng và các bên liên quan. Các thông tin được nhóm lập kế hoạch dựa trên kinh nghiệm đã trải qua trong quá khứ (các sprint trước) dẫn tới tính tin cậy cao hơn. Việc trao quyền lập kế hoạch phát triển cho nhóm phát triển cũng giúp các bên có trách nhiệm liên quan nhìn nhận thực tế, tránh đi vào việc kì vọng vượt quá khả năng thực tại và gây ra những quyết định sai lầm. Nhóm lập kế hoạch dựa trên những user story là đại diện cho những yêu cầu của người dùng, điều này giúp nhóm phát triển hiểu đúng mong muốn của khách hàng, giảm thiểu lãng phí nguồn lực trong quá trình phát triển. Sprint planning không phải là kế hoạch hoàn hảo 100% nhưng nó là kế hoạch đáng tin cậy để thực hiện những tác vụ quan trọng nhất.

Sprint refinerment là một sự kiện dễ bị bỏ qua nhưng lại rất quan trọng.
Có thể hiểu đây là một buổi lập kế hoạch cho buổi lập kế hoạch. Tuân theo scrum framework, mọi thứ đều được chuẩn bị và trù liệu nhằm tăng khả năng thành công của dự án. Để đổi lại điều này, chúng ta cần dành ra thêm thời gian để meeting, tuy nhiên nó đáng giá để đánh đổi.

Sprint review nơi mà scrum team cộng tác với khách hàng nhằm thích nghi với sản phẩm và lên kế hoạch cho những gì thực hiện tiếp theo.
Không giống cách làm truyền thống, sau quá trình phát triển, kiểm thử khách hàng mới được tiếp cận sản phẩm, đôi khi lúc này phản hồi của khách hàng là quá trễ cho sự thay đổi của thị trường hoặc nhu cầu. Chu trình lặp đi lặp lại, phát triển, kiểm thử, phản hồi (quá muộn). Việc này đặt khách hàng và nhóm phát triển vào các tình thế khó khăn khác nhau. Scrum framework xử lý vấn đề này bằng sự kiện sprint review, nơi khách hàng có thể “dùng” sản phẩm sau mỗi 2-4 tuần. Đánh giá tính khả thi và đưa ra quyết định. Ngoài ra điều này cũng kéo khách hàng gần hơn với nhóm phát triển để thông qua đó, hiểu nhóm đang nỗ lực; và có thể cung cấp thông tin phản hồi sớm hơn. Điều này giúp giảm thiểu các rủi ro từ phía khách hàng, từ việc hiểu sai yêu cầu, thay đổi và phản hồi; hoặc đôi khi là nhận xét nhóm phát triển đang không nỗ lực.

Sprint restropective scrum team cải tiến chất lượng.
Tại buổi hợp restropective, scrum team tìm giải pháp để cải tiến các vấn đề về con người và quy trình, lấy ra ít nhất một cải tiến được đánh độ ưu tiên để thực hiện trong sprint tiếp theo. Việc không ngừng cải tiến và thực thi cách tương tác, và quy trình làm việc giúp giảm thiểu rủi ro cho những việc được phát hiện, nhưng bị “bỏ quên”.

Các Role quản lý rủi ro

Scrum team định nghĩa 3 vai trò: Product Owner, Scrum Master và Development Team. 3 vai trò thực hiện những công việc khác nhau, theo quy trình Scrum giúp giảm thiểu rủi ro.

Product owner giảm thiểu rủi ro cho dự án bằng cách lập kế hoạch phát hành sản phẩm, tối ưu hoá ROI, và năng suất làm việc của nhóm.
Product Owner quản lý product backlog hay những “yêu cầu” từ phía khách hàng, thị trường hoặc bên liên quan. Việc quản lý product backlog bao gồm các nhiệm vụ: Thêm mới yêu cầu, phân tách chức năng thành những yêu cầu nhỏ hơn, đặt tiêu chí hoàn thành, tiêu chí chấp nhận cho user story; và quan trong là việc sắp xếp lại độ ưu tiên cho các user story. Việc này giúp scrum team ưu tiên tập trung vào các công việc có giá trị cao trước, thêm nữa, các công việc này khá rõ ràng để hiểu và thực hiện. Product owner cũng là người làm việc nhiều với các bên liên quan, tìm kiếm những yêu cầu để đưa vào product backlog, hạn chế việc một developer với ngôn ngữ kĩ thuật làm việc với một khách hàng có ngôn ngữ end user, điều này có thể gây conflix không cần thiết trong nhóm phát triển.

Development team giảm thiểu rủi ro thông qua việc thích nghi với quy trình, phát lộ các vấn đề trong các sự kiện Scrum và giải quyết chúng. Tập trung vào sprint backlog và sprint goal.
Giống product owner chỉ tập trung vào product backlog, development team chỉ tập trung vào sprint backlog. Nơi mọi công việc đã được lập kế hoạch trong sprint planning. Mọi thay đổi không nằm trong kế hoạch sẽ được đánh giá và thảo luận với sự đồng thuận của nhóm phát triển. Việc này duy trì khả năng cam kết của nhóm, khả năng tự tổ chức. Điều này giúp các kế hoạch ban đầu luôn có khả năng hoàn thành cao hơn. Và các dự đoán của nhóm phát triển ngày càng trở nên tin cậy hơn.

Scrum Master đảm bảo quy trình được vận hành đúng, hỗ trợ tháo gỡ các khó khăn trong quá trình làm việc cho PO và Development Team. Ngoài ra Scrum Master cũng là người chịu trách nhiệm để 3 trụ cột của Scrum được tuân thủ: minh bạch, thanh tra và thích nghi. Việc thực hiện thanh tra và thích nghi giúp tạo ra sự minh bạch. Minh bạch cuối cùng sẽ giảm thiểu rủi ro khi thực hiện dự án.

Thông qua Agile và Scrum framework, việc quản lý rủi ro được “điều phối” cho 3 vai trò và các sự kiện thay vì tập trung việc quản lý rủi ro cho vị trí Project Manager như cách làm truyền thống.

August 6, 2019by thaotrinh
Chuyện nghề

Khó khăn khi triển khai Agile trong tổ chức, doanh nghiệp

thaotrinh.info__kho-khan-khi-trien-khai-agile-trong-to-chuc-doanh-nghiep

“Văn hoá làm việc Agile đáp ứng sự thay đổi nhanh trong dự án và team làm việc rất cởi mở, đó là môi trường làm việc thúc đẩy tốt teamwork, đó là một bức tranh đẹp mà các nhà quản lý luôn muốn doanh nghiệp/đội nhóm của mình đạt được”.

Điều đó dẫn tới mong muốn triển khai agile trong các tổ chức, nhưng phía sau đó, thách thức của chúng ta sẽ là gì?

Văn hóa

Văn hóa phân cấp trong công việc: Chúng ta làm việc trong môi trường công sở, nơi mỗi người có những kỹ năng chuyên biệt để thực hiện những nhiệm vụ khác nhau. Thông qua đó, để điều phối công việc trở nên đúng trật tự, chúng ta cần những vai trò khác nhau để vận hành tổ chức. Văn hóa sếp-nhân viên có thể là rào cản đầu tiên gây cản trở văn hóa agile trong tổ chức.

Cùng với việc phân cấp trong công việc, giá trị kinh nghiệm cũng được đề cao trong các tổ chức. Điều này mang tới những sự tích cực, tuy vậy, nếu không xây dựng được văn hóa growth thì rất có thể, kinh nghiệm chứ không phải agile sẽ là văn hóa chính của công ty. Nơi mọi nhân viên có thâm niên lâu hơn sẽ luôn đúng.

Các cấp lãnh đạo

Các cấp lãnh đạo có thể là những người đầu tiên, hào hứng, và kiên tâm muốn triển khai văn hóa agile trong tổ chức. Nhưng cẩn thận những cách hiểu khác nhau dẫn tới mindset khác nhau về cách làm. Việc này có thể do tiếp cận và học agile từ nhiều nguồn hoặc do chưa có kinh nghiệm triển khai thưc tế, chưa đánh giá, lường trước các khả năng có thể gây ảnh hưởng trong quá trình triển khai.

Tiếp nữa, các hành động triển khai đưa agile vào tổ chức được triển khai không đồng bộ có thể dẫn tới khó phối hợp giưã các phòng ban, bộ phận trong tổ chức.

Việc hiểu chưa đúng về agile, chỉ coi đó là một framework làm việc cụ thể cũng là một rào cản tới thành công khi áp dụng agile.

Để bắt đầu triển khai agile, các cấp quản lý nên tham gia đào tạo chi tiết.

Thực hiện

Rào cản từ phía nhóm liên chức năng: chưa đủ “liên-chức-năng”, nhiều team thiếu kỹ năng, có team lại thiếu hỗ trợ và cam kết từ tổ chức.

Trong khi đó Self-Organizing (nhóm tự chủ) lại có những thách thức khác khi xây dựng:

  • Bị điều phối bởi các cấp quản lý.
  • Văn hóa làm việc á đông, ngại giao tiếp, ngại “vấn đề”.
  • Phân chia vai trò trong team quá nhiều (leader, senior…).
  • Phân việc chứ không nhận việc (cơ chế push chứ không phải pull).
  • Mức độ cam kêt lỏng lẻo giữa cách thành viên.
  • Môi trường không an toàn, phòng thủ.

Các vai trò quản lý bị xung đột mindset: Project Manager và Scrum Master là 2 role khác nhau, 2 cách làm, 2 mindset khác nhau. Để ý servant leader sẽ khác việc manager với mindset controls và commands.

Phát triển cá nhân, văn hóa: Development team, sẽ phát triển thế nào với Career path cụ thể ra sao? Nếu đã không có leader, senior thì development team sẽ phát triển như thế nào?

Framework: ý nghĩa của các sự kiện trong framework (scrum) bị hiểu sai, hoặc hiểu chưa đầy đủ dẫn tới “làm” mà thu được ít giá trị. Hoặc phá giá trị.

Câu hỏi bàn thêm

Agile thường hay được gắn với Scrum Framework, vậy, với những khó khăn mình đã lạm bàn ở trên, chúng ta thử dành vài phút để trả lời những câu hỏi sau. Biết đâu, từ đó, tri thức được khai phá, chúng ta có được những cách làm tốt hơn.

  • Tại sao sprint lại phải có độ dài cố định?
  • Tại sao lại phải daily meeting?
  • Tại sao lại phải họp retrospective, sprint review, sprint planning, sprint grooming?
  • Tại sao lại phải trực quan hóa?
  • Tại sao phải minh bạch?
  • Tại sao phải thanh tra?
  • Tại sao phải thích nghi?
  • Thế nào là team trưởng thành?
  • Sau khi thanh tra xong thì làm gì? Ai làm? Ai theo dõi…
  • Đối diện với kết quả không tốt như thế nào?
  • Sprint goal không đạt được, điều gì sẽ xảy ra?
  • KPI? có tốt khi triển khai Agile?
  • KPI, hay không KPI.
  • OKR, hay không OKR.
April 19, 2019by thaotrinh
Chuyện nghề

Nói chuyện về vấn đề

thaotrinh.info__noi-chuyen-ve-van-de

Thật kỳ lạ trong thế giới công việc ngày nay, nhiều người còn nhầm lẫn khái niệm “hiện tượng” và vấn đề.

Hiện tượng không phải là vấn đề.

Hiện tượng là thứ đã xảy ra, là quá khứ, chúng ta không thể thay đổi được nó.

Vấn đề, là cách chúng ta giải quyết hiện tượng, để đạt được mục đích của mình.

Nó đơn giản đúng không?

Việc nhầm lẫn hiện tượng là vấn đề khiến ta mải mê tìm cách giải quyết một “vấn đề” – không-phải-là-vấn-đề. Điều này không chỉ khiến chúng ta mất thời gian và công sức, lâu dần còn khiến chúng ta nghi ngờ cả về khả năng của mình, của đội nhóm mình. Và tất nhiên, khi loay hoay đi tìm lời giải cho một thứ không phải vấn đề, những thứ cản trở công việc của ta vẫn quay trở lại mãi. Vòng lặp này sẽ đến vô tận cho tới khi nào ta gỡ bỏ được vấn đề thực sự.

Vậy làm thế nào để xác định được đúng vấn đề?

Có nhiều phương pháp để giúp xác định vấn đề ví dụ như sử dụng phương pháp đặt 5 lần câu hỏi tại sao, sử dụng biểu đồ xương cá.. Các kỹ thuật này bạn có thể dễ dàng tìm thấy hướng dẫn trên internet. Điều quan trọng ở đây là, giống như đầu bài viết đã mô tả, bạn đừng nhầm lẫn “hiện tượng” và “vấn đề”. Bới nếu dùng phương pháp, hay kỹ thuật nào, nhưng nếu mình sai ngay từ bước khởi đầu, thì phương pháp ấy lại thành ra không hiệu quả (trong khi lý do thực sự là mình vẫn chưa biết cách áp dụng).

Vậy chúng ta làm thế nào để xác định vấn đề, hay công thức ở đây là gì?

– Đầu tiên chúng ta phân biệt rõ đâu là hiện tượng.
– Tiếp sau chúng ta xác định đâu là mục tiêu chúng ta muốn hướng tới (đâu là chuẩn) dựa vào phân biệt ở bước 1.
– Rồi tiếp sau chúng ta sẽ cần Brainstorm về việc “Làm thế nào để” đạt được mục tiêu ở bước số 2. Ở bước này, chúng ta mới bắt đầu sử dụng các kỹ thuật giải quyết vấn đề để thảo luận về các ý tưởng ở bước số 2.

Vậy đó, với 3 bước đơn giản, chúng ta xác định được vấn đề, và cách giải quyết. Hi vọng với cách làm này, mọi người có thể dễ dàng tìm kiếm được giải pháp, cũng như xác định chính xác vấn đề mình, hay đội nhóm đang cần giải quyết là gì.

Bạn có thể xem Phương pháp giải quyết vấn đề 5whys

Phản tư một chút về “vấn đề”:

1. “We cannot solve our problems with the same thinking we used when we created them.” – Albert Einstein
Chúng ta không thể giải quyết vấn đề bằng cách suy nghĩ cũ kỹ như khi chúng ta tạo ra vấn đề.

2. “Problems are not stop signs. They are guidelines.” – Robert H Shuller
Vấn đề không phải là bảng yêu cầu dừng lại. Vấn đề là cẩm nang hướng dẫn.

3. “Not everything that is faced can be changed. But nothing can be changed until it is faced.” – James Baldwin
Không phải việc gì ta đối diện cũng có thể thay đổi được. Nhưng chẳng có vấn đề nào sẽ thay đổi nếu ta không dám đối diện nó.

4. “Sometimes problems don’t require a solution to solve them. Instead they require maturity to outgrow them.” – Steve Marabolli
Có khi vấn đề không cần được giải quyết bằng giải pháp. Có khi, người ta cần lớn lên để bản thân mình lớn hơn vấn đề mà ta tự đặt ra.

5. “If you can solve your problem, then what is the need of worrying? If you cannot solve it, then what is the use of worrying?” – Shantideva
Nếu bạn có thể giải quyết vấn đề, thì cần gì phải lo lắng? Nếu bạn không thể giải quyết được vấn đề, lo lắng có ích lợi gì đâu?

January 9, 2019by thaotrinh
Chuyện nghề

Tư duy linh hoạt là gì

thaotrinh.info__tu-duy-linh-hoat-la-gi.jpg

Thế giới của những người làm phần mềm tồn tại một quy trình sản xuất từ lâu đời. Ở đó, quy trình gồm các bước xác định vấn đề, lập kế hoạch, thực thi, kiểm tra, và cuối cùng đưa ra sản phẩm cho người dùng sử dụng. Đó là quá trình liên tục, có hệ thống, có trật tự từng bước. Người dùng chỉ nhận được giá trị ở cuối của chu trình sản xuất.

Song song với đó, một cách làm khác, được dân phần mềm gọi là Agile (tức là linh hoạt) giúp phát triển phần mềm theo các vòng lặp, các bước ở quy trình sản xuất phần mềm cũ được lặp đi lặp lại trong một khoảng thời gian ngắn, cố định. Điều này giúp liên tục đưa ra các giá trị (nhỏ, có thể sử dụng ngay) cho khách hàng. Sự khác biệt trong cách tiếp cận này là giá trị được tạo ra liên tục và trong thời gian ngắn, đón nhận các phản hồi. Điều này giúp tất cả các bên tham gia vào quá trình dự án thích nghi với các thay đổi, đồng ý với nhau về các hiệu chỉnh nhanh và dễ dàng hơn, đón nhận thông tin sớm và kịp thời hơn để ra quyết định.

Rủi ro được quản lý theo các vòng đời ngắn, giúp giảm thiểu các nguy cơ

Rủi ro được quản lý theo các vòng đời ngắn, giúp giảm thiểu các nguy cơ

Agile – cách tiếp cận linh hoạt này được thiết kế ra từ nhu cầu làm dự án của các công ty phần mềm theo brief (yêu cầu đặt hàng) của khách hàng. Theo cách tiếp cận thứ nhất, khi mất quá nhiều thời gian tập trung xây một giải pháp cho đến cùng, khi release – phát hành thì có thể cả tính năng và công nghệ đều đã lạc hậu so với sự thay đổi quá nhanh chóng của thời thế. Do đó, ngành phần mềm tạo ra cách tiếp cận thứ 2, vừa xây vừa cập nhật vừa hiệu chỉnh vừa tối ưu và mang lại giá trị tức thì.

Sau này, agile đã trở thành một tư duy, cách tiếp cận trong kinh doanh và công việc. Thay vì đổ một chiều như thác từ cấp trên xuống cấp dưới hay từ phòng ban này sang phòng ban kia, chúng ta có thể sử dụng cách tiếp cận cùng nhau đặt vấn đề, cùng bàn bạc giải quyết, tạo ra giá trị tại từng chặng nhỏ, và cùng nhau cập nhật những thay đổi mới nhất vào dự án trong suốt quá trình thực hiện. Với cách tiếp cận này, đội ngũ sẽ làm việc linh hoạt hơn, đội nhóm hơn, giải quyết vấn đề nhanh và cập nhật hơn, và tạo ra giá trị nhanh và nhiều hơn.

February 6, 2017by thaotrinh
Page 5 of 5« First...«2345

About me

Tìm kiếm nhanh

Đề xuất cho bạn

Installing & Configuring Apache on macOS using Homebrew and use Sites folder (Mac Monterey)

37 NGUYÊN TẮC GIAO TIẾP CHO ĐÀN ÔNG TỪ NĂM 1875

Tạo đối tượng trong C# từ url API hoặc Json String

Git hướng dẫn cơ bản cho người mới

Git hướng dẫn cơ bản cho người mới

Không phải làm bao nhiêu mà là tạo ra bao nhiêu

Không phải làm bao nhiêu mà là tạo ra bao nhiêu

Bài mới

  • 37 NGUYÊN TẮC GIAO TIẾP CHO ĐÀN ÔNG TỪ NĂM 1875
  • Định nghĩa công việc theo phương pháp S.M.A.R.T
  • Installing & Configuring Apache on macOS using Homebrew and use Sites folder (Mac Monterey)
  • Họp xong việc và họp thêm việc
  • Giá trị của Scrum Master trong case study của Leflair

Mọi người quan tâm

  1. Cài đặt và cấu hình Apache, MySQL trên macos - Thao Trinh - Người thích tự do và lang thang như gió on Installing & Configuring Apache on macOS using Homebrew and use Sites folder (Mac Monterey)

Chuyên mục

  • Agile (APM)
  • Chuyện nghề
  • Đọc
  • Học nghề
  • Làm thợ
  • Uncategorized

Tags

Agile Dev Kanban Marketing Nhóm Scrum Sách Sản phẩm Think Tôi tự học

Người học thức, tức là người thà biết ít mà thật biết những gì mình biết, còn những gì mình không biết, thì cũng biết rõ là mình không biết. “Không có sự dốt nát nhục nhã bằng tin tưởng rằng mình đã biết trong khi mình chưa biết”. Văn hóa là một vấn đề thuộc phẩm chứ không phải thuộc lượng

© 2015 copyright thaotrinhminh@gmail.com // All rights reserved // Privacy Policy