At Ombu Labs we believe that if we are not learning from our mistakes we are doing it wrong. It is simple: The only unforgivable mistake is to not learn from our mistakes.
That is why we try to incorporate feedback into everything we do. We embrace peer reviews and pair programming as a way to get constant feedback on a daily basis. Even this article had reviews from 3 different people! (https://github.com/ombulabs/blog/pull/154)
Another step that we incorporate into every client relationship is an exit call. This call gives us an opportunity to assess how well we performed.
If we performed well: Great! What can we do more of? If we performed poorly: What can we improve? What can we do to make it better for our next project?
Exit Call Questions
Here are some of the questions that we like to ask:
How was it doing business with us?
Is there anything we could have done differently?
What did you like about our service?
What did you dislike about our service?
What did you think about our Rails upgrade process? Is there anything we can do to improve it?
Did the team communicate effectively? Was our communication with you and your team effective?
Did we meet your expectations?
Was there anything you didn't particularly like?
How would you have done things differently?
Would you work with us again? (In a scale from 1 to 10)
These questions should be the beginning of the conversation. If they respond with short answers, try to dig deeper. Don't settle for an awkward silence or a yes/no answer. Try to ask follow-up questions about their initial answer.
Exit calls have been a great way to learn from our relationships with clients. We have written a few case studies based on these exit calls. For example: Upgrading a Huge Monolith from Rails 4.0 to 5.1
Our secret sauce for our productized Rails upgrade service (https://fastruby.io) is constantly changing, getting better with every project we ship. Exit calls are the best way to keep improving as a company.