It's easy in greenfield projects because they are smaller and less things to break.
They work well on existing projects if the codebase already has a good architecture and has good consistent (and prevalent) patterns.