Enabling a dev team to design feasible, intuitive enterprise features efficiently using design thinking

Overview
When I was a software engineer, I developed custom add-on features for HR ERP software that helped clients seamlessly integrate complex workflows. Without designers, we lacked a clear design process and struggled to create intuitive, feasible features or communicate complex specifications efficiently. To address this, I introduced design thinking principles and improved the design process by better documentation, prototyping and collaboration.
Cross-functional Collaboration
Process Optimization
Documentation
My Role
Software engineer with a passion for design✏️ (Improved the design process)
Impact
Improved development team collaboration and documentation workflows, reducing communication time by 30 minutes per ticket and boosting development efficiency.
Project Type
Design process improvement
@ HR software company
Timeline
April 2023 - Aug 2023
Team
15+ Software Engineers, 3 Solution Consultants, 2 Project Manager
Before I Start...

The features are under NDA. I’ll show you how I improved our design process instead

I cannot share the actual designs or features from my previous work. Instead, this case study highlights how I improved the design process within the team to enable more efficient and collaborative design. All visuals are self-created to illustrate my approach.

Our Team

Developing complex HR features without designers

Our team built custom ERP add-ons for a 20K-employee client to manage complex HR workflows. Since we didn’t have designers, solution consultants handled specifications. However, design was not well understood and was considered a relatively low priority.

Engineers
Develop features
Solution Consultants
Communicate with clients to define specifications
Project Managers
Manage project progress
No Designers
Design was not treated as a distinct role
Problem

Inefficient design process slowed the project

We designed for a client’s complex internal workflow involving multiple user roles, many steps, numerous exceptional business rules, and client-specific jargon, which made the project especially challenging.

Multi-roles
Mult-steps
Exception Handling
Client Jargon
During Design Handoff

Confusing spreadsheet-based specification documents

We used spreadsheets to manage specifications, which often led to misunderstandings, extra work, and excessive communication around details like components to use, interaction and workflow.

Sample of a specification document we previously created in spreadsheets.
During Development

Feasibility issue found, taking time for redesign and approval

Because we used a component library, development feasibility and effort largely depended on the components available. Engineers could suggest improvements, but often too late in the process, requiring solution consultants to go back to clients for confirmation.

After Development

Change requests and missed considerations wasted development effort

After seeing the developed features, clients often noticed misunderstandings in the workflow or missing features and exception cases, which required us to rework the design and fix the implementation.

Goal

Enable a non-design team to design intuitive, feasible features that address client needs more efficiently

Strategy

Explored how to leverage design thinking for the team

As an engineer with a passion for design, I took on the challenge of solving this problem using design thinking. Due to project constraints, I needed to adapt the approach rather than follow every step. I discussed with the team to gather insights on what could improve efficiency the most and defined 3 key focus areas.

1

Visualize workflow

Visualize clients’ as-is and to-be processes to share common understandings and prevent overlooked considerations.
2

Document spec better

Show how features should work and look more clearly for both engineers and clients.
3

Fix early in the process

Reduce wasted effort by catching issues before development.
Solution

Here is our new design process

Based on the new strategy, I updated the design process. Here’s what the revised process looks like.

Improvement 1

Added workflow mapping step before design

Mapping the current and ideal workflows made it easier for clients and our team to align on the target flow. I researched common flowchart documentation methods and tools, adopted draw.io, and established a consistent format with simple flowchart rules.

🎯 Objectives
Align on each step and role between clients and our team
Facilitates discussion of the process without distraction from details
Clarify exception and error scenarios
Clarify input and output
🔨 Tool selection

I evaluated draw.io and Mermaid, focusing on how easily the team could learn and use the tool, and decided on draw.io.

draw.io
✅ Easy and intuitive for the team to learn
✅ Adaptable to complex workflows
👎 Requires manual work
Mermaid
✅ Reduce manual effort in creating visuals
👎 Steeper learning curve
👎 Charts become messy when workflows are complex
Improvement 2

Introduced prototyping and detailed specification documentation

I replaced the spreadsheet-based wireframes with Figma prototypes. Because the workflow we managed was highly complex, using Figma alone wasn’t enough to fully capture how the features should function. To address this, we complemented the prototypes with a text-based specification document that mapped the client’s requirements to the functionality of our add-on features.

🎯 Objectives
Reduce development inefficiencies caused by unclear specifications
Capture client requests and feedback on features early through high-fidelity prototypes
In the text-based specification document, each requirement was paired with its corresponding specification.
📢 Guiding adoption

Since our team didn’t have dedicated designers, I focused on simplifying design tasks to make the new process practical and sustainable. I leveraged existing frameworks and resources, and shared design knowledge through presentations and documentation.

Used Material Design

Reduced the cost of building a custom design system while maintaining design quality.

Adopted UI kit

Used the Vuetify UI kit to save time and stay aligned with pre-existing components.

Shared knowledge

Held presentations and created guides to introduce design knowledge to the team.
Improvement 3

Encouraged cross-functional discussions on feature design with engineers

I set up internal meetings before sharing designs with clients to ensure feasibility. These sessions provided opportunities for engineers to share technical limitations and for solution consultants to contribute their understanding of client workflows and requirements.

🎯 Objectives
Design collaboratively to create feasible, easy-to-develop solutions for clients’ needs
Help engineers better understand features
Result

Pilot testing confirmed the new process works

During pilot testing, we applied the new development process to design several new features, reducing communication time between developers and consultants by about 30 minutes per ticket. I left the company to pursue my master’s but would have continued improving and evaluating the process if I had stayed.

Next Step

I am curious how AI can even enhance the process

I learned how to make the design process practical and sustainable for a team of non-designers by leveraging existing frameworks, resources, and sharing design knowledge. This project took place in 2023, and if I were to revisit it today, I would explore incorporating AI tools to accelerate and enhance the process.