Apprix Builder training tool is used sim­ul­tan­eously by dozens of clients, in hun­dreds of training courses and by thou­sands of users. It is obvious that dif­ferent parties have quite dif­ferent needs and expect­a­tions, relating to the devel­opment of the Builder tool, which are dif­ferent from those of others. The aim of this blog post is to dis­close and talk a little about the ways how Apprix handles product devel­opment in a manner that wishes of everyone involved could be sat­isfied in the best pos­sible way.

Builder has been set up such that it allows to perform a wide range of eLearning courses, while making all its func­tions available via a web browser. Therefore, the same software needs to have a really large number of dif­ferent func­tions used by dif­ferent users.

The core prin­ciple of devel­oping of the Builder system is that:

  • We are basically ready to implement the system such as to include any­thing that the cus­tomer wishes.
  • Our aim is to realise all the most com­monly used items on the wish list such that they could be offered to any other Builder users as well.

The above-men­tioned prin­ciples are not self-evident, and not all com­panies providing SaaS (Software as a Service) ser­vices are oper­ating in this manner. For instance, it would be much easier to have no client-spe­cific cus­tom­iz­a­tions ever made to the software, and instead provide just one and only software version which is the same for all (in fact, it is a quite common practice: or have you ever heard about Microsoft providing someone their requested cus­tom­isa­tions to word pro­cessing, spread­sheets, etc. software con­tained in Office 365).

Our top-level objectives relating to the cus­tom­isation options for Builder are, among others:

  • Making Builder easy to use for both those involved in planning training courses as well as for par­ti­cipants in these courses.
    • We remain faithful to the prin­ciple of user-friend­liness, even though Builder offers many dif­ferent functions.
  • Our aim is to use such content and exer­cises in the training courses that serve the learning process in the best pos­sible way.
    • For example, it might be necessary to use slightly dif­ferent training tasks in dif­ferent learning situations.
  • In terms of graphical rep­res­ent­a­tions, the training courses are made to match the cus­tomer’s wishes.
    • Cus­tom­isation of the graphical rep­res­ent­ation means that colours and fonts, as well as images used in the training materials are con­sistent with the cli­ent’s own visual branding.

While we are pre­pared to widely modify our training system in accordance with our cus­tomers’ wishes, we get a large number of requests relating to the devel­opment of the software, which some­times even con­tradict each other. In order for us to be able to control the flow of wishes, our product devel­opment is divided into three dif­ferent stages in terms of responsibilities:

1: By requirement man­agement we mean that we collect all ideas ori­gin­ating from dif­ferent sources into the same “barrel of wishes” (Feature back log). Devel­opment ideas could come from the cus­tomer, as well as from ourselves, and they might apply to new require­ments relating to the software or, as some­times happens, to bugs / inco­her­encies that need modi­fic­ation / repairing. We go through these devel­opment ideas, pri­or­itise them and plan their imple­ment­ation rhythm. The most urgent requests are attributed the highest pri­ority, while in many cases it is feasible to implement several requests relating to the same topic at the same time. The objective and the end result of the requirement man­agement process is to make sure that our developers have a clear under­standing of what is going to be addressed next.

2: At Apprix, imple­ment­ation of indi­vidual devel­opment ideas is handled by a team of highly qual­ified software devel­opment experts. For each imple­ment­ation, a suitable team of experts in tech­nical archi­tecture, user exper­ience / user inter­faces, graphical rep­res­ent­ation, ped­agogy as well as tech­nical imple­ment­ation and testing is assembled on a case-by-case basis. The team will make sure that the imple­mented product sat­isfies the func­tional needs, is easy to use and, on the other hand, can be integ­rated nat­urally into other func­tions of the system.

3: When the new func­tion­ality has been realised, the pub­lic­ation man­agement will make sure that the function becomes a part of the Builder system in a con­trolled manner. In this context, it is further ensured that any code made for the Builder is imple­mented such as to integrate into and become a part of the rest of the code. The code, for example, is checked to make sure that it com­plies with the com­monly defined security prac­tices and that e.g., highly similar needs are not addressed dif­fer­ently in dif­ferent parts of the software.


Finally, the goals we set, the wishes of our cus­tomers and the clear product devel­opment process have led us suc­cess­fully to the point where Builder is, on the one hand, a spe­cific system tailored to the needs of each indi­vidual cus­tomer, while on the other hand, offering all our cus­tomers a pos­sib­ility to benefit of our con­tinued product devel­opment efforts. 

Our objective is to work at any point of time on a number of major devel­opment pro­jects, where certain totally new func­tion­al­ities are being imple­mented into the software. In addition to major devel­opment pro­jects, we are typ­ically working on some dozens of minor indi­vidual requests / ideas. Thanks to our skilled and effi­cient developers as well as the clear product devel­opment process, in prin­ciple, some­thing new is pub­lished in Builder every week: whether minor repairs or larger new func­tions. And these fruits of our devel­opment efforts are there to be enjoyed by our entire clientele.

Welcome aboard to use this eLearning tool that is tailored to your needs and wishes.

-

Author

Antti Rasi

As a member of the Apprix team, the author is involved, inter alia, in the improvement of the product devel­opment process, as well as designing of the archi­tecture and new functionalities.