top of page

ID Through an App Developer's Lens

Computer code on a screen
ID through an app developer's lens

As I wrap up my final week in an instructional design course, I find myself drawing parallels with iterative design in other fields. Specifically, I find a great deal of overlap between course development and app development and it's interesting to think about how approaches from other fields might be useful.

It really shouldn't be too much of a surprise that app development and course development have so much overlap, given that both are created to engage the user in some way through a digital medium. Despite that, the two are frequently treated as wholly separate fields. But I'm not sure they should be. Minimally, software development should borrow from the ID world as almost all apps include some elements that serve to train the user on how to use the app. Design, itself, as it relates to apps, is typically a practice of mastering intuitiveness. Surely instructional design would benefit from that. So, today I want to explore a bit about how the principles of software development are similar and/or useful for instructional development.

web development blueprint plans
All design starts with a plan

Let's start at the beginning of a project. In software development, the initial phase involves drafting a detailed plan or a blueprint. It begins with collecting all the requirements. This is everything the app needs to function correctly. It will usually include details about the environment(s) the app should work within. Will it be web-based? Platform-specific? Responsive? It will also include details about the users for which it's intended. Is this for adults? Professionals? Gamers? It will include details about what the users expect to be accomplished through the app. Will it balance their checking account? Provide daily reminders? Connect them with long-distance friends and family? Launch birds at pigs?

All of this requirement gathering is the same for ID work. To build effective online courses, we have to know where the course will be hosted, whether it will be mobile-friendly, and which platforms should have access. We need to know what types of learners will be taking the course, their age ranges, experiences, expectations, and needs. We'll need to know the objectives of the course, or what we want the learners to take away from the experience. For both app development and course development, this analysis and design phase is crucial, as it sets the foundation, much like how architects draft a building plan before construction begins.

A designer works on an image
Development is just breathing life into a design

Another similarity occurs in the development phase. Many app developers rely on the Agile development methodology. In simplest terms, this is a way to manage their development project by dividing it into phases and creating short cycles of planning, executing, and evaluating. The whole process is iterative and reactive to a rapidly changing landscape. This methodology could easily be applied to most ID projects, which are also often divided in some meaningful way, are typically iteratively developed, and need frequent updates and revisions.

Another common approach in app development is rapid-prototyping. For this approach, the most minimal version is created first. This version will have no frills, no pretty design elements. Nothing but the basics to be considered functional. Each successive iteration is then considered an enhancement or an upgrade. Existing content is made more appealing or intuitive. New content or features are added.

App developers work on development plans
It's not a bug, it's a feature!

My experience is limited, of course, but I haven't seen this approach be applied much in the ID world. I have only witnessed course developers building with the final design in mind, rather than the minimal. I think rapid-prototyping could be highly valuable, though. It would allow a fabulous baseline of implementation data that could then help identify which enhancements or upgrades are most beneficial over time. As we consider adding more and more technological enhancements to a course, this data could be highly important for establishing the business case for additional resources.

Another approach used in software development is test-driven development (TDD). TDD involves starting the development by first writing tests the actual code will need to be able to pass. This is an approach commonly used in ID work when IDs begin with the course objectives and first write the summative assessments that the course materials and activities will need to help the learner pass. By defining what success looks like upfront, it is more obvious how to tailor the course content to meet these objectives, ensuring a more targeted and effective learning experience.

Hands on a keyboard
In launch, designs are out of our hands

During implementation, before any software is fully launched, it usually goes through a beta testing phase, where a version is released to a select group for trial use. Here is another area of overlap as course developers also try to conduct pilot studies to test a course before widespread distribution. This phase is critical for identifying any issues, understanding learner engagement, and making necessary improvements before the full launch.

Much like software that undergoes regular updates and patches, online courses should also be seen as dynamic entities, subject to continual refinement. In app development, this is considered the maintenance phase. Bugs that are discovered are reported and patched. Feature requests are reviewed and added. Courses also experience a maintenance phase. Based on learner feedback and performance data, iterative improvements to the course are made. This could involve fixing a broken link, improving assignment instructions, updating course content, introducing new instructional strategies, or leveraging emerging technologies to enhance the learning experience.

A software developer looks at code
It's all about the user experience in the end

The process of developing an online course, when viewed through the lens of software development, becomes a dynamic and responsive endeavor. Embracing principles such as Agile methodology, test-driven development, and beta testing can transform the course creation process into a more adaptive and learner-focused journey. At the heart of both software development and instructional design, lies the goal of creating a user-centered, engaging, and effective experience that resonates with learners and adapts to evolving needs over time.


All images contained within this post are courtesy of Media from Wix, unless otherwise noted.

Recent Posts

See All


Feb 27

All your post, I learn something and appreciate the information. You mentioned this class ending soon, and wondering, will there still be post going forward?

Julie Stoltz
Julie Stoltz
Feb 27
Replying to

I have plenty more courses to go still. And may keep on beyond school. Short version: This isn't ending anytime soon. Glad you're enjoying them.

bottom of page