Looking at a lot of MVC source code, I notice that most MVC projects (especially larger projects) implement dependency injection in one way or another.
I have two questions. First of all, is it feasible to create a large project without using dependency injection? I understand dependency injection makes large projects a lot easier to maintain and unit test. But how much more complex would a project be that didn't use dependency injection?
Second, when scoping the requirements of a new project, what criteria should I use to determine if I should use dependency injection? It requires a lot of initial setup and sometimes it seems unnecessary for a quick simple program.