Kiến trúc hệ thống
Theo nhiều nghiên cứu, dự án phần mềm càng lớn, cơ hội thành công sẽ càng ít bởi vì độ phức tạp vượt quá khả năng của người phát triển để hiểu nó. Chìa khoá cho thành công phụ thuộc vào khả năng của kiến trúc sư hệ thống phân rã các yêu cầu thành các nhiệm vụ nhỏ hơn để cho những người phát triển có thể hiểu và có khả năng thực hiện chúng. Khi người phát triển đã hoàn thành, những việc này có thể được tích hợp vào trong hệ thống lớn tương ứng với kiến trúc đã xác định.