Tính toàn vẹn (integrity) là điều khiến người dùng muốn dùng sản phẩm. Phần mềm cần được đặt trong một hệ thống đầy đủ để được phát triển cho đúng. Bản thân nó không phải là “cái đích”, phần mềm luôn là phương tiện để người dùng đạt được “đích”.
Toàn vẹn có hai dạng: toàn vẹn nhận thức (hay toàn vẹn ngoại - external integrity) và toàn vẹn khái niệm (hay toàn vẹn nội – internal integrity). Trong đó toàn vẹn ngoại phản ánh sự nhận thức từ phía khách hàng về sự cân bằng giữa chức năng, tính khả dụng, độ tin cậy và các yếu tố kinh tế.
Tính toàn vẹn nội có nghĩa là các thành phần riêng biệt của hệ thống làm việc tốt với nhau như một thể thống nhất với sự cân bằng giữa tính linh hoạt, khả năng bảo trì, sự hiệu quả và tính đáp ứng. Điều này có thể đạt được bằng sự hiểu biết các miền vấn đề và giải quyết nó cùng một lúc, không phải theo trình tự. Do đó cần có thông tin đầy đủ, đa chiều từ nhiều phía với các hình thức giao tiếp trực diện thay vì các một tập tài liệu dày cộm. Luồng thông tin cần phải là đa chiều: từ nhà phát triển tới khách hàng và phản hồi ngược lại. Để đạt được toàn vẹn nhận thức, cần phải có được toàn vẹn khái niệm trước đã.