Having recently looked into some
theories about coaching I was interested to discover that one key
principle is that the coach does not require a higher level of
ability in or understanding of the subject being coached. Some
even suggest that the coach should not have any skills or knowledge in the
area being coached (or if they do they should hide them well!).
Could this principle be applied to
software development? Does it make sense to bring people in who have
little or no experience of software development and/or your
application area to review your project approach, designs,
architectures, code, etc. Whilst the idea sounds a little crazy (even
to me!) I must confess that I have encountered occasions when very
useful insights have occurred following input from unlikely sources!
I'd be really interested to hear about
other people's views about and experiences of this.
David.