Sonatype

Enhancing Repository Firewall for Developer Empathy

Company

Sonatype

Role

Product Designer

Industries

DevSecOps

Year

2024

Company & Product Background

What is Sonatype?

What is Repository Firewall?

Repository Firewall is a Sonatype product that acts as a first line of defense, using AI/ML to analyze open-source components and block the download of malicious packages or components that violate a company's security policies.

How might we improve the Firewall quarantine experience to work with, rather than against, the developer workflow- empowering developers to maintain both code quality and efficiency?

Goal

Enhance the Repository Firewall experience to seamlessly integrate security measures into developers' workflows- minimizing friction, maintaining efficiency, and ensuring code quality without compromising protection.

Problem

Developers often feel that security was actively hindering their ability to do their jobs effectively.


Although the Firewall is typically purchased and managed by administrators and security teams, developers are the ones most directly impacted by its functionality. The product's design, language, and metrics often cater to the security persona, overlooking the specific needs of developers.

Advocating for the Developer

The first phase was all about understanding the developer perspective. I started by reviewing the existing developer persona in our database, providing a foundational understanding of their needs and motivations. Then, I went straight to the source.

Joshua

Software Developer

“Development is more than writing code, it’s also understanding complex problem spaces, and being able to formulate solutions to solve problems in an efficient and effective manner.”

Goals

Sprint Delivery: I need to know what work I am expected to complete during my sprints so I can deliver on my deadline.

Build Software Efficiently: I want the shortest path to meeting my assignments.

Keeping Up With Useful Knowledge: With rapidly changing technology, I want to stay up to date with evolving software engineering skills. I learn from the internet and those working in my field around me.

Expectations

Keep software running smoothly by introducing as few bugs as possible

If my managers want me delivering on time, they should be removing blockers - like other departments or a lack of component choices

Nice to have: Documentation must be adequately logged to ensure searching and accessing that information is convenient.

Pains

People moving too slowly is annoying to him. He needs people and tools to either keep up or get out of his way.

Not having enough time to complete tasks and sacrificing code quality

His organization has an unnecessarily high amount of tool sprawl, which is a lot to keep up with

The perpetual challenge of context switching throughout his day requires a lot of energy

Metrics

Velocity: How much can I get done in one sprint - sometimes measured by “story points”

Cycle time: How much time is spent working on a specific task

Code Execution: I want my code to execute 100% if the time and ensure I haven’t introduced any bugs

Code Churn: A measure of code quality - how often does a particular bit of code need to change?

I interviewed 3 Developers from our customer base to gain insights into their experiences with Firewall. While I would have liked to speak with more customers, I struggled to yield responses for external participation.

To supplement this feedback, I also interviewed internal experts with developer or customer success backgrounds.

Synthesizing Feedback Into Key Themes

Using Dovetail, I meticulously categorized the feedback from these interviews into Pain Points, Delighters, Feature Requests, Observations, and Key Quotes. This allowed me to synthesize the key takeaways from each interview and identify recurring themes, revealing the most pressing issues and areas for improvement.

Lacking component insights- last download, who and where are components being used, etc. to better understand impact.

Developer

Customer Interview

More information that's available in the rest of the product suite should be surfaced in Firewall.

Developer

Customer Interview

Developers aren't given direction or feedback on where to go next, this investigation work is given to DevOps.

Engineer

Internal Interview

Firewall should make it clear what the best path forward should be when it comes to remediation.

Developer

Customer Interview

There is a lot of time spent trying to assess business risk with limited feedback for why things are blocked.

DevOps

Customer Interview

Existing features in Firewall aren't sufficient to helping devs choose the best version upgrades which results in wasted upgrades.

Developer

Customer Interview

Prioritizing For Impact

Working closely with the Product Manager and Tech Lead, we mapped these key takeaways onto an Impact/Effort matrix. This collaborative exercise helped us prioritize focus areas and define user stories for this initiative, ensuring we focused our limited resources on the improvements that would have the biggest impact.

Given limited engineering capacity, we opted for a smaller-scale, targeted UX enhancement for this initial milestone. We focused specifically on the information presented in the Quarantine Component View – the primary page developers access for details about quarantined components. This allowed us to address the most critical pain points quickly and efficiently.

Information Hierarchy

Evaluating highly requested information and making it easily accessible.

Focus On Remediation

Provide Developers with a clear and easy path forward.

Empowerment

Ensuring Developers can access necessary information without relying on DevOps,

Final Solution

Quarantined Component View: Developer's Guide to Next Steps

Providing more context and visibility for Developers to assess the impact of quarantined components and make informed decisions about how to proceed- leading to faster resolution times for security issues and a smoother, more collaborative development process.

Additional Component Insights

Timestamps for component requests, quarantines, evaluations to track component usage.

Improved Information Hierarchy

Surfacing highly requested information- such as Highest Policy Threat, at the top of component comparison table.

Highlight Recommended Path

Show top remediation recommendation first so Developers can spend less time assessing options.

Safe Component Recommendations

Provide other versions that are already being used in the organization.

Select this text to see the highlight effect

Interested in collaborating? Contact me. 🤝

Interested in collaborating? Contact me. 🤝

Interested in collaborating? Contact me. 🤝