Bạn có bỏ tiền ra mua một sản phẩm mà không biết chất lượng thế nào không? Trừ khi nó quá rẻ kiểu 10K, 50K nếu không dùng đc vứt đi còn lại đa phần chúng ta đều ko chấp nhận bỏ tiền mua bực vào người.
Với phần mềm cũng tương tự vậy, bạn có thấy không thoải mái khi tiếp nhận 1 tài liệu cẩu thả hoặc 1 đoạn source code thiếu logic từ người khác không?
Khách Hàng chắc chắn không muốn bỏ tiền ra cho một thứ chất lượng không ổn định thậm chí gây sai sót thiệt hại. Vậy làm thế nào để tạo ra phần mềm chất lượng tốt?
Hiện nay thời gian phát triển phần mềm ngắn hơn trước nhiều thường là nửa năm hoặc ngắn hơn nữa là 3 tháng. Thị trường đồng thời yêu cầu một môi trường phát triển chi phí thấp hơn, tốc độ nhanh hơn, mà độ tin cậy lại phải cao hơn so với trước.
Vì thời gian ngắn nên spec chưa chốt hoặc chưa rõ ràng mà vẫn phải tiến hành phát triển. Khá nhiều project phải lược bỏ quy trình và các công đoạn đảm bảo chất lượng chẳng hạn như ko quản lý risk, lược bớt review, bàn giao sản phẩm ở mức độ prototype chứ chưa đc thiết kế kỹ, test kỹ.
Một vấn đề nữa do thiếu nguồn lực nên các công ty phát triển phần mềm thường phải chia tách module việc và hợp tác với partner hay thuê outsource ở ngoài nước, phó thác cho họ phát triển cũng như đảm bảo chất lượng. Điều này dẫn đến hệ quả có nhiều TH phát sinh vấn đề chất lượng, sự cố và phải xử lý thêm ngay cả sau khi đã phát hành ra thị trường.
Chúng ta đều biết việc xử lý sự cố (incident) sau phát hành thường kéo dài hơn dự kiến, mất nhiều công sức confirm của nhiều bên, thành viên dự án mệt mỏi chán nản, chi phí phát sinh đội hơn nhiều và rất dễ phát sinh sự cố phái sinh (degrade)…
Vì vậy việc đưa ra cơ chế review và quản lý rủi ro một cách phù hợp với tình hình mới trở nên cần thiết hơn bao giờ hết. Việc cắt giảm hết hoặc thực hiện review nhưng ko đầy đủ hay quản lý rủi ro chậm trễ ko đối ứng kịp thời là nguyên nhân chính gây ra vấn đề.
Có một hướng suy nghĩ đảm bảo chất lượng theo kiểu [Hãy test nhiều hơn nữa so với trước]. Tuy nhiên nếu cách thành phần phần mềm không được tốt ta sẽ tốn khá nhiều công sức test so với ước lượng ban đầu. Mặt khác nếu thời hạn giao hàng quá gấp ta cũng không thể bố trí test nhiều cho dù muốn.
Vì vậy cách hiệu quả hơn là phải quay ngược lại cải tiến các công đoạn phía trước đó như phân tích yêu cầu, thiết kế, lập trình.
Ai cũng có thể mắc sai sót, nhầm lẫn lớn nhỏ bởi những vấn đề về con người, quy trình, kinh nghiệm vân vân. Review là quá trình phát hiện, đề xuất cải tiến, loại bỏ vấn đề ở từng công đoạn phát triển để đưa sản phẩm đến trạng thái đủ tiêu chuẩn đi tiếp được sang công đoạn tiếp theo.
Manager review: Review tổng thể dự án ở giai đoạn bắt đầu, đặt ra các tiêu chí, milestone vân vân
Status review: Review trạng thái dự án định kỳ milestone một cách tổng thể về vấn đề chi phí, lịch trình, chất lượng, sự thay đổi
Closing review: Review tiêu chuẩn đóng được dự án
Development review: Review ở từng công đoạn phát triển như Spec review, design review, Code review, Test review, Release review
Chất lượng của sản phẩm phải được đảm bảo bằng các tiêu chuẩn và để đạt được các tiêu chuẩn đó phải đảm bảo chất lượng, độ chính xác ở từng khâu từ bắt đầu cho đến kết thúc. Ở phạm vi giai đoạn phát triển trong phần mềm nói một cách đơn giản thì phải đảm bảo từ các khâu:
Định nghĩa yêu cầu -> Phân tích yêu cầu -> Thiết kế cơ bản (code, test) -> Thiết kế chi tiết (code, test) -> Lập trình -> Unit Test -> Test -> Giao hàng (Release) -> Vận hành. bảo trì nâng cấp.
Ở từng khâu đó nếu chỉ tin tưởng giao cho 1 người làm bạn có đảm bảo người đó không có sai sót không? Chắc chắn không. Vậy để đảm bảo chất lượng bắt buộc phải yêu cầu bản thân người đó thực hiện self-review và tăng cường các góc nhìn khác bằng cách cross review, group review, …
Thời điểm phát hiện vấn đề tỷ lệ nghịch với công sức khắc phục vấn đề. Càng để muộn khắc phục càng mất công.
Môi trường: Review được thực hiện trên môi trường tĩnh như tài liệu, source code. Test được thực hiện trên môi trường động, thật như chương trình chạy, thiết bị, server.
Thời điểm: Review là trước khi vấn đề xảy ra. Test là sau khi vấn đề xảy ra.
Review tốt sẽ bớt 40%~60% công sức rework.
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE