Streamlining the Enterprise Learning Environment

< BACK
SKILLSOFT — a leading provider of corporate learning solutions, acquired Codecademy, a renowned provider of online coding education for consumer and enterprise in 2022. A year later, Skillsoft launched an MVP of a new integrated solution that offered Codecademy's interactive coding content through Skillsoft's enterprise-grade learning platform with Codecademy’s consumer features mostly hidden.

Problem Statement

Codecademy’s learning environment still contained gaps where enterprise learners could access the consumer site, which posed UX and data security issues.

Goal

Identify and address the remaining gaps between the consumer and enterprise learning experiences to create a seamless and secure experience for enterprise learners.

Outcome

At the time of writing this case study, the project was still in development. I drove the recommendation for how to deliver a more seamless, secure customer experience around inbound and outbound access.

My roles

  • UX designer
  • Data analyst

Partners

  • Product design team
  • Product team
  • Engineering team
  • Data science team

Duration

Approx. 2 months

Users

  • Customers - Training managers
  • Customers - Enterprise learners

More Context About the Integration

The goal of the initial integration work was to enable content discovery and learner access to Codecademy course content through Skillsoft’s enterprise platform. To do this, the integration team had to address two main issues:

Issue 1

Codecademy didn’t offer distinct consumer and enterprise content and learning experiences.

MVP for launch:

  • Create enterprise instances of courses, site navigation, and resources
  • Highlight Codecademy’s differentiation from Skillsoft’s catalog through content tags and messaging

Planned solution post-launch:

  • Create a separate, distinct enterprise catalog for complete control over the content and learning experience

Issue 2

Codecademy’s Skill Paths and Career Paths differentiated themselves with their interactivity and outcome-focused design, but their longer duration didn't appeal to enterprise learners.

MVP for launch:

  • Give enterprise learners access to select learning paths, despite meaning full access to consumer site

Planned solution post-launch:

  • Deconstruct all learning paths into shorter, bite-sized courses
  • Retire consumer learning paths enterprise learners were given access to (to be referred to as Z-legacy content)

Understanding the Problem

FIRST QUESTION: How are enterprise learners accessing the consumer site?

The team and I knew there were gaps between the enterprise and consumer experience, one of which was being addressed (i.e. access to select consumer learning paths soon to be retired) but we needed to know about the other gaps. So I started by looking at the data.

Data exploration

I worked with the data science team to build the initial Looker reports that’d allow me to start my investigation into page visits, volume and frequency, and page referrals.

After several weeks, I was able to:

  • VALIDATE → Most learners were accessing consumer content through Z-legacy content, a known problem with a solution in development.
  • UNCOVER → Besides Z-legacy content, there were some enterprise Courses and Resources pointing users to consumer pages.
NEXT QUESTION: What Courses and Resources were linking to consumer pages?

Due to how curriculum data was integrated with Looker, I couldn’t get as granular as I needed to answer this question, so I went directly to the source. The curriculum team provided me with a data export of Codecademy’s entire catalog and its metadata including:

  • Content tag = Is [X] content visible to Consumer or Enterprise users?
  • Content type = Is [X] content an Exercise, Article, Project, Track, etc.?
  • Content source = What content links to [X] content?*

*This data was the key that would allow me to work backwards to find my answer.

REVISED QUESTION: What consumer pages are sourced from enterprise pages?

Knowing which fields were the most relevant to my investigation, I drilled down to see (1) what content types tagged as Consumer (2) had a content source (3) from content types tagged as Enterprise

What I learned:  The only content types we needed to patch up were Courses and Articles, and for the most part, they were linking out to other courses.

Mapping the Current User Flow

FINAL QUESTION: How are these Courses and Articles linking out to consumer content?

Answering this question would be relatively simple but at this point, I’d gathered a lot of insights without a clear sense of how it all connected and fit within the existing user experience. After working with the integration team for several weeks, I knew I wasn’t the only one.

To ensure my learnings could be easily understood by all stakeholders, I began two tracks of work that’d eventually converge into one:

  • Manually spot checking select enterprise courses and resources to answer my last question
  • Map user flows to visualize all the ways in which enterprise learners access the consumer site

To start mapping, I worked with my product manager to list out all entry and exit points to define the user flow constraints. Then working my way to the middle, I met with the integration team to piece together the entire experience they launched a year ago, rationale behind their decisions, and updates released since then.

UX DEBT RELIEF

No user flows were created for the integration so I was simultaneously addressing the need for a key project artifact.

Because of the complexity of the existing integrated experience, I decided to break up the user flows into four main categories:

  • Global navigation (persistent)
  • codecademy.com (direct consumer access)
  • Z-Legacy content (primary driver)
  • Enterprise user flow with Z-legacy content excluded

By spot checking Lessons and Articles, I discovered the sole culprit of external linking to the consumer site were hyperlinks that were missed during the integration.

Visualizing the New User Flow

With the three problem areas defined, Lessons, Articles, and codecademy.com direct access, I was able to start ideating on possible solutions.

Considerations included:

  • Known time and resource constraints
  • Best possible user experience within constraints
  • Reduce need for net-new content

The problems weren’t particularly complex, so I immediately drafted high-level user flows based on my proposed solutions and then met with stakeholders to assess them. Our criteria for evaluation:

  • Appropriate from a curriculum experience standpoint
  • Feasible from a engineering standpoint

After early conversations with the engineering squad, two things became clear:

  • They were already working on a technical solution to direct enterprise user traffic to codecademy.com
  • The high-level solution I proposed for Lessons and Articles wouldn’t be easy to implement given the stated time and resource constraints

Ongoing discussions between my product manager, the curriculum manager, and engineering squad involved many ideas thrown around to see what was and wasn’t possible. It essentially came down to three broad solutions:

Solution #1

Replace all existing links with similar Skillsoft content as best as possible

Solution #2

Replace existing links within Articles but remove hyperlinks within courses and labs.

Solution #3

Remove all existing links.

My Preferred Solution

Solution #2 would require replacing hyperlinks within Articles that point to consumer content with similar Skillsoft content while removing hyperlinks within Courses and Labs entirely.

My Rationale

Cross-linking in Courses and Labs was primarily intended for consumer up-sell purposes because consumer users typically got started with Codecademy through (1) free courses or (2) one-off paid courses.

  • With the enterprise plan, this level of promotion was unnecessary because users already had access to the entire catalog.
  • In-course hyperlinks that don’t point to a supplemental resource directly related to their course potentially hurt completion rates.

Next Steps

Technical Solutioning

Next steps involved further discussion among the product manager, engineering squad, and most likely product leadership to negotiate which solution was the best solution given their existing resources and target launch date.

Hand-off

With this in mind, I decided to hand off all 3 possible solutions with detailed explanations that cover:

  • Summary of the solution
  • Key differences with each solution
  • What changes need to be implemented

Where we left off

Discussions were still in progress at the time of writing this case study. Unfortunately, I am no longer with Codecademy and wasn’t able to engage further in the post-design process.

Takeaways

Key learnings

It's important to understand the engineering teams' directives.
This is especially true when the team is planning work that is not design-dependent but related to your work. You never know whether what they’re doing will impact your plans or not unless you talk to them.

What I’d do differently

Engage with the engineering team early on in the project.
Because I was new to the team and didn’t have a relationship with the engineering team yet, I relied a little too much on my product manager for engineering updates. I should have established a relationship with the engineering lead with regularly 1:1s to learn about each other’s roles in this project and how to best work together.

< BACK