Roket gibi karmaşık sistemler oluşturmak için aslen iki yaklaşım vardır: doğrusal ve tekrarlana tasarım. Doğrusal yöntem, bir ana hedef ile başlar ve bu amaca ulaşmak için gereksinimleri geliştirerek ilerler, ardından roketi yapıları, itki sistemleri ve aviyonik sistemler gibi ana parçalarına ayrılmadan önce alt sistemler sayısız yeterlilik testi takip eder. Doğrusal tasarımda geliştirme süreci başlamadan önce bir projenin mühendisliği için yıllar harcanır. Bunun nedeni donanımın oluşturmaya başladıktan sonra bir tasarımın veya gereksinimin değiştirilmesin zor zaman alıcı ve pahalı olmasıdır. Tekrarlana yaklaşım bir hedef ile başlar ve neredeyse eş zamanlı olarak konsept tasarımıyla sınama testleriyle ve prototiplerle ilerler. Bu yaklaşımın mantığı kısa zamanda inşa edip test etmek hataları bulmak ve uyumlandırmaktır.