Các hoạt động Six Sigma cơ bản được viết tắt bởi từ viết tắt DMAIC , viết tắt của: Xác định, Đo lường, Phân tích, Cải thiện, Kiểm soát . Bạn áp dụng những điều này cho quy trình mà bạn muốn cải thiện: xác định quy trình, đo lường, sử dụng các phép đo để hình thành các giả thuyết về nguyên nhân của bất kỳ vấn đề nào, thực hiện các cải tiến và đảm bảo rằng quy trình vẫn được "kiểm soát" theo thống kê.
Vì nó liên quan đến phần mềm, quá trình là vòng đời phát triển phần mềm của bạn (SDLC) hoặc một phần của nó. Có lẽ bạn sẽ không thử áp dụng các nguyên tắc Six Sigma cho toàn bộ SDLC (hoặc ít nhất, không phải ban đầu). Thay vào đó, bạn sẽ tìm kiếm các khu vực mà bạn nghĩ rằng bạn đã gặp sự cố (ví dụ: tỷ lệ lỗi của chúng tôi quá cao; quá nhiều hồi quy; lịch trình của chúng tôi trượt quá thường xuyên, quá nhiều hiểu lầm giữa nhà phát triển và khách hàng, v.v.). Bây giờ chúng ta hãy nói rằng vấn đề là có quá nhiều lỗi được tạo ra (hoặc ít nhất là được báo cáo) mỗi tuần. Vì vậy, bạn sẽ xác định quy trình phát triển phần mềm / lỗi. Sau đó, bạn sẽ bắt đầu thu thập các số liệu như số dòng mã được viết mỗi ngày, tần suất thay đổi yêu cầu, số giờ mỗi kỹ sư dành cho các cuộc họp,
Tiếp theo, bạn nhìn vào dữ liệu và cố gắng phân biệt các mẫu. Có thể bạn nhận thấy rằng đội kỹ thuật A đạt mọi thời hạn mà họ đưa ra và thậm chí thường hoàn thành sớm nhiệm vụ! Ban đầu, đội B dường như không thích bóng - họ bỏ lỡ thời hạn một hoặc hai ngày ít nhất một nửa thời gian và đôi khi trễ một tuần hoặc hơn. Ban quản lý coi đội B là một vấn đề và đang tìm cách làm mọi thứ trở nên tồi tệ hơn. Tuy nhiên, xem xét kỹ hơn các dữ liệu cho thấy tỷ lệ lỗi của đội B thấp hơn nhiều so với đội A và hơn thế nữa, đội B thường được yêu cầu sửa các lỗi do đội A vì quản lý cảm thấy rằng đội A rất có giá trị để chi tiêu rất nhiều của thời gian bảo trì.
Vậy bạn làm gì? Sử dụng dữ liệu bạn đã thu thập và phân tích bạn đã thực hiện, bạn đề xuất một thay đổi: nhóm A và nhóm B sẽ tự khắc phục các lỗi của mình. Với sự ban phước của ban quản lý (và chống lại sự phản đối kịch liệt của đội A), bạn thực hiện thay đổi đó. Sau đó, bạn tiếp tục thu thập số liệu và bạn tiếp tục phân tích dữ liệu để xem liệu thay đổi của bạn có tạo ra sự khác biệt hay không. Lặp lại chu trình đo / phân tích / thực hiện này cho đến khi tỷ lệ lỗi được coi là chấp nhận được. Nhưng bạn chưa làm xong. Trên thực tế, bạn chưa bao giờ thực hiện ... bạn cần tiếp tục đo tỷ lệ lỗi và kiểm tra xem tỷ lệ lỗi có nằm trong phạm vi chấp nhận được hay không, tức là nó được "kiểm soát" theo thống kê.
Lưu ý rằng ở đây không có gì cụ thể cho phát triển phần mềm ngoài các chi tiết cụ thể của quy trình bạn đang cải thiện, các loại số liệu bạn thu thập, v.v. Các hoạt động bạn sử dụng để cải thiện quy trình phát triển phần mềm giống như các hoạt động của bạn d sử dụng cho một quy trình sản xuất widget, mặc dù việc phát triển phần mềm khá khác so với sản xuất widget. Tất cả điều đó có nghĩa là bạn cần áp dụng một số ý nghĩa chung trong các loại mục tiêu mà bạn đặt ra cho quy trình của mình.