Of course it’s very trendy to proclaim our eLearning departments utilize an iterative process for developing eCourses or simulations. Prescribing to an Agile development process is all the rage. For the most part, these processes generally do work. In fact, if done right, an Agile software development process is user centric and encourages innovation through good team member collaboration and increased learning transactions amongst stakeholders.
However, I am frustrated with the continued popular lip service given to iterative processes. This is because, far too often, iterative development protocols are not managed for optimization of software quality, budget efficiency, or time-to-market. To put it bluntly, iterative processes are often an excuse for no structure and poor project management. If not managed in a rigid fashion, I believe you lose the advantages you get with following Agile processes.
Specifically, at the heart of an iterative process are short “time box” cycles of two to six week schedules to produce a version of the software that is then user tested, evaluated, and refined; then the cycle continues. The problem comes into play when trying to define small enough feature sets to meet these short time box cycles, then when the feature set is defined, getting those features done in time for real user testing. Finally, in order to be successful, the user testing has to be managed in a formal manner so that user feedback surveys of those features can be evaluated and reflected on for software improvement.
What I too often see is that if we do, in fact, assemble adequate user testers (which is a challenge because it is hard to find adequate user testers), frequently the development of the scheduled features is not completed by the testing period. This leads to user testing becoming perfunctory and the results not being reliable enough to determine effectiveness and make improvements. One of the reasons for this is that we, time and again, let the design phase go on too long. Then you have a scenario that echoes pulling a college “all nighter” trying to crank it out because it’s due the next day.
Therefore, the keys making an iterative process work effectively are:
- Project Managers must formally manage a detailed schedule of a short duration.
- Scheduled brainstorming and feature design periods that allow for adequate development time.
- Designate a small group of features that can be tested.
- A formal approach to user testing (formative evaluation) that involves an adequate testing group and the collection of relevant data.
- Project managers should take a disciplined approach to postmortem reviews of the user testing to encourage increased learning transactions and double loop learning.