In our daily lives as a developers, testers, release engineers, or other disciplines, we are always pursuing to create the best code as possible but always responding to our customers without taking into account the quality of the code we are delivering. Creating good software is not possible without efficiency on meetings, work properly on estimations, previous practice, learning from your co-workers, multidisciplinary teams, teaching to apprentices and having motivation to improve yourself as a professional.