Cách tìm ra gốc rễ của mọi vấn đề

Khi kiểm thử các bản phát hành quan trọng mới, đôi khi, những lỗi mới trong môi trường sản xuất sẽ khiến bạn ngạc nhiên. Tại sao lại như vậy? Đã xảy ra sai sót ở đâu? Không phải lúc nào môi trường kiểm thử cũng sát với quá trình sản xuất như bạn mong đợi. Môi trường này có thể trải qua nhiều thay đổi về cơ sở hạ tầng mà không được ghi lại, từ đó dần xuất hiện sai lệch giữa các môi trường.

Quá trình khắc phục sự cố tốn rất nhiều thời gian. Tìm hiểu cách khắc phục sự cố nhanh hơn là một trong những khoản đầu tư tối ưu của bạn trong vai trò nhà phát triển phần mềm.

Phân tích nguyên nhân gốc rễ [RCA] là một kỹ thuật đặc thù bạn có thể sử dụng để khắc phục vấn đề. Với kỹ thuật này, bạn có thể phân tích sự cố mình gặp phải bằng cách sử dụng một tập hợp các bước cụ thể để xác định nguyên nhân chính gây ra vấn đề. RCA dựa trên nguyên tắc như sau: nếu chỉ chú trọng đến dấu hiệu của vấn đề mà bỏ qua gốc rễ thì sẽ không mang lại hiệu quả.

Phân tích nguyên nhân gốc rễ [RCA] là một kỹ thuật đặc thù bạn có thể sử dụng để khắc phục vấn đề. Với kỹ thuật này, bạn có thể phân tích sự cố mình gặp phải bằng cách sử dụng một tập hợp các bước cụ thể để xác định nguyên nhân chính gây ra vấn đề. RCA dựa trên nguyên tắc như sau: nếu chỉ chú trọng đến dấu hiệu của vấn đề mà bỏ qua gốc rễ thì sẽ không mang lại hiệu quả.

Sử dụng phương pháp rubber duck [gỡ lỗi vịt cao su] để giải thích vấn đề của bạn một cách đơn giản. Thông qua hoạt động giải thích điều gì đó, bạn buộc phải sắp xếp suy nghĩ của mình. Jeff Atwood, người đồng sáng lập của trang web hỏi đáp nổi tiếng Stack Overflow, nói về số lần một nhà phát triển phần mềm đã kể ông nghe về việc viết một câu hỏi mới cho trang web, tự bản thân họ tìm ra câu trả lời trong quá trình viết câu hỏi và chưa bao giờ thực sự gửi câu hỏi lên trang web.

Hãy thử những phương pháp sau để giúp bạn diễn giải vấn đề một cách đơn giản:

  1. Viết câu hỏi trên trang Stack Overflow ngay cả khi bạn không bao giờ gửi câu hỏi đó.
  2. Gửi báo cáo lỗi chi tiết.
  3. Giải thích cho đồng nghiệp.

Tiếp theo, hãy thu thập thêm dữ liệu về vấn đề rồi trích xuất thông tin chuyên sâu từ dữ liệu đó. Việc lập bản ghi và giám sát sẽ có ích trong trường hợp này, bao gồm bản ghi sự cố, bản ghi ứng dụng và máy chủ, v.v. Bạn phải thu thập bằng chứng về việc vấn đề đã xảy ra đồng thời, nếu có thể, phải tìm hiểu xem vấn đề xảy ra trong bao lâu với tần suất ra sao.

Trong tất cả dữ liệu đó, bạn cần nhanh chóng tìm ra các điểm dữ liệu cụ thể. Các công cụ có thể giúp bạn tìm kiếm và phân tích dữ liệu bản ghi đã và đang được bạn thu thập và biến dữ liệu đó thành thông tin chuyên sâu để chẩn đoán và giải quyết vấn đề nhanh hơn.

