And not everyone has the same abilities. Tayloresquece methodologies like Agile are great for getting mediocre results for mediocre projects using mediocre developers (if they are not mediocre to begin with, certainly they will become so) in a repeatable and reportable fashion.