There are several important things to consider when you begin planning the implementation of new functionality, integration of existing functionality or bringing in new user groups to the LMS. Some things will naturally vary depending on the type implementation you’re starting, and though there are a few best practices that you should take into account when starting any implementation, due to LearnFlex’s flexibility I thinks it’s best to cover the different types separately so we’ll start off with implement new functionality.
The first step when you begin planning is to map out your requirements. While it may sound pretty simple, it can be tricky to figure out how much detail to include and how much should be left to the business analyst or development team to design and build. Unfortunately no matter how good the teams responsible for documenting, designing or building the functionality are, if the requirements are vague everyone will think of something slightly different to get the job done. If you’ve been in or around the software industry for a while you’ve probably seen the image below, and while it’s a bit of an exaggeration, it’s still quite accurate at times.
The goal is to ultimately figure out what you need more than what you think you may want, so it’s best to keep that in mind. Figure out what your end goal will be, what data you need to have collected and what the user experience will be and then work backwards towards the beginning. Workflows and Use Cases can be a lot of help when you’re trying to map this out so don’t be afraid to add them to your documentation. While it’s possible that the functionality won’t be able to do exactly what you’ve documented, it’ll be easier to analyse the information provided to figure out if there’s a way that it could be done more efficiently with other functionality in the LMS, possible gaps that you may not have considered or changes that may enhance the overall functionality; it’s a lot easier to work with too much data than not enough.
This leads into the second, and possibly most important thing; know your data. If you’re missing requirements you can hopefully catch them during the discovery phase but if you’re data isn’t organised properly, you need to capture something that wasn’t mapped or the data for your imports are wrong when the functionality is done, you could add days or weeks to the project. Many an implementation has gone awry due to missing, incomplete or incorrectly formatted data and you want to be sure to avoid that situation as best you can. If all of the data being added will be created by the new functionality then you’ve lucked out, but in most cases there’s legacy data that needs to be imported along with the changes in functionality. Ideally if you can get a sample of the data either before the requirement gathering starts or before the completed Specification Document goes to the development team, there’s a better chance that the design can be built around the data that you have; unfortunately if you can’t then it’ll put the emphasis on manually manipulating the data to fit the framework that the development team creates and allows for more room for error.
Finally you’ll want to plan the user experience. If the change you’re looking to make has multiple pathways that a user can take through the new functionality then it’s always a good idea to create a workflow of the different paths; a kind of choose your own adventure through Learnflex. This may not be necessary if you’re just making small changes, but if you’re a stickler for formatting, the language used, which fields are required and optional or if you want a specific type of branding on each page then workflows can be really important and save a lot of time during the development process and will help you visualise the process from start to finish.
If you keep these three things in mind when you start thinking about any new functionality you want to have created then you should come out ahead on any project plan that you begin. In another post, I’ll go over adding new user groups, implementing existing functionality and an example of what it looks like when an implementation goes right.
Bradley is a LearnFlex Business Analyst with B Online Learning and has been working with the Learning Management System for over 6 years in a variety of different capacities. He recently moved from Canada to join our Sydney team. During his previous role as a Database Administrator for LearnFlex he developed an interest in database architecture, data mining and the analysis and optimization of business processes with regards to the integration of new technologies.