Imagine you are a SCRUM master - just to align yourself to the nowadays working trend all over the world - getting busy with your team striving to get used to being agile. Or you may be a trainer in some business area, ranging from school to corporate level. That might be a dream of yours. What happens if your budget for the current training and assessment needs is not as generous as you would like, not allowing you to get fancy tools for supporting that kind of activity? Would you not want to prevent your dream from turning into a nightmare? Would you not go for a tool that will let you keep the costs at a minimum when tracking the knowledge level of your people? Not asking for extra funds will make your management love you!
AKnowledge is a tool, which you might want to try. All you have to do is to place it on each of the network computers used by your team or training class, while keeping your questionnaires right on your machine. Make sure you share your printer with the team or the trainees, and the results of your audit will show up next to you. AKnowledge is not as fancy as you may expect, but it does the job it is intended to do.
The idea for the tool came to me while taking a quiz from Leading Answers. I also want to thank Bruno Maia for the icon I used as application icon, and which can be downloaded from Veryicon under the CC Attribution-Noncommercial 3.0 license.
Working with AKnowledge
Suppose you use three (or as many as you need) computers as trainee stations. Place the following three files (which you will download from the article's site)...
...on each of those stations, in a folder of your choice. From the three files, only AKnowledge.exe is mandatory. The image file there is only to provide you with a header when printing the results. Replace it with your own one but keep the name and the file format and extension. No such file means no header on the report.
You will also have to copy one more file - Auditor.q - in the system directory of each of those machines. That file tells the tool where it takes the questionnaire from. Do not forget to change its content, so that it points to the actual location of the questionnaire!
The questionnaires (Auditor.xml) may or may not be identical to each other regarding the questions and answers, but they will definitely contain different subject names. The knowledge area and the subject of the audit will appear in the caption bar of AKnowledge.
On your machine, you will have to fill in your questionnaires. You will actually multiply a questionnaire and then change the subject's name (a person's name or simply the name of the trainee station, it is up to you) and the knowledge area. Group your questions in question groups and provide the answers to choose from, marking the right answer in the XML file. The attribute for the correct answer is either "yes" or "y" (case insensitive).
At this point, AKnowledge is ready for use. The trainee or the subject of your auditing will navigate throughout the group of questions and will make a unique choice from a list of answers for each question. Depending on the value ("yes" or "no") of the interview attribute in the questionnaire (Mode node), the user of the tool is allowed or not to go forward and backward through the question groups, as well as be able or not to see the audit results either during the answering process or only at the end of it. By choosing the non-interview mode, AKnowledge can be used for practicing, as the user can ask for the results while answering the questions and be able to make a new choice. Once all the questions are answered, a double-click on the results area of AKnowledge will show up a print dialog box allowing the choice of a printer in order to get the results printed on paper.
The Implementation Behind
The math behind is straight. For each group of questions, the values of the answers are assumed to be 1 in case of selecting the right answer and 0 otherwise. Those values are summed together and the result is divided by the number of questions in the group, then multiplied by 100 to show the result in percentage.
For each question group, the questions are shown together in the client area of AKnowledge, having the answers reachable through comboboxes. The controls associated with the current question group are created dynamically and the size of application's window adjusts itself depending on the number of controls to show and on the space needed for showing the results. For those leafing through the code, the
ShowQuestionGroup() method implements that behavior. The graphical report uses a different
System.Drawing.Graphics object depending on the drawing destination: either application's window or the printer.
Hints for Networking AKnowledge
- 3rd May, 2011
- 27th May, 2011
Math.Ceiling correction for computing the merit for showing 100% scores
- ASP.NET Security questionnaire provided
- 23rd June, 2011
- Correction of the
null reference object when improper '
ok' attribute is provided for an answer
- Disable the double-click action on results in interview mode as long as the interview is not finished yet