Feedback

This provocative title of this video caused me to reflect a little on the different types and aspects of feedback.

There are different types of feedback. Feedback from yourself (self-reflection) is an important skill and having delineated points where we pause and reflect helps this process. An iteration is a good point at which we review what we’ve done and decide where to go next. A pull request is a natural iteration cycle in software development efforts.

Beyond self-reflection, perhaps the next type of beneficial feedback is from those with whom we have some type of relationship (team, associate, friend, spouse, etc.). They understand our work and known enough to not add needless churn into the issue.

Lastly, feedback from customers and the community around your projects/products can be valuable. This is a little more tricky and is what Jason is referring to as 37 Signals is working on a product that is well established and in a way they are the primary customer – they built it for themselves first. They are successful because they are not afraid to follow their instincts. But there are plenty of people who develop a project or product that never goes anywhere. Somehow you have to know if you are solving a real problem that people have, or are just inventing neat stuff.

There is helpful and unhelpful feedback. Good feedback adds value, but bad feedback wastes time. Giving and receiving feedback is a skill – can we provide feedback without demotivating people? Have we carefully reviewed all the facts and details before we speak? It may help to frame our feedback as questions (have you considered…?) instead of statements (I think …) which may appear condescending.

Can we accept bad feedback without being hurt or demotivated? The most successful OSS authors seem to be those who have thick skin. They thrive in the boiling pot of unsolicited feedback and commentary, are able to take what is helpful, ignore the rest, and keep producing.