Wednesday, February 17, 2010

About Learning

There have been a number of discussions about certifications lately on some of the on-line groups. People seem to be either ‘for’ or ‘against’ testing certification. I am neither, but I am against advertising certification as a way to teach people how to test. The testing certification programs I am familiar with, only show that people were exposed to a certain amount of information, and memorized enough to pass a test.

I have been questioning Carol Vaage1, a grade one teacher, about learning skills. Research says pushing kids into reading by memorizing in the early years isn’t the best way to teach them; getting them to think is much more effective.

To that end, she encourages her class to explore, create, play and invent. This method teaches the children problem-solving skills as well as finding the wonder in learning. They begin to believe they are capable of figuring out the world and the wonderful problems and opportunities. She has an open-ended program where her class can engage in projects that interest them. Brain research shows that constructivism helps their brain the most – i.e. building their own sense of systems. For more on constructivism, see http://tip.psychology.org/bruner.html .
 
She compared her class to some of the very structured classes where instructors teach children reading and phonics using preprogrammed series and worksheets. Carol says that if children start young in a confined structure like this, it is really hard to break them out of the habit of accepting the “authority” (eg. the teacher or the phonics program) as knowing the most. In Carol’s program, children grapple with constructing the language of print as they try to research and seek out the answers to questions they’ve created. They also learn sounds for letters or combination of letters, but in a way that is constructivist; they choose to learn how to read.
She used a math example to help me understand what she meant. There are two ways to teach how to solve it.
  • • teach a strategy and kids can memorize it
  • • give them a problem situation and they invent their own strategies

Guess which one can be generalized? You got it, the ones they can figure out themselves. Her example: 

I gave my kids a sheet of paper and asked them to prove to me that they know how much 100 is. Some of them wrote down 25-50-75-100 and smugly passed in their paper. I said, you’ve shown me 4 numbers. That doesn’t prove you know how much 100 is. Show me more. By the time they had worked with their partners for 2 days, they had some amazing work. Some had drawn groups of 10 dinosaurs, colour coded, others had written out every single number by ones, others had counted by 5’s and drawn a hand with 5 fingers by each number, etc.

This same type of problem on a worksheet would look like this. It has 100 numbers written on it, and 8 are missing. Fill in the blanks.

That’s the difference in thinking that you’re looking for. Something that engages the mind, not limits it to memorization. That’s the lowest on the thinking skills. What you want is the highest – problem solving, synthesizing and creating.

Testing certifications as they stand today, do not test skills or problem solving. They test memorization. As long as testers and organizations that hire testers recognize that is what certification gives you, it is not an issue.

I think we should encourage learning in any form. I would rather testers look to develop their skills, but one of the problems we face, is the lack of courses or training programs. One is Rapid Testing (http://www.developsense.com) . Michael Bolton teaches this with the intent for participants to learn testing skills through exploration in experiential exercises. Lisa Crispin and I have been giving a 3 day course on testing in agile projects for the past year based on our book. We give some theory, but also have interactive exercises to demonstrate how to collaborate, or break down stories into testable chunks, etc., as well as a full iteration simulation. We use different tools to encourage participants to think. We have been asked to turn it into a certification course but have refused as we don’t think it is possible to do so with any degree of confidence.

Carol wrote me an email one day just before school was out for the summer relating an experience she had that day. Her story: “My kids still want to keep coming to school next month - everyone else around us is ready to quit. We still had so much we still wanted to learn. They were finishing up their front pages of their growth portfolios - they needed to write "My Learning Book" and draw or write at least 3 things we learned about this year. They started talking about all the things they learned, and kept drawing and writing - I had a hard time stopping them. One child said – ‘This is more fun than fun day’. That meant I reached my teaching goal for this year. They love to learn! Next year, we'll be learning again - just don't know what - the kids will have a voice in it.”

To summarize, I don’t necessarily think the actual certifications are the problem. The real problem is the artificial need generated by organizations requesting the certificate, and the certification community advertising them as the solution to all testing education.

How can we, as a testing community get the testers in the world want to learn and challenge the status quo – How can we get them to want to learn – anyway they can?

  
Footnote

Carol Vaage holds a Masters in Early Childhood, with B Ed, Ed Dip, M Ed from U of A
For some of the amazing projects Carol has completed with her classes, take a look at: http://carolvaage.net/ She shares one of her projects and how she approached the learning at: ttp://www.2learn.ca/projects/together/STORIES/vaage.html

 

Tuesday, February 2, 2010

Quality – What is it, and what’s the cost?

Last night (Feb 1rsts) at the Scotsman’s pub in Oslo after the XP Meetup, I had an interesting philosophical discussion with Tom Gilb, Geir Amdal and Rune Sørensen.

My definition of quality is pretty simple – A product has a sufficient level of quality if it meets or exceeds customer’s expectations. I know it’s pretty vague, but so are most of the customer’s expectations.

Tom presented some of his ideas about defining attributes of quality with the values varying depending on the defined parameters given by the customer. For example, the quality attribute of availability might vary between 0% and 100%, but the acceptable level for the customer might be 99.5%.

Geir suggested that the most common interpretation of the term in an everyday context (as opposed to the requirements and value discussion) is 'how well a thing is made'. He then talked about how we often have one conception of quality when we speak of quality in general, and another when we're talking about specifics such as Tom outlined. What is its relationship to the cost-time-scope triangle of project management?

We discussed pros and cons of all three ideas and really didn’t solve the riddle. However, about 3:00 am this morning (I was suffering from a bit of jetlag), I realized that I could use a simple example to explain my position.

Let’s take 3 makes of cars. The Mini Cooper, Toyota Corolla, and Kia Rio, all small, all imported into Canada.
  • Base Kia Rio - $14,000
  • Base Corolla - $16,000
  • Base Mini - $24,000
I bought a Mini Cooper for lots of different reasons. Ron Jeffries claims it is because of its cuteness factor and that may be part of it, but I also took into account its reputation (how well it is made). Another deciding factor was its acceleration and handling capabilities. I chose the upgraded Clubman S model so paid more than the base price because I wanted the extra room and the added acceleration.

I drove my daughter’s Corolla the other day, and found it lacking in so many ways. Basics I take for granted never even crossed her mind when she bought her car. I missed my heated seats, and automatic door locks – forget the other reasons. However, she bought it because of its resale value. She has a lease and wants to buy it out and to be able to recoup some of her money at the end of it all. She chose the Corolla, even if it was a bit more money at the time than something like the Kia Rio because of its reputation, but couldn’t afford any of the extras like automatic door locks.

Quality has a cost. If we make all cars to the standards of the Mini or a Mercedes, we eliminate a whole market of buyers. So, although I agree with both Tom and Geir, I still think quality is meeting or exceeding customer’s expectations. In my example, my expectations are much higher than my daughters, but I’m still not willing to pay for the perceived higher quality of a high end BMW or Mercedes. And I really didn't care if it accelerated from 0 to 60 in less than xx seconds. I only cared that it went fast enough for me.

In agile projects, when the customer understands what the critical success factors are up front, it helps the team work towards those delivering to them. If quality is defined as one of those factors, and the customer(s) can articulate it and how much they are willing to pay (a constraint), we can work towards that level to meet their expectation.