Single Post

Chiến lược phát triển web (ví dụ)

Dự án: Phát triển ứng dụng WEB trong lĩnh vực dữ liệu lớn. Mục tiêu là xây dựng một hệ thống sẽ là điểm khởi đầu chung cho nhiều ứng dụng khác. Phần này sẽ bao gồm quản lý tất cả người dùng cũng như các dự án và ứng dụng khác liên quan đến dữ liệu lớn.

Dựa trên việc diễn giải nhu cầu của khách hàng, các nhóm của chúng tôi ước tính công việc cần thực hiện dựa trên thông tin được cung cấp. Trong giai đoạn này, sự chuyên môn của các đồng nghiệp của chúng tôi là rất quan trọng để định rõ chiến lược chiến thắng. Nhiệm vụ đầu tiên là xây dựng cấu trúc cơ bản của ứng dụng từ các công nghệ đã chọn:

  • Nền tảng phát triển Gitlab;
  • Frontend với Angular;
  • Backend với Flask;
  • Hệ thống quản lý danh tính và truy cập Keycloak
  • Hệ thống container Docker.

Phương pháp Scrum mang lại sự kiểm soát hoàn toàn về tiến độ và quản lý linh hoạt. Một tiến triển qua các sprint kéo dài 2 tuần đã được chọn. Mỗi sprint bắt đầu bằng một cuộc họp khởi đầu và kết thúc bằng một cuộc họp kết thúc sprint. Từ chiến lược này, DFM có thể xem xét các phát triển có thể trong thời gian và đảm bảo quản lý dự án chuyên nghiệp.

Thực tế, tích hợp liên tục không được sử dụng ban đầu. Đó là một sự lựa chọn: không bao giờ sửa đổi điều gì nếu nó không bị hỏng. Thậm chí, ý định ban đầu là tích hợp vào hệ thống triển khai liên tục của khách hàng. Vì lý do ngoài ý muốn của chúng tôi - khách hàng muốn quản lý phần này - hệ thống này không hoạt động, chúng tôi đã tạm thời khắc phục vấn đề này bằng cách thiết lập một máy chủ và hệ thống triển khai tự động. Khả năng thích ứng này đã giúp chúng tôi không mất quá nhiều thời gian cho các giai đoạn đầu của việc xác nhận giao diện trong khi vẫn cho phép khách hàng xác nhận công việc của chúng tôi và tiến triển trong dự án.

Ngay sau sprint đầu tiên và các xác nhận đầu tiên, để đảm bảo không mất công việc đã thực hiện, chúng tôi đã thiết lập cơ sở của việc tích hợp liên tục trong hệ thống: Xác nhận bằng Yêu cầu Merge, kiểm tra tự động sau mỗi công việc (trong Yêu cầu Merge) và triển khai tự động sau khi công việc được xác nhận. Điều này cho phép chúng tôi tích lũy công việc từ đầu mà không làm chậm tốc độ phát triển của chúng tôi. Tất cả những điều này với một mục tiêu duy nhất: đạt được chất lượng tốt nhất có thể trong thời gian quy định.

Sau 8 tuần làm việc, tức là 4 sprint, chúng tôi đã hoàn thành giai đoạn phát triển đầu tiên đúng thời hạn. Trong thời gian này, chúng tôi đã tạo ra một hệ thống hoàn chỉnh và tùy chỉnh cho kết nối, quản lý mật khẩu, quản trị người dùng, quản lý chính sách mật khẩu cũng như kiến trúc cơ bản trong dịch vụ micro (hiện chỉ về xác thực) và thiết kế giao diện cũng như hệ thống ngôn ngữ với hai ngôn ngữ được thêm và tệp dịch (Tiếng Anh và Tiếng Pháp).

Quy trình kiểm soát chất lượng đã được thiết lập và sau 2 tháng kiểm tra tại khách hàng, không có lỗi nào được báo cáo. Mục tiêu bây giờ là thêm các yếu tố khác nhau còn thiếu.