Là một người chịu trách nhiệm 1 đôi nhóm xây dựng 1 tính năng, 1 công việc, hoặc là 1 thành viên của đội nhóm, bất kì ai cũng muốn mọi thứ rõ ràng. Thiết kế rõ ràng, quy trình rõ ràng, tính năng rõ ràng, mục đích đạt được rõ ràng v.v
Trên thực tế, những điều rõ ràng này dành cho các công việc mà bạn đã gặp, đã làm trong quá khứ, không mới, và có ít thách thức
Nhưng đôi lúc, chúng ta rơi vào các công việc nằm trong vùng xám kiến thức và kinh nghiệm, bạn và mọi người trong đội nhóm có rất ít sự hiểu biết về nó
Và đây là lúc mà chúng ta sẽ chứng kiến 1 điều: sự trì trệ
Chúng ta vượt qua tình trạng này như thế nào?
Nhiều năm làm việc, tôi và đội nhóm của mình đã vượt qua điều này rất nhiều lần. Chúng tôi sử dụng cùng 1 kỹ thuật: đẩy việc tích cực.
Đối với kỹ thuật này, chúng tôi hiểu rất rõ rằng mình đang rơi vào trạng thái trì trệ chung cho cả đội nhóm và nếu không có 1 động thái nào, sự trì trễ này sẽ tiếp tục kéo dài
Lựa chọn khó khăn lúc này không còn là hoàn thành công việc 1 cách xuất sắc, mà là hoàn thành công việc, hoặc có thể là không bao giờ có thể hoàn thành nó.
Để hoàn thành công việc, chúng tôi liên tục sử dụng kỹ thuật đẩy viêc tích cự ( active push ). Chúng tôi tiến hành tổ chức các cuộc họp ngắn, nhỏ và thường xuyên mỗi ngày, giữ mọi người trong đội nhóm gắn kết tâm trí và công việc với dự án đang triển khai. Thậm chí ngay cả khi cuộc họp là không có ý tưởng gì mới, hoặc toàn là những ý tưởng tệ hại, với vai trò là trưởng nhóm dự án, tôi cũng phải tiến hành nó. Điều này giúp mọi người trong đội nhóm thấy rằng chúng ta đang tiến lên, chúng ta đang khẩn trương, hoặc thậm chí ngay cả khi thành viên trong đội nhóm thấy rằng cuộc họp này thật vô ích, điều này cũng giúp cho tâm trí của các thành viên gắn kết với dự án hiện tại và giúp họ biết rằng họ cần tập trung vào dự án
Tôi chắc chắn bạn cảm thấy kì cục, khi thậm chí ý tưởng là tệ hại hoặc không có gì mới, chúng tôi vẫn liên tục tổ chức các cuộc họp ngắn. Điều này trên thực tế là có hiệu quả trong việc đẩy tiến độ của dự án (hơn so với khi bạn không tiến hành các cuộc họp nhỏ, và mọi thứ sẽ tiếp tục bị kéo dài)
Đồng thời, chúng tôi khuyến khích ý kiến chuyên môn của mỗi người trong đội nhóm
Không ai có thể biết hết tất cả kiến thức, nhất là đối với lĩnh vực chuyên môn cao và rộng lớn như công nghệ thông tin mà chúng tôi đang theo đuổi. Và chúng tôi luôn đề cao các kiến thức chuyên môn của các bạn trong đội nhóm để giúp dự án được hoàn thành 1 cách đúng đắn về chuyên mộn

Bài viết khác

Test Automation(Kiểm thử tự động)

1.Test Automation (Kiểm thử tự động) là gì? Trong các dự án phát triển phần mềm truyền thống trước đây, toàn bộ quy trình kiểm thử (Testing) đều được thực hiện thủ công (Manual Testing) bởi con người. Các kiểm thử viên trực tiếp thao tác trên giao diện, nhập dữ liệu, kiểm tra kết […]

Logging – Monitoring – CI/CD

Logging, Monitoring và CI/CD là gì? Vai trò trong phát triển Backend 1. Tổng quan Khi xây dựng một ứng dụng Backend, viết code và chạy được chương trình mới chỉ là bước đầu. Khi ứng dụng được đưa vào sử dụng, lập trình viên còn cần biết ứng dụng đang hoạt động như thế […]

Redis & Caching là gì?

Redis & Caching là gì? Hướng dẫn sử dụng Redis trong Go 1. Caching là gì? Vì sao cần cache khi đã có database? Caching (bộ nhớ đệm) là kỹ thuật lưu tạm dữ liệu thường được truy cập để có thể lấy lại nhanh chóng khi cần, thay vì phải thực hiện lại toàn […]

Background Jobs & Queues

1. Background Jobs & Queues là gì? Trong một ứng dụng backend, không phải công việc nào cũng cần hoàn thành ngay trong lúc xử lý HTTP request. Ví dụ, khi người dùng đăng ký tài khoản, hệ thống có thể cần: Lưu thông tin người dùng vào database. Gửi email xác nhận. Gửi thông […]

Saga Pattern

Saga Pattern là gì? Quản lý Transaction trong kiến trúc Microservices 1. Saga Pattern là gì? Saga Pattern là một mẫu thiết kế được sử dụng để quản lý các nghiệp vụ phân tán gồm nhiều bước xử lý, trong đó mỗi bước có thể thực hiện một local transaction tại một service hoặc Database […]

Two-Phase Locking (2PL)

Two-Phase Locking (2PL) là gì? Cơ chế khóa hai pha trong Database 1. Two-Phase Locking (2PL) là gì? Two-Phase Locking (2PL — khóa hai pha) là một giao thức quản lý khóa trong Database, quy định cách một transaction được phép lấy và giải phóng lock trong quá trình thực thi. Khi nhiều transaction cùng […]