Phát triển phần mềm linh hoạt theo mô hình Big Bang

Phát triển phần mềm tinh gọn, linh hoạt theo mô hình Big Bang

Big Bang Là Gì?

Big Bang là một mô hình phát triển phần mềm (Software Development Life Cycle - SDLC) không theo bất kỳ quy trình chuẩn nào. Sự phát triển chỉ bắt đầu với chi phí tối thiểu cần thiết và các công sức của nhóm phát triển ở mức độ đủ hợp lý trước khi kick-off một kế hoạch dự án lớn hơn sau đó.

Mô hình Big Bang không có một lộ trình phát triển hay quy trình quản lý cụ thể. Khách hàng cũng không chắc chắn về yêu cầu của mình. Toàn bộ nguồn lực dự án được dành cho "coding", giảm thiểu thời gian dành cho quản lý cũng như nghiên cứu (R&D). Team phát triển có quy mô nhỏ và do đó mô hình này thường được áp dụng cho các dự án nhỏ.

Khởi đầu phát triển với kinh phí thấp và công sức của team chỉ ở mức độ vừa phải, có thể nói là khởi động chậm và tăng dần theo thời gian. Big Bang là một mô hình rủi ro rất cao vì chỉ cần có một yêu cầu hiểu sai là có thể dẫn đến thất bại.

Big Bang Model

Ưu điểm của Big Bang:

  • Mô hình rất đơn giản để thực hiện, không cần lập kế hoạch chi tiết.
  • Dễ dàng đạt được từng mục tiêu.
  • Quản lý dễ dàng hơn.
  • Không cần nhiều nguồn lực cần thiết.
  • Chỉ cần kế hoạch tối thiểu cho từng giai đoạn.
  • Tránh được vấn đề nguồn lực hạn chế, giảm bớt được chi phí không cần thiết ở đầu vào.
  • Các kỹ sư phát triển có sự linh hoạt hơn trong việc áp dụng những ý tưởng hoặc ý kiến ​​của họ.
  • Các thay đổi (CR - Change Request) dễ dàng được chấp nhận hơn ở bất cứ giai đoạn nào.
  • Tạo cơ hội cho sinh viên mới ra trường, những Junior Dev ít kinh nghiệm có thể tham gia ngay vào dự án mà không gặp trở ngại về quy trình cứng nhắc.

Nhược điểm của Big Bang:

  • Không thích hợp cho các dự án lớn và phức tạp.
  • Không phù hợp cho các kiến trúc phần mềm phức tạp (thí dụ MicroServices).
  • Mô hình khá yếu cho các dự án dài và liên tục.
  • Nếu yêu cầu không được hiểu rõ, hoặc chưa được phân tích thấu đáo có thể sẽ khiến bạn phải trả giá.
  • Rủi ro cao là không có quy trình chính thống để quản lý chất lượng một cách chuyên nghiệp.

Trong vòng đời phát triển phần mềm (SDLC) không có kỹ thuật cụ thể nào gắn với mô hình Big Bang. Mô hình này được xem như "tự phát". Một dự án có thể bắt đầu chỉ với một kinh phí nhỏ và nguồn lực vừa phải. Big Bang liên quan đến việc lập kế hoạch tối thiểu và không có công thức cụ thể. Đây là loại mô hình được áp dụng trong trường hợp khách hàng không chắc chắn về những mong muốn của mình và không có phân tích tốt để ra một bài toán cụ thể. Vì không có nhiệm vụ phân tích, thiết kế cụ thể, mô hình này có xu hướng được rủi ro hơn nhiều so với các mô hình khác.

Những thách thức của Big Bang:

  • Nguy cơ cao về bảo mật phần mềm do tư duy làm vội, để lại nợ kỹ thuật (technical debt).
  • Không phải là một mô hình tốt cho các dự án khó, các dự án yêu cầu chặt chẽ về kiến trúc, về hướng đối tượng.
  • Mô hình không hiệu quả cho các dự án lâu dài và liên tục.

Thách thức cho Big Bang model

Triển khai mô hình Big Bang

Big Bang là mô hình đơn giản nên không quá khó để triển khai. Mô hình này nhấn mạnh vào yếu tố thử nghiệm của module về tính sẵn sàng để triển khai hoặc "go-live" ngay. Thí dụ tích hợp một module nhằm thử nghiệm nhanh và kiểm thử liệu có bất kỳ vấn đề nào bất khả thi hay không.

Triển khai mô hình phát triển theo Big Bang sẽ có những đặc điểm sau:

  • Các module được tích hợp chỉ khi tất cả hoặc ít nhất là một phần của mỗi mô-đun đã sẵn sàng.
  • Mỗi module được kiểm thử riêng biệt để xem liệu có vấn đề nào xảy ra với module đó hay không.
  • Nếu trong trường hợp một lỗi được ghi nhận ở quá trình tích hợp, module đó lại được tách ra để tìm nguyên nhân gốc rễ của vấn đề. 
 

Ứng dụng Big Bang vào thực tế

Big Bang bao gồm tập trung tất cả các nguồn tài nguyên (con người, tài nguyên trí thức...) vào việc phát triển phần mềm với lộ trình tiết kiệm nhất, tối ưu nhất, với kế hoạch rất tinh gọn hoặc gần như không có kế hoạch chi tiết nào khi mới bắt đầu dự án. Chỉ đưa những hạng mục công việc đột xuất nào đó vào kế hoạch nếu thực sự cần thiết. Tuy nhiên bất kỳ thay đổi cần thiết nào cũng đều hướng đến mục đích làm mịn ("refurbish") phần mềm cho hoàn chỉnh, không phải nhằm "thêm việc" hay "kéo dài thời gian triển khai". Thí dụ team dự án nhận ra chức năng đăng tải công văn thiếu tính năng "phê duyệt", dẫn đến luồng không khép kín. Đó là vấn đề cần giải quyết ngay bất chấp việc có thể ảnh hưởng đến tiến độ dự án.

Mô hình Big Bang

Mô hình này là hoàn hảo cho các dự án nhỏ với một hoặc hai kỹ sư phát triển làm việc với nhau và cũng có ích cho các dự án học tập hoặc thực hành. Đó là một mô hình tốt nhất cho các sản phẩm mà yêu cầu cụ thể không được "clear" từ đầu và ngày launching sản phẩm không được công bố rõ ràng.

Kết luận

Mô hình Big Bang không thích hợp cho các dự án lớn. Mặc dù không phải là một mô hình được sử dụng rộng rãi, Big Bang có thể được sử dụng cho các dự án ít phức tạp và giả định rằng những người tham gia dự án cũng đã thành thạo với công nghệ hoặc ngôn ngữ lập trình mà sẽ được sử dụng để phát triển các ứng dụng.

Big Bang là một mô hình rủi ro rất cao và bất cứ thay đổi về yêu cầu hoặc thậm chí chỉ cần hiểu sai về bản chất nghiệp vụ cũng có thể dẫn đến sự đảo ngược hoàn toàn dự án, rất khó có cơ hội để sửa sai trừ phi dự án có nguồn ngân sách bổ sung hoặc được chủ đầu tư gia hạn thêm thời gian. Mô hình này chỉ phù hợp hoàn hảo cho các dự án lặp đi lặp lại hoặc nhỏ với rủi ro tối thiểu.

Henry Phạm,
CTO, TIGO Solutions
Nguồn: TIGO Solutions