Whenever you are setting up development on any software that requires functionality to be developed it is critical to outline what those functions are. This is particularly important when you are defining requirements for an eLearning, gamification or mLearning project. Typically, this is done in a list called the Functionality Requirements or Systems Requirements depending on the context of what is being developed.
The reason it is critical is because it outlines everything that has to be programmed, but this list is also used for tracking progress throughout development, and can also be used in the Beta Phase as a reference to QA against. This becomes particularly important if you have testers who are not a part of the project and who need to know how the eLearning or mLearning should work and track course completion on the learning management system (LMS) or how the game should render on each mobile device when mLearning is used. Functionality requirements then become a good way of ensuring the eLearning, mLearning or gamification product is working as it should, prior to the course launch.
The standard format that I use is batching selective items into groups under larger categories, the format that I find most useful to work with is Systemname: Description. See the example below.
Module Systems Navigation Systems PreviousNext: User shall be able to navigate to previous and next slides in eLearning or mLearning course. Menu: User shall be able to navigate do different eLearning or mLearning slides using a menu containing all slides in the module Lock: eLearning or mLeanring navigation shall be capable of being locked until decided by the user. Activity Systems Knowledge Check: User shall be able to perform a quiz at the end of the eLearning or mLeanring module that will test against the learning objectives.