NEO - Network Enabled Organization

Project Overview

Role: Product Designer
Date: Mar 2022 to Jan 2024
Team: 1 PO/BA, 1 XD, 1 Tech Lead, 1 QA, 4 Devs (Distributed)

NEO is an internal developer platform and developer experience portal that helps Thoughtworks significantly improve the effectiveness of their internal developers. It provides self-service capabilities and tools tho remove friction in the process and helps developers focus on the most important task they do: Product development

The Problem

Business Challenges:

Slow journey from idea to value delivery

Distributed Teams with Inconsistent Processes

  • Multiple teams across regions with fragmented delivery approaches.

Multiple Applications for different purposes

  • Developers are required to work across numerous applications, each with its own processes, leading to inefficiencies and duplicated effort.
  • Onboarding and off-boarding new team members is slow and complicated due to the need to access and configure multiple applications.

Lack Business Processes and Coordination

  • Assets were owned and managed by different teams creating friction in workflows.
  • Limited visibility into delivery metrics, costs, and resource availability.
  • Gaps in infrastructure provisioning for development needs.

Key Results

Outcomes:

  • NEO has 590+ applications, 70 APIs, 470+ events, 80 dashboards and over 700+ development teams
  • Iteration ‘0ʼ reduced by over 90% (from 7+ days to 1 day)
  • Improves developer effectiveness by 20-30%, contributes to Thoughtworksʼ operational efficiency
  • 100% financial accounting of all projects created by NEO
  • Standardisation of security procedures.

Impact:

  • Faster development cycle
  • Iteration ‘0ʼ reduced by over 90% (from 7+ days to 1 day)
  • Better security of applications & infrastructure
  • Better developer & employee experience
  • Better cost accounting & management

Achievements:

  • Foundry’s CIO 100 award recognizes enterprise excellence and innovation in IT by the NEO success
  • Through survey we found that 92% people were satisfied and 80% people strongly like

The Process

Discovery / Empathize

User Interviews

We conducted interviews with developers and stakeholders to understand what are the main pain points for acquiring and provisioning resources during the product development processes, gather insights about users and define the problem space.

My role

Research planning / Interview questions / Questionnaire validation / Interview Schedule / Lead the user interviews / Summarize and share research findings
*I like to involve team members whenever possible to learn from users, ask additional questions (especially technical ones), and assist with note-taking.

Survey

We conducted a survey with developers to quantify the issues identified during user interviews. Questions about time spent in each development phase, number of applications managed, and resource management provided valuable insights for potential solutions.

My role

Create the questions and the survey / Validate with the PO and team / Plan the survey duration / Send the survey communication for users / Analyse and share results survey result

Main Research Findings:

  • It would take up to 5 months to build a new application.
  • Infrastructure provisioning would take 2 to 3 weeks
  • No discoverability of core assets (APIs, Events, Data)
  • No visibility of delivery metrics / costs / available apps
  • Difficult onboarding and off-boarding of team members was time consuming
  • Fragmented experience. Developers have too many different touch points during their development journey.

Define

Kick off Workshop

We conducted a kickoff Workshop with the product team and main stakeholders to define Product Vision, objectives, define product scope, maps stakeholders, share the research findings and ideate possible solutions.

My role

Workshop planing (pairing with PO) / Workshop facilitation (paring with PO), specially activities related to UX.

Personas

Based on what we have learned during user interview we found 3 main personas which we would focus on:

  • Experimenter Developer
  • Global developer
  • Regional developer
Image with a persona and empathy map of an experiment developer to ilustrate the desing process

My role

Create Persona template / Facilitate the Co-creation of personas based on what the team have learned.

User Journey mapping

We developed AS IS journey and captured the pains of users during the development process. Those AS IS journeys provided us insights to design the TO BE journey where we would create solutions for the pains and frictions highlighted in the existing journey (AS IS).

My role

