Building the Future of Software Development through Immersive Simulations

Michael Rosenberg
Initiate
Published in
6 min readJan 31, 2017
Lagos, Nigeria

Designing for Human Transformation: Episode One

A year and a half ago, we set out to design our world’s first immersive simulations program for software developers. We began by researching the elite simulations-based learning programs used by the special forces, surgeons, and astronauts.

Today, we are innovating on the shoulders of giants. We are extending these elite learning methods to new frontiers of technology, business, and society. And you can, too.

The lessons here can help you design methods for hiring, onboarding, retreats, or large-scale professional development programs that engage people in realistic and impactful learning experiences. Stick with us.

Why do we believe in the power of simulations?

The landscape of learning is changing. While much of the world of education continues to operate on outdated and misguided principles of learning, a select few elite simulations-based learning programs — designed around evidence-based learning principles — are today some of the most effective learning experiences in human history.

A simulation is an experience that mirrors a real-world environment in a safe space. Realism and safety are the hallmarks of simulations-based learning. For example, a fighter pilot in simulations practices a comprehensive set of skills, such as emergency landings and radio communications, without risk to life or property. By the time they hit the skies as certified pilots, they are capable of a range of refined interpersonal and technical skills that they will employ for the rest of their careers.

Our simulations program is immersive, lasting three months and driven by both software and human interaction. We use a wide range of learning methods in an environment rich with practice and feedback. The learner is always at the center of the learning experience — it is the learner’s performance in the simulation that dictates the feedback and support they receive, and their motivations and skill level determines how they focus their efforts.

How do we design a simulation for transformative learning?

Define your learning goals

Defining the skills you want your learners to develop is perhaps the single most impactful step in designing a learning program. At Andela, we break down our learning goals into 50 skills (e.g. building relationships, debugging, conducting video calls), which are further divided into almost 1,000 skill “units” (the deliverables, knowledge, habits, and beliefs that constitute a skill) we would like our developers to acquire. We consider this to be the “people code” our developers embrace on their path to greatness.

Whiteboarding learning goals

Seed your learning goals. You can get started designing your learning program today by writing down the skills you want your learners to acquire. When we started, we had a list of a few dozen skills that were brainstormed by members of our technology, learning, and client-relations teams. We recommend phrasing each skill beginning with an “-ing” verb (e.g. Managing Expectations, Conducting User Research, Developing for Responsiveness on Mobile), followed by a brief description of what the learner will be capable of when they acquire the skill.

Grow your learning goals. Allow your list of learning objectives to evolve and improve over time. Watch and listen as your learners work to develop the skills you define. We brought more experts onto our team and paid close attention to the successes and struggles of our developers in the real world. We pruned, extended, and modified our learning goals and we will continue to evolve our people code into the future. We believe learners should take ownership of their learning. Changes to our curriculum are crowd-sourced and expert-verified, and our learners are encouraged to participate in evolving our learning objectives.

Facilitate through the learning loop

Once you have defined learning objectives, your challenge is to facilitate learning. Facilitation is a term used a lot in learning communities these days. So, what is facilitation and how is it different from teaching?

People learn in a multitude of ways. For some learning objectives, the traditional model of a teacher delivering a lecture works well. Other learning objectives are better supported through mentorship, group problem solving, independent study, or good old fashioned trial by fire. The purpose of facilitation is to put the learner in the right interactions, with the right resources, at the right time to promote learning.

Expert facilitators are learning chameleons. Sometimes they play the role of teacher; other times mentor, moderator, manager, or coach. Facilitators pay close attention to the program’s design and the learner’s needs to keep them challenged, engaged, and focused.

The Prepare, Practice, Debrief learning loop. Our simulations program is designed around a simple learning loop, and the primary role of the facilitator is to ensure learners are consistently and effectively moving through this loop. I would describe the loop we designed into our simulations as the Prepare, Practice, Debrief loop.

  1. Prepare: Start by giving your learners a chance to understand what success looks like. Our developers in simulations begin their day with skill sessions, where they discuss and role play how to apply various skills in real-world situations. For example, one early topic for our developers is Understanding the Business When Joining a New Client. Our developers discuss and role play a variety of skills that will help them quickly grasp the needs of a new business.
  2. Practice: Next, reinforce the preparation with realistic practice. This is the heart of the simulation, where the learner is exposed to the simulated work environment and their skills are put to the test. After the morning session on Understanding the Business, our developers in simulations practice the skills in a simulated kickoff call with a new client, and a full “day on the job” with their team.
  3. Debrief: Finally, have your learners exchange feedback, reflect, and plan for progress. At the end of the day, our developers in simulations get together for a powwow with their team and facilitator to discuss what went well, what needs improvement, and support one another to enhance their skill set. Our debriefs range from technical and professional to deep and personal, depending on the nature of the issues at hand. Sometimes, a learner simply needs to be informed of a coding best practice to improve. Other times, they may need to face deep-seated issues of habit and self-perception to truly get to the next level. We find that the best debriefs nurture empathy, honesty, courage, and mutual support.

Ushering in the future of learning

The future of learning will be distributed. People everywhere will increasingly have access to the learning resources and networks they need for global employment and self actualization. What does this mean for the learning programs we design today?

We are evolving our simulations-based learning program to usher in this vision of the future. We are automating aspects of the learning process, allowing us to reach more people with fewer resources. We are developing learning resources internally that we will make available to outside world, providing free learning opportunities to the world. And we are developing a paradigm I call distributed design, which taps into the collective wisdom of a learning community to enable perpetual program growth.

So, I hope your eyebrow is raised and your mental muscles are pumping. Now get out there and start applying these lessons in your work!

Join us next week as we dive into improv, role play, and how to instill a culture of learning in your organization…

--

--