Scrum doesn’t define an Agile Coach role. In fact, Scrum says the Scrum Master should be coaching on Agile for the organization. DSDM has a defined DSDM coach role, the purpose of that role is to coach the project team on Agile. So why would you need an Agile Coach if you work with one of these defined frameworks?
The short answer – Organizational Agility.
If you are only going to use an iterative approach for your projects or product development and not adopt the underlying complexity values, then you may not really need this role. If you only want Agile projects but don’t care much for Agile outside of that, again, this may not be a role your organization would want to have.
If you are looking for a strong organizational shift and bringing about huge cultural changes – and/or maintaining them – an Agile Coach may be a much-needed addition to your team. Adopting an organizational approach to Agile can work for any organization anywhere to improve that organization.
From a whole organization perspective, it isn’t very practical to expect the Scrum Master(s) to work with the Scrum Team, the Product Owner, and also have them serve as an Agile Coach to the whole entire organization. This might work in a small organization, but it won’t work well in a huge organization with lots of moving parts.
The meaning of Agile has really changed some over the years (more on that in this post: Complexity Theory: The Most Important Part of Agile). Even Scrum now has Agility leadership classes and certifications to bring the values of Agile out of the project. It is those values that have always made Agile more than just an iterative development approach to software. It is those values that we want to bring out into the organization to help the people within the organization. An Agile Coach could help facilitate that transition.
See Are Agile Teams Leaderless? for more detailed information on the leadership structure in a more formalized team framework.