I was talking with a friend the other day who told me a funny story that illustrates how we often don’t think about what we do, but just do what we’ve been taught. The story goes like this…
While helping her mother create their Thanksgiving dinner, a little girl noticed that her mother cut off the ends of their ham. Noticing this, she asked “Mummy, why do you cut off the ends of the ham?” “Because that is what my mother did,” her mother replied.
Later on that day, when her grandmother arrived, the little girl asked her grandmother, “Grandma, why did you cut off the ends of your Thanksgiving ham?”. The grandmother smiled and replied, “Because that is what my mother did dear.”
Finally it was time to eat and the little girl was very happy because her great-grandmother had come to the dinner. Sitting at the table, the littler girl could not keep herself contained and had to ask the question that had been bothering her all day. “Granny,” she asked, “Mummy and Grandma cut the ends off their hams and they learned it from you. Why did you cut the ends off your ham?” Granny smiled, thought a bit, and then replied, “Because my cooking dish was too small for the ham, dear.”
Does this story ring any bells with you? What have you been taught that you do without questioning whether it makes sense and is the right thing to do?
In my world of legacy and new software, I believe that critical thinking is well, er, critical. Why? Because it is very easy to get caught up in a habit of doing things just because that’s the way they were done before. In a rapidly evolving marketplace where customer expectations and needs can change nearly overnight, being thoughtful and asking yourself and your team “What does good look like?” leads you to answering corollary questions such as “What does the customer need?”, “Am I programming this correctly or is there a better way?”, “Does this workflow or UI really make sense to the customer”, or “Am I repeating the same mistakes I made before?”.
This one little question… and the need to question things just like that little girl did… lies at the heart of a philosophy of continuous improvement. But the challenge is not always in asking the question, but in creating a corporate culture where people constantly assess what they do in order to seek excellence. How is this done? Let me give you some insights into how we’re doing it right now:
- Ask the question “What does good look like?” for all parts of your dev process and make quality your end goal… Product planning, story creation, dev methods, code generation, QA, QC, etc. all need to be covered.
- Hold reviews with key leaders to assess your processes to make them better. Ask for suggestions. Challenge people. Do not accept mediocrity. Condemn it. It will be your death.
- Reward excellence and make it obvious that you are doing so. If you do it quietly, you are wasting time. If you do it without communicating the standards you use to judge excellence, then you are wasting your workers’ time.
- Build user testing and usability best standards throughout your product creation process. Get close to your customers, make your products easy to use, and you can’t lose.
- Build all of the first four items into all levels of your product design and dev process. Basically, rinse and repeat by setting up regular processes…
So, cheers to that little girl for thinking clearly… and all the best to any dev team that embraces continuous improvement as a means to develop good products by answering the question “What does good look like?”!