[Kỹ Năng Cần Có] Ra Quyết Định Hiệu Quả Để Trở Thành Kiến Trúc Sư Phần Mềm (Bài Viết #2)
Bài viết này được dịch và biên soạn từ nguồn gốc của Roadmap.sh, thể hiện từ góc độ của một người đang là Frontend Developer với mục tiêu trở thành Kiến Trúc Sư Phần Mềm. Mỗi bài viết sẽ tập trung vào một kỹ năng cần học.
Để trở thành Kiến Trúc Sư Phần Mềm, bạn cần sở hữu những kỹ năng quan trọng sau:
- Thiết kế và Kiến trúc
- Ra quyết định
- Đơn giản hóa vấn đề
- Biết lập trình (coding)
- Viết tài liệu hiệu quả
- Kỹ năng giao tiếp
- Đánh giá và ước lượng
- Cân bằng kỹ thuật và kinh doanh
- Tư vấn và hướng dẫn
- Kỹ năng marketing
Ra Quyết Định Hiệu Quả
1. Biết điều gì là quan trọng
Là một Kiến Trúc Sư Phần Mềm, bạn không nên lãng phí thời gian và tài nguyên vào những quyết định hay hoạt động không quan trọng. Hãy học cách xác định giá trị của các quyết định. Điều này không phải là kiến thức có sẵn trong sách vở, mà hoàn toàn dựa trên kinh nghiệm thực tế. Hai tiêu chí chính để đánh giá tầm quan trọng của một quyết định đó là:
- Tính toàn vẹn khái niệm: Nếu bạn chọn một phương pháp nào đó, hãy nhất quán và kiên trì với nó, ngay cả khi có cách làm tốt hơn. Điều này giúp tạo ra một khái niệm tổng thể rõ ràng, dễ hiểu và dễ bảo trì hơn.
- Tính thống nhất: Khi bạn định nghĩa các quy tắc (như quy tắc đặt tên), điều quan trọng không chỉ nằm ở việc sử dụng chữ hoa hay chữ thường, mà là việc áp dụng nhất quán các quy tắc đó trong toàn bộ dự án.
2. Ưu Tiên Quyết Định
Có những quyết định rất quan trọng cần phải được đưa ra kịp thời. Nếu quyết định không được thực hiện sớm, các giải pháp tạm thời có thể phát sinh, làm cho việc bảo trì trở thành một cơn ác mộng hoặc tồi tệ hơn là làm ngược lại tiến độ phát triển. Trong một số tình huống, việc chọn một quyết định kém có thể tốt hơn là không đưa ra quyết định nào. Hãy ưu tiên quyết định của bạn bằng cách sử dụng mô hình Weighted Shortest Job First (WSJF), một khái niệm phổ biến trong lĩnh vực phát triển phần mềm linh hoạt. Đặc biệt, hãy lưu ý đến tính kịp thời và giảm thiểu rủi ro khi đánh giá mức độ ưu tiên của các quyết định kiến trúc.
3. Hiểu Rõ Năng Lực Của Bản Thân
Đừng đưa ra quyết định ngoài khả năng và sức ảnh hưởng của bạn. Điều này rất quan trọng vì nếu không cảnh giác, bạn có thể gây ảnh hưởng xấu đến vị trí của bạn trong tổ chức. Để tránh điều này, hãy rõ ràng về vai trò và trách nhiệm của bạn với đồng nghiệp. Nếu có nhiều kiến trúc sư, hãy tôn trọng cấp bậc và phạm vi nhiệm vụ của mình. Là một kiến trúc sư cấp thấp, hãy đưa ra đề xuất thay vì quyết định. Luôn tham khảo ý kiến của đồng nghiệp trước khi đưa ra những quyết định quan trọng.
4. Đánh Giá Nhiều Lựa Chọn
Khi đưa ra quyết định, hãy luôn trình bày nhiều hơn một lựa chọn. Trong hầu hết các trường hợp, sẽ có nhiều lựa chọn khả thi. Nếu chỉ có một lựa chọn, điều đó có thể chỉ ra rằng:
- Bạn có thể đã không thực hiện đúng công việc của mình.
- Bạn đang hạn chế việc ra quyết định đúng đắn.
Các lựa chọn nên được so sánh dựa trên dữ liệu thực tế, định lượng thay vì cảm tính. Điều này không chỉ giúp bạn có được quyết định tốt hơn mà còn dễ thuyết phục các bên liên quan khác. Nếu bạn không đánh giá đúng các lựa chọn, bạn có thể bỏ lỡ những lập luận cần thiết trong cuộc thảo luận.
Kết Luận
Ra quyết định là một trong những kỹ năng thiết yếu mà mỗi Kiến Trúc Sư Phần Mềm cần trau dồi. Bằng cách hiểu rõ tầm quan trọng của những quyết định, ưu tiên đúng mức, nhận thức về năng lực bản thân và đánh giá các lựa chọn một cách kỹ lưỡng, bạn sẽ trở thành một kiến trúc sư có khả năng đưa ra những quyết định kiến trúc hiệu quả, góp phần vào thành công của dự án và tổ chức.
Hy vọng bài viết này sẽ giúp ích cho hành trình phát triển của bạn trên con đường trở thành Kiến Trúc Sư Phần Mềm.
source: viblo