Scrum uygulama geliştirme yönteminin temel özelliği gözlemci, geliştirmeci ve tekrara dayalı olmasıdır. Klasik Waterfall yönteminde ise bu tekrarlar bulunmamaktadır ve bazı problemler içermektedir. Teknolojik değişimler ve hızlı değişen müşteri gereksinimlerinin karşılanamaması, müşteri ihtiyacını karşılayan kaliteli ve hızlı ürün çıkarılamaması bu problemlerden başlıcalarıdır.
Scrum, birçok modern yazılım projesinin oldukça karmaşık olduğu ve en baştan tümünü planlamanın zor olacağı şeklindeki bir varsayımdan hareket eder. Bu karmaşıklığı üç ilke ile azaltmaya çalışır.
- Şeffaflık: Projedeki ilerlemeler ve sorunlar günlük olarak tutulur ve herkes tarafından izlenebilir olması sağlanır.
- Denetleme : Ürünün parçaları ya da fonksiyonları düzenli aralıklarla teslim edilir ve değerlendirilir.
- Uyarlama: Ürün için gereksinimler en baştan bir defalığına belirlenmez, bilakis her teslimat tekrar değerlendirilir ve duruma göre uyarlamalar yapılır.