One of the most obvious spheres of human life, where you should be consistent to reach good results is sport. Ordinary people see only awards and usually don’t notice the chain of activities that have been taken to get those awards. Moreover, usually we don’t think about the people that ensure the results. The same as while talking about software product development we don’t often mention the QAs as people that ensure the quality of the software product. What stages unite the worlds of sporting achievement and software development and what is the role of QA in it?
Actually, there should be “Step 0” – You have an idea of what you want to do and what do you want to get. But we take it by default and going to explore the subject. It is impossible to do your best in something that you didn’t learn up to the smallest details. In sport we should find out what result literally we should aim, what resources we’ll need for it, who is the best in it right now and who could aim to become in parallel, what kind of hidden problems we can find. Isn’t it the same that we should explore before starting to work on software product? To ensure the quality of the product we should know it in details. And while exploring those details we should take a critical look at everything new we discover to prepare the most credible background for planning.
2. Planning and choosing methodology
Which of development methodologies could choose an athlete? Probably, it won’t be Waterfall, because while getting through all long-termed stages one will lose the skills earned at the beginning and the ability to become better using the new skills earned on each new stage. One could choose RUP in case of excessive time. But the most obvious and effective is Agile methodologies. Scrum would let to work on short time sprints, to be sensitive to current situation: achievements and fails and to use new earned skills in the most effective way. Kanban would be the best when it is necessary to control the logical chain of the achievement and for moving forward you need to know what has been already done and how it has been done. It’s quite clear and logical in both cases: Software development and sport.
Planning the whole process and choosing the methodology are indivisible. And it’s also needed to consider the risks. The plan should be properly tested to find all bottlenecks at the very beginning.
3. Interaction of the team
Either on sports pedestal or on the Software product presentation we don’t see the team. We don’t know the role of each in the team, don’t mean the personalities, the skills they had and earned to provide the best result. But we should take it into account when we form the team to make the interaction synergistic, to win the first prize.
The interaction between the developers and the QAs became the talk of the town. And it is very important to understand that both have the same goal – to make a quality product.
4. Reality vs. plans
In progress, the reality almost always differs from what we planned. Especially when we didn’t test the plan properly. When people are too optimistic in defining the terms, when don’t take the risks into count – they get the biggest risk to fall down at the finish line. Like the injury can break the career of an athlete, unexpected problems can break the release terms for software project or to imprint upon the quality of the product. Well-known situation: testers find new issues when it is supposed that it’s done. When those issues are critical – it’s a real “injury” for the product. The best to do in such situation is to be agile to the reality. Don’t look for blame, look for a way to cope with the problem.
5. The criteria for success
- The result is not worst then we aimed.
- Time and budget are not exceeded.
- The team that worked on the current result would be happy to stay together for new achievements.
And it doesn’t matter what we are talking about: software or sports.