Arkisto: September 2016

Beware of the Workload Estimates of Testing

28. Septemberta, 2016 | Kirjoittaja: Antti Niittyviita

I often get asked to give an estimate about the amount of work that needs to be done. How much testing is needed to test the product? Or, how much time might the testing of the project take?

The question about workload estimates leads astray.

Testing fills the space that is planned for it. Always and without exceptions. The purpose of testing is to produce new information that is relevant and important for the business.

What is left to be decided is when we feel like we know enough. In actuality, the most important question is how much would it be wise to budget for testing?

The answer depends mainly on how much the person responsible for testing feels like having a basis to ask for, and how much the money man ultimately gives, as constrained by the structural margins.

Finally, what remains is to come up with the most wise and efficient method of producing the results within the constraints provided.

In actuality, a workload estimate stands for an agreement in allocating resources.

In Which League do You Play at?

16. Septemberta, 2016 | Kirjoittaja: Antti Niittyviita

“A real master makes repetition a heaven”, said Jari Sarasvuo once. He has said a bunch of other things as well, but this came to resonate for long for myself. Testing is repeating the same old same old. Monkey testing. All too often I hear such words from a tester’s mouth. I admit, that the notion has sometimes found a home in my own mind as well.

I have been taken to various kinds of sporting events since I was a wee lad. Football. Iceball. Baseball. Ball. I’ve also followed ice hockey. What has especially stuck in my mind since childhood was Teemu Selänne dropping Oulun Kärpät team to the first division. I was present on that important fifth match. Teemu scored 69 points in his 35 matches that season and came to be acknowledged as the most efficient player in the play offs. Teemu was already playing at such a level, which most will never in their lives reach.

“This week I practiced 15 times for a total of 25 hours. It almost gets too rough, but I have to do it. My desires, my goals and the stakes are so high that if you ever want to become someone, you need to practice. And achievements are only born from hard work.”

Teemu continued to play in the league for three more seasons. In every season more efficient than in the previous one. He wasn’t satisfied with his level, but kept on practicing more. Everyone surely knows Teemu’s show stopping newcomer records in NHL. In Winnipeg Jets he pounded 76 goals in the league and 132 points. This was both an all-time goal and point record for a new comer. Both records were in a league of their own, compared to the previous ones, and they are widely accepted to be unbreakable. I guess he had practiced even more, still.

“In April 1990 Teemu travelled as a guest of Winnipeg to watch NHL playoffs. Teemu understood how much he still had to work for, to reach his goal.”

Teemu Selänne finally won the Stanley Cup in the spring of 2007 at the age of 36. That was also when he finally stopped practicing. Because… what was there left to achieve? Why practice? Teemu continued his career until the spring of 2014, which is to say seven years past the time he stopped practicing. During that time, he did go and win one Olympic bronze and a world cup bronze. Maybe he didn’t stop practicing, after all?

“In autumn 2004 knee surgery started the last period of my career. Then I woke up to realize that I cannot keep on with normal methods, but that I need to really start working hard.”

In spring this year I was glad to spend time in a group which included several people who had been sporting at a high national level. An athlete, if someone, knows about practicing the same things day after day. I asked them how they did it. In addition to simple perseverance they brought up their love to their own sport and how it felt like playing to them. You can not only set a specific number of repetitions to yourself every night before going to bed, but you can have fun and variance in your methods. As it happens, professional athletes do well in the working life even after their sporting careers. Or is it merely a coincidence?

What is your level? What is the level you and your clients aim for? How do you reach this level?

Quotes from Ari Mennander’s book: Teemu. Otava, 2014, page 320.

How Did that Person become So Amazing and Skilled?

14. Septemberta, 2016 | Kirjoittaja: Antti Niittyviita

Have you ever met a person who has a very sharp situation awareness and judgment? The kind who can rise to the occasion and beyond, who can not only discover new perspective to problems, but to also solve them?

While we follow that breath taking situation awareness and judgment we come to think that, well, that person just happens to be that kind. Sigh. I wish I could be, too.

Naturally cutting edge situational awareness and judgment follow from good attributes inherited from one’s parents. Others might find better luck when it comes to inherited attributes, but that is merely a small slice of the entire story.

Across the life time, the significance of other factors lessens. Sharp situational awareness and judgment start to obey the most important of the factors. We call it experience. An experienced fellow is sufficiently sure to rely on the competence provided by that person’s background. At the same time, that person starts to become self-confident in another critical way.

That person permits new ideas to find fertile ground in his or her garden.

