When it comes to developing instruction, are you an artisan, or are you an engineer? What's the difference?
An artisan builds each widget as a unique and unrepeatable project. If the artisan builds a chair, even though we all know the function of a chair and a chair's general characteristics, the artisan will build the chair from scratch. Each leg or arm will be turned and sanded lovingly. The surface will be polished and oiled until it is a work of art. It is beautiful, but it will also be expensive because all of that loving care takes time. The artisan has to make dozens, if not hundreds, of decisions along the way. Will the legs be round or square? Will the color be natural or stained? Will we use oil, shellac, or polyurethane, and so on a so forth.
An engineer works to build an efficient chair. They will use existing parts where available and proven designs. Which wood should we use? How thick do the legs have to be? These questions have already been researched and there are answers to them. Will this chair be used outdoors? If so, we know which finish would be best for the weather. Does this chair have to be used for many hours at a time? If so, we know how to make it more comfortable. We have thousands of years of experience in making chairs of all types. We do not have to re-think every element of chairs. Do we want to manufacture the chair in quantity? Then we also have an answer to how to build it based on available manufacturing tools and materials.
Engineered chairs can be artistic, but the artistry is restricted to pre-determined strategic elements that are scaled in quantity. On the other hand, an artisan's chair is artistic and almost all unique.
Over a hundred years ago societies started industrializing, producing less expensive, but very functional products that more people could afford. There was some subsequent loss of product artistry and uniqueness, but the industrial revolution made it possible for very useful products, like the car, to be built economically and at scale allowing for more people to experience these products, thus creating a prosperous middle class.
Modernizing Computer Science
Similarly, half a century ago computer science moved towards a more engineering model of software development instead of an artisanal approach. The new invention of software objects made it possible to re-use previously tested code saving huge amounts of money to create new programs but also in maintaining them. Before the invention of object-oriented languages, software maintenance represented the majority of a program's budget!
Learning Engineering for Instruction
Online courseware can also enjoy this scalability and democratization.
For the most part, instructional designers today are artisans. Yes, you can develop micro-lessons and SCORM-compliant lessons in an attempt to objectify learning resources, but these attempts are still missing a key component. They are not closely linked to the knowledge that students need to achieve particular knowledge goals or skills and to fulfilling students' knowledge gaps.
A Learning Engineering approach to developing courses would incorporate two things.
One, it would have a process to describe the knowledge that a student should be acquiring. It would be a model of the knowledge required for a particular skill or task. The process to develop this model of knowledge should be systematic repeatable and scalable. It should not be dependent on the instructional design skills of the developer for its accuracy. It would only require subject matter expertise which could be obtained from a human expert or, indirectly, from an AI that mines human knowledge.
Two, it would have a systematic process for presenting knowledge that is to be taught. There is sufficient research in learning that allows us to codify a process to present content in a way that is systematic, repeatable and scalable. This process requires the skills of subject matter experts, artists and technologists to decide how the content is to be presented.
These two approaches to a Learning Engineering approach to courseware development will be elaborated in future posts.