Kate Terlecka an experienced Scrum Master, Coach and Trainer from Poland describes her vision related to our urgent question “poor quality of software”.
About the author:
Kate Terlecka is one of the most experienced professionals, coach, trainer & an independent consultant in the field of Agile and Scrum in Poland, including her team management all over the world. She is one of the Scrum.org’s Professional Scrum Trainers and the Agile Special Forces – usually thrown at “the challenge of your life” teams & projects. She researches human behavior and team dynamics with focus on gender and cultural differences. Kate also teaches classes on scrum, management practices and coach individuals and also is a talented author of theblog named “Control Your Chaos” and owner of BrassWillow company. Feel free to get acquainted with achievements of this efficient master.
1) Why customers get poor-quality software while working with remote software development teams?
2) According to your experience, if you could distinguish three key reasons of poor software quality, what would they be?
Kate Terlecka: Let me answer these two questions in one, since they are very similar.
There are a few reasons, but three of them are the most significant in my opinion.
You probably heard that only 20% of the communication is enclosed in words. The rest is in the interaction – the body language, the tone of voice, facial expressions and the general feel of the other person. If you’ve never met, you cannot imagine what that particular person needs. If this happens, engineers will build something that will be good to their best knowledge, but it’s their knowledge – not the person’s using the solution. This way technically this system can be good and high quality, but if it comes to usability, it will fail to deliver the value. Same rule applies in the other direction. A customer or a user of a software team cannot imagine what will they need in the creation process without meeting them. So instead of making them meet, someone puts an analyst that serves as a go-between. This creates the effect of the Chinese Whispers – the person in the end has no way of knowing what the person in the front actually meant.
What’s even more interesting is that you don’t really need a remote team for all of this to happen. Lots of companies fail to talk to their IT guys, even if they sit 3 meters from them.
The problem with software is that it’s an extremely complex element. It’s actually so complex, in lots of cases it’s literally unimaginable. Even experienced professionals are unable to comprehend the whole, large computer system. They rely on some rules and set limits to operate in this world. It’s just like programmers were creating a new universe, with the laws of physics included. And each and every system is different. The possibilities are endless. There are some guidelines that help create a system which is maintainable and easily understandable, but applying these rules seems expensive. The problems one starts facing is when we are getting close to the deadline and programmers are pushed to cut corners. This results in exponential growth of the complexity and price of the system.
Last, but not least – or actually the most important is value. When working with a remote team, you only pass orders through some way of communicating. The most important should be realizing what you actually want to accomplish with this system. The usual answer is: I want to make/save money. True, but how? If the team building the software knows that the primary focus is to, for example, shorten the time of customer service, they will strive to automate as much of the process for the customer service assistant. If the value is in people making payments, they will focus on the swiftness and reliability of the payment app. But first, you, as the customer, have to realize what that value is. This way you will get the quality and reliability you need.
3) Could you give customers a practical piece of advice, what they should pay their attention to in order to avoid low software quality?
Kate Terlecka: Pay attention to all of those three factors. Be there for the people who are building your software, contact them with real users, so that you can get what you need and your money’s worth. Mind complexity – remember that they are building a new universe, setting new laws. So agree on standards, trust their expertise and inspect the outcome often, so that you know you understand each other. But to do that, you need to know what value really means for you. So start here.
Get involved into a discussion with our experts and get to know how to avoid pitfalls in IT business!