This blog post is a republish of how I described the book last autumn in the Indiegogo crowdfunding campaign. It gives some depth to the book.
The book tells a growth story of two 10-year old children, Laura and Tom, from kids into knight apprentices.They learn about dragons and knights fighting those dragons, and get into real action themselves, too. They get help from male and female knights and a wise old sage. The stories take place in a setting resembling medieval Europe. As these fantasy stories unfold,I explain to the readers the software development and testing world in analogies or parallels.
Each chapter introduces another type of dragon, which represents a software defect/bug in the real world. Knights represent software testers and developers. Villagers and the two children represent software users. And so on. Everything is an analogy. Obviously, the knights and villagers want the dragons out of their towns and villages, hence also the name of the book “Dragons Out!”.
Here is a sample of dragon story in the book draft translated into English:
At night, Sebastian woke the children and they walked to the guard post. The sky was full of bright stars, but otherwise, the only light came from Sebastian’s torch. Cypress scent was in the air. For a long time, you couldn’t hear anything but the rustle of the wind in the trees and crickets chirping. Suddenly Laura startled when Sebastian shook her shoulder. There were flames a few houses away. They walked carefully closer. One wall of the house was about to collapse. Flames were getting stronger. They saw a dark shape hovering in front of the fire. It had black wings and a long winding tail. Now it breathed fire towards another part of the wall, which burst into flames. It was a dragon!
And here's a sample of testing explanation in the book draft translated into English:
In the story, the team of knights found and killed the dragon. In real life, the software development team together (developers and testers) was able to find, locate and fix the defect. They shared tasks in a way that everyone helped each other using their special skills. In the story, Knight Swanlake was talented in finding dragons. In the real-world, she was better in testing than the rest of her team members, which was why at this time she found the defect. In the story, Knight Yellowbeard was good at building the palisade and figuring out ways to kill dragons. In real life, his coding skills were excellent, so he thought of the way to remove the defect.
The structure of the book is straightforward. In each chapter, I first tell a fantasy story of a new dragon, and how it is banished from the village. My storytelling is complemented by the amazing illustration from Adri. I explain the analogy of the story into software testing and development in side-boxes that are available for reading as one reads the story, or afterward. How is this kind of software defect found through testing? Why is it harmful to software? How can it be removed? As new computer, testing or development terms are mentioned, I explain them as simply as possible in a vocabulary. In the end of each chapter, there are a few exercises for learning the software testing topics a bit better.
The book is such an interesting piece of adventure fantasy that it is impossible to stop reading it. My 10-year-old beta readers of the various chapters of the book have encouraged me to publish the book. They say the story is catching and they would like to read more of the same. The understanding and interest of software testing come as a natural by-product. My adult beta readers from software testing, teaching, and other backgrounds also praise this as a unique and interesting approach that will be a success. They think the story is good and software testing is explained very clearly. They also tend to laugh at some of the analogies in the book. The more you know about software development, the more you can appreciate how information technology concepts turn into fantasy. I have infused the stories with the analogies, something I have practiced in my blogs over the years. The readers can return to the book over and over again, to understand the software testing via the used analogies. Examples, in general, are usually one of the best ways to learn. The book is a storytelling way of learning about software testing for readers of any age.
I have chosen the theme of dragons and knights for a multitude of reasons. Firstly, I’ve been a big fan of fantasy literature from a young age, starting from Tolkien. I have been involved in roleplaying for the past twenty years. My passion for fantasy extends to writing, too. Authoring fantasy is one of my dreams. Secondly, I do believe the fantasy theme appeals to youth today, probably even more than in years past. There has been an on-march of medieval fantasy, including dragons, in books, movies, toys and so on. This trend seems to be continuing. Thirdly, I have a wonderful son, who is a big fan of dragons. This is also for him!
I got my first idea for a book that would combine fantasy and software testing years ago. I wanted to find a way to make software testing interesting to kids. People in the software testing industry understand very well that there is always a shortage of software testing. It usually stems from not knowing enough about the importance of testing. Testing is easily considered a necessary evil. However, it is enormous fun and a profession of its own. Why not tell about the fun of software testing already to children in an engaging way? Dragons and knights found their way into my book. Finally, my sabbatical year gave me a chance to put some words together to make the story. I wrote the first draft of the first chapter in Finnish in late 2018 and sped up with the other chapters during the rest of my sabbatical in 2019. There are many more steps to take, including deciding about the extent of illustration, negotiating with book publishers, and editing the book. But we'll get there soo
One major goal with my Dragons Out book project has been to reach all the schools in the world to give the students the opportunity to learn about software testing. I realize this won't happen with the book alone, not even translated to multiple languages. There needs to be also free content for available for anyone. I have created a PowerPoint presentation that is suitable for 1 or 2 lessons in school. The presentation is Creative Commons licensed, meaning everyone can use it as long as they attribute me as the source. The presentation carries the same fantasy theme as in the books but it is set more into a lesson format. I piloted the presentation and even though students liked it, for teachers there is some learning before they can deliver the presentation well. To make the learning of the teacher easier, I've created a recording of the presentation and uploaded it to YouTube. You can either play the recording to students or use it for practising to deliver the presentation
I am inviting more ICT-companies (and individuals, of course) to participate in the Finnish donation campaign. Now is the last stage of the campaign as I am in discussion with the Finnish Ministry of Education about finding a time slot to hand out a Diploma of Donated Books to the Minister of Education. It would be grand to have a really impressive list of companies in that diploma. You can help! I have some books left in the preorder stock of Finnish books, so just order books at https://www.dragonsout.com/p/preorder-dragons-out-book.html and you'll participate in the donation! Thanks to my employer Knowit for issuing the donation challenge earlier - now, let's finalize it! Consequently, I'm also inviting more schools to make use of the donations. So far it has been mostly grades 4-9 in various schools and some coding clubs which have taken the book and the supporting teaching material into use. The form for expressing interest to receive donations is at https://www.dra