Looking for a bit of feedback from the Moodle community with this post, so please add any comments. Actually, looking for feedback from any community that uses an LMS, not just Moodle.
We’re struggling a bit right now with an upgrade strategy for Moodle. Recently, Moodle has implemented a regular release schedule, releasing a new, major release twice a year (December/June) with minor releases 6 times a year. While I am a generally fan of the Agile “release early/release often” development philosophy, it is quickly becoming obvious that this is going to be operationally challenging to keep up. In my understanding of the release early/release often philosophy, the changes in each release are meant to be incremental improvements and not feature driven. The problem I am seeing with Moodle right now is that the changes are not incremental. Some of them are downright massive.
Our story is that we have just finished launching Moodle 2.1. We did not upgrade from Moodle 1.95 to 2.1, opting to have 2 learning platforms running to minimize disruption for the students as the two platforms are quite different. So, we have bit the bullet internally and are phasing in Moodle 2.1. New students in new programs are in 2.1, existing students finish their programs in 1.9.
The 2.1 project took us over a year to plan and deploy, partially because we had so heavily customized the 1.9 platform that it took a lot of code rewriting to make sure 2.1 would do what we wanted it to do. We went from over 400 customizations in Moodle 1.95 to less than 10 in Moodle 2.1. We abstracted those customizations and have now redeployed most as modules or plugins. All this was done in the hopes that future upgrades would be more nimble. There was (and still is) a weariness with doing “mega” upgrade projects that take over a year of intensive resources to plan and deploy. We wanted to be able to roll out quick updates a few times a year as close to the Moodle schedule as possible. That was the theory.
In practice this is much more difficult, mostly because the pace of change coming out of Moodle core development is massive. We have just launched 2.1, but now find ourselves 2 versions behind. By December with the release of 2.4, we will be 3.
Now, going from 2.1 to 2.2 will be pretty invisible for our end users as the changes are not that different, and don’t touch some of our customizations. But going to 2.3 means quite major changes at there are overhauls of some key features of the LMS that touch many of our users (navigation, a complete rewrite of assignments, new activity and file picker, key places where our users interact with the LMS). 2.4 looks to be bigger still, with the addition of team assignments, which is one of our key customizations. So, do we wait until 2.4 is out in December, setting our upgrade schedule back to the summer , or do we rewrite our team assignment customization to work with 2.3 knowing that it will be useless in the future? Our work becomes redundant next year.
All this is to say, even these dot upgrades (which we thought would be fairly minor and easy to keep up with) are becoming what we hoped they wouldn’t be – mega-upgrade projects. But now they happen yearly instead of every few years. We are looking ahead and trying to figure out, do we live in perpetual Moodle upgrade land to the point where we operationalize Moodle upgrades each year, or do we stop and sit where we are?
Technically, it takes massive resources for us to do these upgrades, primarily because customizations need to be examined and tested against the code changes. But we have good coders, and they can do the work. The bigger issue is prepping our users and supporting faculty through a constant change cycle. Now, change is good, but when you find yourself in a situation where you are expending huge resources to manage change well, you kinda go is it worth it?
We’re feeling a bit frustrated right now and find ourselves at a high level crossroads. Is this constant upgrade cycle becoming our new reality? It’s becoming obvious that we underestimated the changes each dot release of Moodle is bringing. We were expecting smaller, incremental changes that would have a fairly minor effect on our end users or customizations, not entire rewrites of core components or massive UI changes.
So, my question to you, if you have stuck with me this far (thank you) is how are you managing your Moodle upgrades with the new Moodle release schedule? Do you have regular upgrades scheduled, or is your strategy to sit and wait awhile?
Any insight into your situation and how you manage the upgrade cycle is appreciated.