8 Vai Trò Và Trách Nhiệm Chính Trong Quản Lý Dự Án (Phần 2)

Trong phần trước, chúng ta đã thảo luận về bốn vai trò chính trong quản lý dự án. Tiếp tục loạt blog này, GCT Solution sẽ thảo luận về bốn vai trò bổ sung mà các nhà quản lý phải nhận thức được khi làm việc cho một công ty phát triển phần mềm.

1. Backend

Phần backend của một sản phẩm phần mềm chịu trách nhiệm chấp nhận các yêu cầu từ ứng dụng khách và xử lý chúng trên các máy chủ chuyên dụng, thường được lưu trữ bởi các dịch vụ đám mây hoặc nhà cung cấp máy chủ. Để kể tên một số ví dụ, bạn có thể lưu trữ phần backend của sản phẩm trên Amazon Web Services, Google Cloud Platform và điện toán đám mây Microsoft Azure.

Có các loại dịch vụ web backend khác (ví dụ: RESTful, WSDL và SOAP) hiển thị một tập hợp các hoạt động có thể được sử dụng bởi các ứng dụng giao diện người dùng hoặc thậm chí các dịch vụ tích hợp, nhưng trọng tâm của blog này sẽ là RESTful. Các dịch vụ web RESTful hiện là một trong những dịch vụ phổ biến nhất vì chúng thường hoàn toàn dựa vào giao thức HTTP, không giống như WSDL và SOAP, đồng thời chúng tương đối dễ hiểu và triển khai.

Khi người quản lý sản phẩm tạo các tính năng hoặc câu chuyện mới, các nhóm backend thường triển khai chúng trước vì phần còn lại của sản phẩm phụ thuộc vào họ để hoàn thành câu chuyện. Trong một số trường hợp nhất định, cả triển khai giao diện người dùng và chương trình backend sẽ bắt đầu đồng thời, vì luôn có các hoạt động có thể được hoàn thành mà không cần phần backend, chẳng hạn như triển khai màn hình và sau đó được kết nối.

Các nhà phát triển backend thường gặp phải những trở ngại trong khi phát triển các hoạt động backend, đặc biệt là về hiệu suất. Điều này là do chương trình backend phải xử lý đồng thời một số lượng lớn truy vấn, vì tất cả các ứng dụng sẽ trỏ vào nó.

Khi phát triển các điểm cuối backend, tối ưu hóa là yếu tố cần cân nhắc chính, bao gồm cách truy xuất dữ liệu, cách sắp xếp dữ liệu, cách làm cho chúng dễ dàng thích ứng với các sửa đổi trong tương lai và cách tương tác với các dịch vụ bên ngoài, bộ đệm, cơ sở dữ liệu, v.v.

Xác thực và ủy quyền là một mối quan tâm bổ sung mà chương trình backend phải giải quyết. Các điểm cuối công khai và riêng tư, vai trò của người dùng (những gì người dùng có thể hoặc không thể truy cập), thu hồi quyền truy cập, v.v., phải được người quản lý sản phẩm thiết lập một cách tỉ mỉ, vì chúng là nền tảng cho khái niệm của sản phẩm.

Khi một ứng dụng cung cấp một cửa hàng trực tuyến hoặc các dịch vụ dựa trên đăng ký, phần backend cũng chịu trách nhiệm xử lý các khoản thanh toán thông qua Nhà cung cấp dịch vụ thanh toán hoặc, như thường lệ hiện nay, thu thập biên lai từ các cửa hàng di động (Apple, Google, Amazon), xác thực các biên lai đó và hành động tương ứng. Điều này chỉ ra rằng các dịch vụ backend thường xuyên cộng tác với nhau. Điều này còn được gọi là giao tiếp giữa máy chủ với máy chủ hoặc giao tiếp phía máy chủ.

Giờ đây, phần backend của bạn đã hoàn tất, đã đến lúc bắt đầu xây dựng ứng dụng giao diện người dùng của chúng tôi, ứng dụng mà người dùng sẽ giao tiếp trực tiếp.

2. Frontend

Ứng dụng dành cho người dùng cuối của một sản phẩm là ứng dụng giao diện người dùng. Thông thường, khi nhắc đến frontend, chúng ta sẽ thấy một ứng dụng web chạy trên trình duyệt web. Mặc dù điều này là đúng, nhưng bất kỳ ứng dụng nào có giao diện người dùng đồ họa hoặc giao diện dòng lệnh đều có thể được gọi là ứng dụng giao diện người dùng. Nói chung, ứng dụng giao diện người dùng là một phần mềm chạy ở phía máy khách; điều này bao gồm các ứng dụng web, ứng dụng di động và gần đây là ứng dụng truyền hình.

Công việc frontend có thể được chia thành hai mô-đun cơ bản: biểu diễn và logic. Biểu diễn là giao diện, cách các phần tử được hiển thị và cách tương tác với chúng. Logic bao gồm mọi thứ khác làm cho nó trở thành một ứng dụng, chẳng hạn như truy xuất dữ liệu, thay đổi dữ liệu để hiển thị cho người dùng và xử lý các yêu cầu, trạng thái, xác thực đầu vào, v.v.

Tùy thuộc vào quy mô của nhóm hoặc công ty, có thể có những cá nhân chịu trách nhiệm duy nhất về một nhiệm vụ giao diện người dùng nhất định, chẳng hạn như chuyên gia trình bày HTML và CSS và người viết mã JavaScript. Điều này cực kỳ khó xác định trong các tổ chức mới bắt đầu, vì thường không có đủ công việc để phân biệt các vị trí này. Trong các trường hợp khác, các cá nhân chịu trách nhiệm cho cả frontend và backend; những cá nhân như vậy thường được gọi là kỹ sư full-stack hoặc lập trình viên full-stack, tùy thuộc vào chuyên môn hoặc nền tảng học vấn của họ.