Training Process

Overview 


Solü Technology Partners has developed a homegrown training program to reinforce core engineering concepts, bring employees up to speed on new technologies and prepare them to be high contributors at customer sites. The following article breaks down the basic concepts of the training program and the processes to be followed while enrolled therein.

The Basics


The onboarding and training program consists of a series of courses in relevant engineering disciplines. A course may consist of a training video, a PDF document, a webpage, or any number of other media formats. As a trainee, you will be expected to perform three tasks for each course:

  1. Take the course
  2. Take the associated quiz
  3. Create and submit your own quiz questions

Each of these steps will be discussed in greater detail below.

The program is conducted mainly within Atlassian JIRA and will serve as the framework for providing training material, quiz material and new question creation opportunities. Other technologies that will be used include Atlassian BitBucket and ClassMarker.


Table of Contents


Issue Structure


As noted, each training course follows the same three-step format. In JIRA, these steps are captured as "issues", and wrapped in a parent issue. This four item package represents a training course; its elements are discussed below:

Training Issue 

This parent issue contains the three sub-tasks required to complete the course, including links to the training and quiz materials and course information (difficulty, area of study, etc.) See JIRA Issues for more information. Along with the three overarching sub-tasks, there may be a list of acceptance criteria. These criteria summarize the essential goals and steps of the Training Issue.

Training Task 

This sub-task tracks the time required to complete the training material. The content can be located at the Training Link provided in the parent Training issue. 

Quiz Task  

This sub-task tracks an estimate of the time required to complete the quiz associated to the training you've just completed. The content can be located at the Quiz Link provided in the parent Training issue. Quizzes may be administered via ClassMarker.

Quiz Retake Task  

This sub-task tracks the time spent re-taking a quiz in the event of a failure. It is created on the fly when a Quiz Task is completed as Failed.

Question Creation Task Question Creation Task

This sub-task tracks the time required to create new quiz questions based on the training you've just completed. The Creating the Questions section, below, covers the workflow for this task in greater detail.

You will be asked to review the quality of the associated material following completion of both the Training Task and Quiz Task activities. Be honest and thorough - this feedback helps determine which content may need to be reevaluated or removed from the training program.

Taking the Training


Be thorough in your review of the training material - completely watch videos and/or read associated written content.

Training Site Credentials

We utilize multiple training providers, including lynda.com and Udemy that require login credentials, some of which do not support multiple users. To ensure that you do not conflict with other users, utilize the Training Site Accounts matrix on the /wiki/spaces/ONB/overview page to check on the status of each login and update availability information as appropriate.

  • To claim a login Set the Status to IN USE and the User to your profile, for example Mark Chadbourne

    You set the Status by actually editing the page, finding the account line you want to claim, and making the specified changes.

     USE

  • To relinquish a login Set the Status to AVAILABLE and clear the User fieldUSE

Taking the Quiz


Quizzes are delivered via ClassMarker and require that you supply your first name, last name and e-mail address to access the quiz and associate the results with your information. Quizzes are closed book and, unless otherwise noted, have a 30 minute time limit and a 75% passing score.

Incomplete Quizzes

On occasion, you may come across a Quiz Link that is listed as https://www.tbd.com - this means there are currently no quiz questions in place for this training course. Use the Mark As Invalid workflow option to flag the task and an administrator will set it to complete for you. You may continue on to question creation.

Failed Quizzes

If you do not complete the quiz with a score of 75% or greater, it is considered a failure. Record your quiz results as normal and close out the issue. Within a few minutes, a Quiz Retake Task will be created to track your second attempt at the quiz. Update this task as normal upon completion of your quiz.

Accurate logging is necessary to improve the training content, so it is important that any failure be recorded - don't retake a quiz by reusing the original task. Failures from multiple users may indicate a quiz that is too difficult, poorly written or erroneous.


Creating Questions for a Quiz


Question Development

Questions should be created in accordance with the process and best practices defined in the Quiz Material Creation Process.

Question Delivery

Questions will be delivered via the creation of a pull request and will require a basic working knowledge of Git and BitBucket as well as access to the question repository housed at [ONB] Question Repository

Initial Setup

We will utilize the Solü Forking Workflow to handle source control management for the Question Repository. 

Get the access to the Question Repository the do the following:

  1. Fork the Repository

  2. Clone the Repository

    Repository Structure

    Once you have cloned the repository, you will have full access to the files on your local machine. Its structure should resemble the following:

    • Courses
      • Common
        • Communication Skills
        • ...
      • Developer
        • Java Essential Training
        • ...
      • Tester
        • Software Testing
        • ...
      • Retired
    • Supporting Content
      • contributors.txt
      • training_list.txt
      • question_template.txt
    Courses

    Each top-level directory under Courses represents a training program - Common, Developer, or Test. There is also a section for courses that have been retired. Under these resides a directory for each of the training courses that fall within that program and within each course directory resides a list of approved question creation submissions. 

    Supporting Content

    contributors.txt a list of all those contributing content to the repository

    training_list.txt a list of all training courses and their attributes

    question_template.txt the current ClassMarker template for question creation; this should be used as the base for all new questions

     Locate your local copy of the repository and update contributors.txt to include your name and e-mail address

  3. Create a Pull Request


    From the forked repository, create a Pull Request. The pull request uses the primary repository as the destination repository. So, by doing this you would be requesting your changes be updated in the original repository. Reference the related JIRA task in the title, include a brief description explaining the reason for the pull request and add the following team members as reviewers:

    Mark Chadbourne
    Mark Vernacotola

    Best Practice

    Referencing the related JIRA issue by name (e.g. ONB-1) in your commit messages and pull requests will create a bi-directional link between JIRA and Bitbucket, greatly improving traceability.


    If the change has been approved, the reviewers will sign off on it and it will be merged into the origin repository. For more information about pull requests, see Making a Pull Request and Pull requests and code review.

Course Creation

If you are the first person to take a new training course you will be responsible for creating the initial structure in the repository for the quiz, but first you need to update the template.

  1. Update the training_list.txt file that appears in the Supporting Content folder.  Please add the course name at the correct location in the file based on the alphabetical ordering.
  2. Update the question_template.txt file that appears in the Supporting Content folder.  You will need to add a new category to the bottom of the list.
  3. Commit and push your change to your public repository.
  4. Create a pull request to merge your commit to the origin repository (including the same reviewers as above).
  5. Next, copy the Course Template folder in the Supporting Content Directory and paste it into the appropriate directory. 
  6. Remove existing files. Leave all of the folders and .gitignore files in place but remove any other files present in the structure.
  7. Proceed with the steps below for creating a new set of quiz questions

Question Submission

While the initial setup is required only once, question submission will be performed following completion of every question creation task. Now that you've completed initial setup, most of the steps to manage this workflow should be familiar to you.

  1. Create your new question content by beginning with question_template.txt and creating a copy named <username>.txt under the directory for the relevant course.  For example, if I were to add questions for the "Java Essential Training" course, I would create my file at the following location:

    Courses
    • Developer
      • Java Essentials Training
        • Submissions
          • mchadbourne.txt
  2. Commit and push the change to your repository
  3. Create a pull request to merge your commit to the origin repository (including the same reviewers as above)

If there is a .gitignore file and the contents are not blank, Git may not see other files in the folder to commit.  An example file that ignores all contents: 

*
!.gitignore

Ensure this was not the intended behavior and remove the file's contents prior to staging in order to commit changes.


Refer to the Question Creation Task page for more detail on the question submission workflow.