modularize code and use consistent specification, testing and deployment tools across code in different languages