Process for growing Seedling into an internal product

Jaclyn Kerschner
Aug 19, 2019 · 5 min read
Image for post
Image for post

Background

This was not the first time we had attempted to make a component library. At one point, we even had a dedicated engineer to build one. This first version was a great start, but lacked ownership, organization, and scalability to allow the project to really thrive. And, on top of that, our newer product teams were unable to use the components themselves, leading them to build their own versions and throw consistency by the wayside. Our application was growing in complexity, which was making it harder for design to have a point of view, engineers to build things quickly, and our customers to understand how our application works.

In 2018, after growing our design team from two to six designers, we realized we needed to get organized. A few engineers also expressed interest in fixing our process and creating a scalable system that can work for both design and engineering. We decided to create an internal task force for creating our official component library, Seedling.

The Taskforce

Seedling started out as a small group of eager members all with different viewpoints on what a component library should be. We spent a lot of time talking. We talked about our dreams and created a long list of goals that we didn’t feel able to accomplish.

It included:

  • defining what it means to be a component

and the list went on and on…

In each task force meeting, would continue to add to the list of tasks, but never crossed anything off.

Getting Organized

It was really important for us to get together and talk in circles and spin our wheels — it helped align us all to what we wanted Seedling to be in the long term. We realized that Seedling was simply a product for our internal product team, and if we mimicked our team organization and product cycle, maybe we’d finally start making the headway we were looking for.

The First Goal
After talking about our grand vision, it was important to ground ourselves in an attainable goal. We all agreed that our first instance of Seedling should be to:

Migrate all of the existing components from the old library into Seedling.

What this meant:

  • We will audit our current components and move those that qualify into the new repo

What this didn’t mean:

  • We will not go back and update all instances of the component

To begin this work, the design team started by auditing the entire existing library to figure out what we needed to migrate, and how that could be organized in Seedling.

Image for post
Image for post
Mapping used to organize our existing components into stories

We then began to organize ourselves — who would meet, how often, what would we talk about, what would happen next.

The Meeting Lineup

  • The Main Event: a 45-minute long meeting, every-other-week, to talk about strategy and progress.

The Technical Stuff

  • Jira Epics: a Seedling Jira epic was created to dual-track along with our corresponding product team. It allowed engineers to prioritize the Seedling work alongside their own product work, as well as follow the normal process to track and deploy cards.
Image for post
Image for post
To do list within each Jira card

Next Steps

Our process has not been perfect but once we realized that we didn’t need to reinvent the wheel, and could follow a normal product cycle, things became a lot more clear. We have come a long way to get Seedling off the ground and accomplish our first goal. It’s exciting to see the progress and how the team is starting to adopt usage.

Image for post
Image for post
Example of a story in Seedling

We couldn’t have done this without a few important articles and inspiration from our fellow designers and engineers

http://bradfrost.com/blog/post/atomic-web-design/

https://www.carbondesignsystem.com/

https://primer.style/components

https://adele.uxpin.com/

https://storybook.js.org/

And last and most important, thanks to all the members of seedling task force. We couldn’t have gotten this far without you all. It’s amazing to be a part of a team of dedicated members for a self-organized and voluntary project.

Learn more about what a component library is and why we built it. Seedling: Planting Components for Later.

Interested in working on projects like this? We’re hiring.

In the Weeds

A blog by the Greenhouse Engineering team

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store