Patterns of large software systems: failure and success | IEEE Journals & Magazine | IEEE Xplore