Craft the AS IS journey highlighting pains and frictions / Collaborate with cross functional teams to understand their processes / Share journey findings for the team / Prioritise the pains to be addressed (pairing with the PO) / Ideate a desirable journey to relieve main pains

Time Line: 1st line of code 7 to 10 days, discovery and consume assets 10 to 20 days, Onboarding and off-boarding throughout, deployed 2 to 5 months

Concept Creation

During the discovery phase, we identified a key problem: developers faced a fragmented experience throughout their development journey. They had to interact with multiple teams and product to access infrastructure, APIs, events, data, and manage their application lifecycle.
To address this, I proposed reimagining the developer journey with a self-service platform. This "one-stop-shop" would centralize resources, empowering developers to find and request what they need on their own, reducing dependency on IT support and streamlining their workflow.
For that we created and shared a concept prototype to our main stakeholder. We are happy that stakeholders bought the idea and NEO got thumbs up to born.

My role

Create a navigable prototype with a unified platform concept / Showcase the concept to main stakeholders in a governance meeting

Develop

Collaborative Sketching / Prototype

After gaining stakeholder approval for the "one-stop" concept, we began developing the MVP, focusing on discoverability and infrastructure requests for building applications. I facilitated a collaborative sketching session where the team explored ideas and voted on the best possible solutions. These ideas were used to shape a Figma prototype, which we used to test with real users.

My role

Collaborative sketching session facilitation / Ideas Prioritisation / Prototype creation (based on the ideas generated and desirable TO BE journey) / Prototype Showcase (to my team and cross functional teams to collect feedback) / Iterate design based on feedback and create a navigable prototype to test with developers (real users)

Usability Testing

We created a navigable prototype to test with real users and gather their feedback. We tested with multiple users, learned from our mistakes, and iterated by trying different solutions for the most common issues found.

My role

Create the test script / Find users to participate the test / Schedule the tests / Apply the test and take notes / Share results to the team
*I like to invite team members to join usability tests whenever possible, so they can learn from users and ask questions to clarify behaviors.

Deliver and Validate

Design Handoff

Before implementation, we worked closely with the technical team to present designs and address any challenges. We created High-fidelity wireframes in Figma highlighting UI specifications, and assets were attached to Kanbanize user stories for reference. Collaboration would happen any time necessary to ensure alignment and quickly issues resolutoion.

My role

Setup the UI showcase / Share design specifications / Add assets to user story / Do regular checks for alignment.

UI Desk Check

Before a story moved to production, as part of acceptance testing, we conducted a UI desk check to ensure the UI was well implemented and followed the planned specifications.

My role

Test the UI in on the test environment / Approve UI before it went to production

Accessibility Audits

Apart of following WCAG best practices, before and after launch new features to NEO we would constantly do accessibility audits using Lighthouse and https://wave.webaim.org/ to ensure the app did not have any major issues and ensure its more inclusive.

My role

Advocate for accessibility / Create inclusive design / Perform Audits / Report issues

Support

We sent release notes when new features went to production to engage users, gather feedback, and reinforce the product’s brand.

My role

Create release notes communication / Review and send release notes Shared responsibility with PO

Continuous design

After release, we collected user data (via analytics or surveys) and iterated on the design to address usability, performance, or user satisfaction issues based on our findings. Minor issues were resolved quickly in upcoming iterations.

My role

Analyse user the feedbacks and data / Propose improvements as needed / Bring complex issues for team discussion

Design System

We created our own design system to streamline the design process and ensure consistency across NEO components. As the product grew and the team expanded with two additional XDs, inconsistencies began to appear. As a founding designer, I proposed building a Figma-based design system to provide a shared language between designers and developers and allow easy updates to our existing designs. The system was maintained only in Figma, without a code implementation.

My role

Start the creation of reusable components / Propose process for component creation and updates / Constant alignment with team members

Screens

NEO Home page
Catalogue Overview page
Catalogue My Applications page
APIs Overview page