DevOps and Agile: Key Differences and How They Complement Each Other