Tiếp theo, hãy xác định yếu tố nhân quả – nguyên nhân trực tiếp dẫn đến vấn đề bạn gặp phải. Đừng chỉ xác định một yếu tố nhân quả rồi sau đó dừng lại. Bạn phải đi sâu tìm hiểu với kỹ thuật năm tại sao. Hãy liên tục đặt câu hỏi “tại sao?” cho đến khi bạn tìm ra gốc rễ của vấn đề. Ví dụ: trang web của bạn đang hiển thị lỗi 500.

  1. Tại sao lại như vậy? Bởi vì thành phần định tuyến của khung trang web gặp trục trặc.
  2. Tại sao lại như vậy? Bởi vì trang web đòi hỏi một thành phần khác mà chính bản thân trang web gặp trục trặc.
  3. Tại sao lại như vậy? Bởi vì thành phần này của khung trang web đòi hỏi tiện ích mở rộng intl mà tiện ích này không hoạt động.
  4. Tại sao lại như vậy? Bởi vì trang web tình cờ bị vô hiệu hóa sau khi phần mềm máy chủ được cập nhật.

Tất nhiên, bạn có thể tìm ra vấn đề gốc rễ với ít bước hơn. Hoặc thậm chí bạn có thể cần nhiều bước hơn.

Giống như việc xem xét mã, hãy nhờ một ai đó khác và trung lập xem qua mã của bạn. Cùng với thời gian, kỳ vọng đặt vào việc xem xét sẽ giúp bạn tinh chỉnh quy trình của mình. Hoặc tốt hơn hết, hãy thực hiện khắc phục vấn đề theo đôi.

Kỹ thuật phân tích nguyên nhân gốc rễ [Root Cause Analysis – RCA] không phải là kỹ thuật mới. Nhưng việc áp dụng kỹ thuật này để phân tích và tìm ra nguyên nhân gốc rễ của một vấn đề vẫn là một thách thức lớn, đặc biệt là các thành viên tham gia các dự án CNTT như: Quản lý dự án CNTT, Chuyên viên phân tích nghiệp vụ, Quản lý dịch vụ CNTT, Chuyên viên bảo mật, Helpdesk,…

Bài viết sẽ giúp bạn hiểu đúng về kỹ thuật và cách áp dụng kỹ thuật này để nâng cao hiệu quả trong công việc.

1] Giới thiệu về kỹ thuật phân tích nguyên nhân gốc

Mục đích của kỹ thuật này dùng để xác định và đánh giá các nguyên nhân cơ bản của một vấn đề. Phân tích nguyên nhân gốc là một cách thức kiểm tra có phương pháp một vấn đề hoặc một tình huống cụ thể, và tập trung vào tìm kiếm gốc rễ của vấn đề để có hướng điều chỉnh thích hợp hơn là đối phó với tầm ảnh hưởng của vấn đề.

Phân tích nguyên nhân gốc là nhìn vào các kiểu nguyên nhân chính đến từ:

  • Con người: Lỗi do con người làm sai, lỗi thiếu kiến thức,…
  • Vật lý: Lỗi do thiết bị hỏng, cơ sở hạ tầng nghèo nàn,…
  • Tổ chức: Thiết kế quy trình bị lỗi, chính sách chồng chéo,…

Phân tích nguyên nhân gốc giúp tổ chức thông tin trong một khuôn khổ, mà cho phép để phân tích sâu hơn nếu thấy cần thiết. Phân tích nguyên nhân gốc có thể dùng cho các tình huống sau:

  • Phân tích phản ứng: Xác định các nguyên nhân gốc của một vấn đề đang diễn ra để có hành động khắc phục kịp thời
  • Phân tích chủ động: Xác định các vấn đề tiềm ẩn có thể xảy ra để có biện pháp phòng ngừa

Bốn hoạt động chính của phân tích nguyên nhân gốc bao gồm:

  • Xác định tuyên bố của vấn đề: Mô tả vấn đề cần được giải quyết
  • Thu thập dữ liệu: Thu thập thông tin liên quan về tính chất, độ lớn, vị trí, thời gian ảnh hưởng của vấn đề
  • Nhận dạng vấn đề: Điều tra các mẫu của hiệu ứng của vấn đề để khai phá các hành động cụ thể đóng góp vào vấn đề
  • Xác định hành động: Vạch ra các hành động khắc phục để ngăn cản hoặc giảm thiểu vấn đề tái phát

2] Kỹ thuật phân tích nguyên nhân gốc

Có hai kỹ thuật phổ biến để tìm nguyên nhân gốc là biểu đồ xương cá [Fishbone Daigram] và phương pháp đặt 5 câu hỏi tại sao [Five Whys]

a] Biểu đồ xương cá:

