To be an effective coach … you must have the following four foundational knowledge areas/skills — the ability and know-how to:
1) teach
2) mentor
3) coach professionally
4) facilitate
If you are a lean-agile coach, then the fifth is essential — the subject of what you are coaching about — add to the aforementioned 4 foundational:
5) lean-agile subject expertise
In addition, a coach can have a deep focus /knowledge on one or all of the following three legs where you are expected have deep understanding:
1) technical — are we building the software right ?
2) business — are we building the right software?
3) transformational — i.e. moving from waterfall to lean-agile ; from one mindset to another.