Cutting edge situational awareness and judgment are of course among the most important tools for a genuine expert. And they are products of achieved experience. But have you ever thought where that experience, which produces so many great results, is brought by? The kind of experience, which is qualitatively of the highest order and also offers the fastest experience curve?

Experience is born from practicing bad situational awareness and judgment.

Quality Assurance is a Lie that Keeps Destroying Projects

8. Septemberta, 2016 | Kirjoittaja: Antti Niittyviita

Have you ever given thought as to why does it seem to be so easy to drive software projects off the road? We are constantly hearing on the news how especially the bigger projects tend to crash and burn quite expensively. Typically, the project’s budget explodes because of impossible scheduling, or the end product is so bad that no one wishes to use it.

A functioning quality assurance is common in all the failed projects, as well. They put money towards quality and the sums of investment are high, too. But what is it that fails?

The answer is a human. Or more accurately put, the hidden longing in a human to feel assured and in control. The professionals of software business have their own term to depict the kind of work which strives to produce these feelings in others. It is called quality assurance.

The French root ‘assurer’ references insurances, promises, safety and certainty. What is interesting is how the term has started to pick up negative vibes, which are associated with assumptions and arrogance.

Producing assurance does happen to be one end result among the others. In quality assurance, they produce assurance that the product still works just like it did before. It is a medium for the sense of control, because the goal is to produce evidence of the software’s functionality.

There is an opposite force for quality assurance. Its purpose is to negate the sense of control by pointing out which specifications of the system, or architecture, or implementation do not yet work. It is especially good at destroying false senses of control.

This opposite force has a name. It is called testing.

In especially public sector’s information system projects it is easy to totally forget this. Specifications, architecture or implementation go unchallenged towards the quality assurance. Failure is set in stone from day one, when the action strives towards false senses of control.

Actual testing significantly improves the chance of success for software projects. Yet, it becomes impossible to do that vital work of testing, if we strive to keep testing as a part of quality assurance term.

Which is why I suggest the following, keeping in mind the future Finnish information system projects.

Plan quality assurance and testing as separate fields of work. Spectacular successes might be closer than you think.

A Tester ain’t a Star

5. Septemberta, 2016 | Kirjoittaja: Antti Niittyviita

What happens, if a software project becomes a play field for pride and power? When everyone starts camping solely at their own coffee table, and other people are only watched from the corner of one’s eye. And when going for a lunch, it takes place only within one’s own group of either testers or developers, and most certainly not with the big bosses.

When you are working in a project like that, you don’t feel like getting up and to work in the morning. And, oh man, is that my throat that is feeling very sore, and my shoulders are also beginning to ache… hey, wait a minute, isn’t that a sick leave I smell coming up?

The feel in the meetings nears claustrophobic. The coders feel as if the testers are fighting against them. The testers feel that the coders are fighting against them as well. The managers keep tripping everyone else in their work, seemingly whenever they just can. Gosh darn it!

Common sense has no foothold in the decision making process. Or in matters financial, unless the project is facing a total crisis already.

Such is a project that has become a playing field for pride and power.

But what can you actually do about it, should you find yourself stuck in the middle of such a field?

The first and the only step I to combine all the strength to accomplish one single task.

The mission is to make the developer team a star. To let them know, one person at a time, along with showing them just how.

Randomness Generates Order

1. Septemberta, 2016 | Kirjoittaja: Antti Niittyviita

Nature does not play its game by planning or giving reasons for its actions. It already has a strong tendency to form one after another of fascinating structures, all the way from snowflakes to galactic super clusters. Structures, which undisputedly work!

We humans, on the other hand, have a special tendency to unknowingly reject that complexity of nature. We build as straight a street as possible, our houses look like gigantic Lego-pieces, we draw lines between the stars shown on the night sky and if our life is not in “order”, we feel a deep offence.

Do we reject the complexity of nature’s randomness because we cannot understand it? Do we create models of its workings only to be able to discover something which we wanted to discover? Perhaps our simple creations are meaningful, however, because they are all a part of the grand multidimensional play of nature…

Let’s return to the surface! A software is also a model on a practical level, which we have built in our frenzy for creating something. Its functions are accurately pre-determined. Test specifying produces another model – the check model – which might match the software’s model. In our creation frenzy we are easily prone to mistakenly take these models for perfect.

How do we, who are at least imperfect in our mind possibly define something that is perfect? Check models do not generate apparitions, nor can thusly ever lead to perfection. Only as a part of some greater, undefined play prone to randomness can it serve the whole meaningfully.

Reject your human temptation to charge towards the world of models and formalities. Do not seek basis for your actions, nor demand other people to give any for theirs, because the reasons always end up in a restricted, imperfect, model.