Biểu đồ xương cá [cũng có tên khác là Ishikawa hoặc biểu đồ cause-and-effect] dùng để xác định và tổ chức nguyên ngân có thể của một vấn đề. Công cụ này giúp người phân tích tập trung vào nguyên nhân của vấn đề so với các giải pháp và tổ chức các ý tưởng cho việc phân tích xa hơn. Sơ đồ phục vụ như là một bản đồ miêu tả các nguyên nhân có thể và các mối quan hệ của hiệu ứng của vấn đề.

Các bước phát triển một biểu đồ xương cá bao gồm:

  • Bước 1: Nắm bắt lỗi hoặc vấn đề đang thảo luận trong một cái hộp ở đỉnh của biểu đồ
  • Bước 2: Vẽ một đường thẳng xuyên qua từ hộp trên một tờ giấy hoặc trên một bảng trắng, tạo thành xương sống của xương cá
  • Bước 3: Vẽ các đường chéo từ cột sống của xương cá để đại diện cho các loại nguyên nhân tiềm ẩn của vấn đề. Các loại nguyên nhân có thể bao gồm: con người, các quy trình, các công cụ, các chính sách
  • Bước 4: Vẽ các đường thẳng nhỏ hơn đại diện cho các nguyên nhân sâu xa
  • Bước 5: Brainstorming các loại vấn đề và các nguyên nhân tiềm ẩn của vấn đề và nắm bắt chúng dưới thể loại riêng biệt
  • Bước 6: Phân tích các kết quả. Bạn nên nhớ rằng bước này chỉ thực hiện khi nhóm đã xác định các nguyên nhân tiềm ẩn của vấn đề. Phân tích xa hơn là cần thiết để xác nhận nguyên nhân thật sự
  • Bước 7: Brainstorming để đưa ra hướng giải quyết tiềm ẩn một khi nguyên nhân thực tế đã được xác định

b] Năm câu hỏi tại sao [Five Whys]:

Five Whys là một quy trình chất vấn để khám phá bản chất và nguyên nhân của một vấn đề. Cách tiếp cận Five Whys là liên tục hỏi những câu hỏi trong một nỗ lực để nhận ra các nguyên nhân gốc rễ của vấn đề. Đây là một trong những công cụ tạo thuận lợi khi những vấn đề có con người tương tác.

Các bước sử dụng kỹ thuật này bao gồm:

  • Bước 1: Viết vấn đề ra một tờ giấy hoặc bảng trắng
  • Bước 2: Hãy hỏi “Tại sao bạn nghĩ vấn đề này diễn ra?” và nắm bắt ý tưởng bên dưới của vấn đề
  • Bước 3: Hãy hỏi “Tại sao?” một lần nữa và nắm bắt ý tưởng bên dưới theo sau ý tưởng đầu tiên

Tiếp tục bước 3 cho đến khi bạn tin chắc nguyên nhân gốc rễ thực tế đã được xác định. Với cách làm này thì bạn có thể đặt nhiều hơn hoặc ít hơn năm câu hỏi tại sao. Tuy đây là kỹ thuật đơn giản nhưng rất khó áp dụng. Nó đòi hỏi bạn biết đặt câu hỏi đúng và thực hành nhiều trong thực tiễn. Nếu bạn đặt ra các câu hỏi “tại sao” phù hợp thì bạn sẽ tìm được nguyên nhân gốc rễ trong vòng năm câu hỏi tại sao.

Bạn có thể dùng kỹ thuật “Five Whys” độc lập hoặc kết hợp với mô hình xương cá. Một khi các ý tưởng được nắm bắt trên bản đồ và dùng kỹ thuật “Five Whys” để khoan sâu vào các nguyên nhân gốc rễ của vấn đề.

Điểm mạnh của kỹ thuật này là: 1] Giúp duy trì một mục tiêu khách quan khi thực thi phân tích nguyên nhân và kết quả; 2] Cho phép các bên liên quan xác định một giải pháp hiệu quả tại các điểm đặc biệt để có hành động khắc phục vấn đề.

Nắm bắc được kỹ thuật mới chỉ là khởi đầu. Bạn cần đầu tư nhiều thời gian để thực hành các kỹ thuật. Các kỹ thuật phân tích nguyên nhân gốc không chỉ áp dụng trong công việc mà bạn có thể áp dụng bất cứ tình huống nào trong cuộc sống.

>> Xem thêm ở apexglobal.com.vn

Video liên quan

Chủ Đề