Building an Automated Learning Management System
Muhammad Mustafa Monowar
1. Summary
This post outlines how I used Office 365 resources to create an Automated Learning Management System for my Company. I will start with a brief overview of our Backgrounds and Goals. Then I will explain the context of the project. I will then mention briefly some of the tools which I will be using for LMS implementation. The post will then describe the method and the process flows which were used to test and implement the LMS. Lastly, I will briefly contemplate on results and shortcomings of the project.
2. About the Company
The company that I work for is known as Bangladesh-China Power Company (Pvt.) Limited (BCPCL). It is a Joint-Venture of two companies, North-West Power Generation Company Limited (NWPGCL) and China National Machinery Import-Export Corporation (CMC). We are the Power Generation company that owns the largest active Power Infrastructure of Bangladesh till date - Payra 1320 MW Thermal Power Plant. Our aim is to become a leader in Power Generation, which is why we are heavily investing in our Human Resources.
3. Where I Fit in
My name is Muhammad Mustafa Monowar, I am presently working as a Deputy Manager (HR) at the Corporate Office of BCPCL. I was the first Human Resources Executive recruited in the Company. I have been actively working to develop innovative solutions for the company. I am passionate about learning, and consider myself a tech-enthusiast.
4. Context of the Project
Ever since the COVID-19 Lockdown began, we have been working from home. I lead the Training and Performance Team, and I was worried on how we could carry on with the trainings amidst the Lockdown. Thus, I began researching on this and came up with this solution.
4.1. Goals of the Project
The Goal was to create an Automated Learning Management System, where employees will be able to log in with their credentials and participate in the courses of their own preferences.
4.2. Objectives of the Project
- Create a Sustainable Infrastructure for learning
- Make the best use of automation
5. Tools that I am Using
5.1. Office 365 Platform for Businesses
Our company recently subscribed to the Office 365 Platform for Businesses with the aim to develop a Paperless Office. With more than 15 application tools available, we are still learning everyday on how to better use this platform to carry out tasks and projects with greater efficiency.
5.1.1. SharePoint Online
SharePoint Online or SharePoint in short was our primary tool. We used SharePoint to create interactive websites, and control user groups and access.
5.1.2. Forms
Forms is what it says. It is a digital survey and data collection tool. We used Forms to collect information about users, their intentions and progress through the course.
5.1.3. Power Automate
Power Automate, formerly known as Flow, is at the heart of this Project. It is a Business Process Automation tool. We used Power Automate to execute the steps outlined in the Method Section.
6. The Method
6.1. Getting Started
I got started with reviewing the tasks, goals, and related resources. Working on a project like this, it is good to keep things organized. I started with creating a project folder, and a Project Log file.
6.2. Tracking the Project
In the project log file, I kept two portions
1. The Dashboard: Whatever work that needs to be done goes here
2. The Log: Whatever work that has been done moves to here.
I also used Agile tags, i.e. User Story, Feature, Task, Bug etc.
6.3. Preparation for Courses
As a dummy course, I decided to use my own courseware on Personal Knowledge Management. I had the PowerPoint slides ready. All I needed to do is to slice it to PNG formatted images. I also needed to prepare course Outline beforehand.
6.4. Creating a Catalog of Courses
I now needed to create a Course Catalog. For this, I used the SharePoint Communication Site option to create a LMS website first. I had to design the landing page first. Next, I set up the necessary documents, lists to support my next steps.
I tweaked the permissions so that it stays visible to me only, while I test the website. In one of the lists, I created the Course Lists (list)
The fields would be somewhat like this -
Table-1
- Course Code
- Course Title
- Course Facilitator
- Course Duration
- ID(hidden)
6.5. Creating Course Enrollment Mechanism
Next, I created a course enrollment page. This is where it got a bit complex. I started with enrollment page link mentioned in the Course Enrollment List.
Table-2
- Course Code
- Course Title
- Course enrollment Link
- Course Description Link
The course description link leads to a Course Enrollment Post which also includes a course Enrollment link. The course enrollment link leads to a form where the participant will be asked to fill in the following information -
Table-3
- Course Code
- Participant (Person)
- Participant Name
- Participant Designation
- Enrollment Status
With this, I was ready to get started with testing enrollment.
6.6. Creating Participant List
The Participant list has the same fields as Table-3. Once I have created the SharePoint List, it is ready to pull data from the enrollment form.
6.7. Creating Completion Status
The completion list, is where employees who have completed the courses will be listed. To do this, I created a course evaluation form. When this evaluation form is submitted, it will trigger the flow leading to updating of the list as completed status.
Table-4
- Course Code
- Participant (Person)
- Participant Name
- Participant Designation
- Completion Status
7. The Process Flows
7.1. Automating the Enrollment Process
Now I had to design the enrollment automation. To do this, I created the following logic -
1. Get Form
2. Get form information
3. Create List item
4. Send an email Notification to the person who enrolled.
This means that once someone enrolls for the course through that form, their name will be updated on the list and they will receive a notification with the link to the course sub site.
7.2. Automating the Course Curriculum
Once the participant receives the course curriculum, he/she will be greeted, through a welcome post, and will be guided to explore the course curriculum.
The materials have to be designed in such a way that the course curriculum is not too lengthy or too short. There should be activities to engage the participants as well as hyperlinks to various resources, videos and posts.
7.3. Automating the Course Assignment Submission
I kept the guidance to submitting assignments, which was made easy through the forms submission. When someone submits a form, it follows the following logic -
1. Get Form
2. Get form information
3. Create Item in SharePoint Documents (this is in the course sub site)
As a result, all the assignments are collected through the flow, and stored and renamed as per the names of the participants in a document repository.
7.4. Automating the Course Evaluation Process
To automate the course evaluation process, I used another form, a Quiz Form where marking will take place. Once a participant submits this, a similar logic will follow -
1. Get form
2. Get form information
3. Update the list (Course Completion)
7.5. Automating the Course Completion
To confirm that the employees have received the notification of completion, I used yet another flow. Here the logic is as follows -
1. Get SharePoint List (Course Completion)
2. When a new item is created
3. If, Status is "Completed" then
4. Send an email to the respondent
At this point, the user will receive an automated response stating the course has been completed and congratulating them on their hard work.
8. Results and Shortcomings of the Project
The results were pretty amazing. When I first started testing, I got the notifications as if I was the participant. All I had to do was click and follow the instructions. However, there is a lot of room for improvement.
8.1. Automation Time
The automation is almost instant, but in some cases it could be improved. Still, considering the amount of logics it has to perform, it is absolutely amazing.
8.2. Automated Certificate Generation
I couldn't include an automated certificate generation flow, because it requires some premium features which is not included in our plan.
8.3. Getting analytics
For the same reason, we could not use full potential of Power BI in getting real time analytics.
8.4. Making Smarter Process Flows
Since this was my first time with something like this, there were obviously a lot of mistakes, and the flow designs themselves could be improved to act smarter and more efficient way. Same goes for the list, my initial plan was to have less lists, but it ended up having lists for different purposes.
8.5. Getting everyone to Participate in the Trainings
The first course is now open for all BCPCL employees. Being an automated process, people might still feel reluctant and require the need of the physical presence of an instructor. Getting everyone to participate in the trainings actively is one of the next big challenges.
9. Closing remarks
I had worked hard on this project. For me, the motivation had been to help my co-workers learn something differently in the times of social distancing and isolation. I have learned a lot throughout the past weeks. If this project helps my co-workers in their learning, that will be the point of my satisfaction.
***