Skip to main content

#447 – Sketching with Code

Friday Ship #447 | June 13th, 2025

IMG_0128

This week we coded a prototype for the next-generation Parabol experience.

Since the company’s inception, we’ve dreamed of a solution for team collaboration that has gone far beyond helping teams with their Agile, DevOps, and software practices. Over the years we’ve prioritized various innovation efforts to design the next leap forward for our product, but struggled to crystalize it into a something solid enough that a critical mass of our team can iterate on. We’ve been subject to Clayton Christensen Innovator’s Dilemma: there have always been features on the current product that are better defined with clearer, incremental return and so we’ve focused more of our efforts there.

Part of the issue has been that our various pen and ink and digital design expressions for the road ahead have introduced too many questions. They’ve introduced more ambiguity than resolution: How will that interaction work? What will our data model be? What’s the minimal viable experience? What will onboarding look like? Etc.

There are too many free variables. Visuals can’t describe everything. Written specifications (aside from being tedious to write) leave too much to imagination.

The Drunken-House Principle

It’s better to show than tell. It’s better to do together than do alone.

We have a design “practice” we call, “the drunken-house principle.” Imagine a group of people standing at a bar, their creativity lubricated by liquor and a jovial atmosphere. One person boldly declares, “I can draw a house better than any one.” Then, they sketch on a napkin:

The challenge is an invitation. “That’s not the best house!” Another person produces:

As more challenges participate, the stakes are raised, ideas are built upon, until finally something truly magnificent emerges:

With an idea much more complicated than a house, how do you start this process of creative back and forth? How do you invite people to the challenge?

Throwaway Code

We’re proud of Parabol’s production code base. It’s extremely reliable and scales vary efficiently. It’s also not great for prototyping on. Adding features require adherence to many patterns we’ve introduced that yield reliability and scalability. We’ve been reluctant to expend all the effort only to throw away code in the end. That fear kills creativity.

For the past couple of weeks, we’ve been working on a simplistic code base that does many of the things our production code base does (multiplayer collaboration, facilitates activities), without the complexity. Could it ever reach production? No! But, it can serve as place to demonstrate and test interactions at a level of fidelity just higher than a digital wireframe.

With AI coding assistance, the distance between sketching interfaces and expressing them in code has closed significantly. This makes the idea of “sketching in code” much more palatable.

Metrics

A very health week for signups, while platform activity was mostly flat over the previous week.

This week we…

began planning Cycle 9.

…made our final deliverables to the U.S. Department of Defense under our “Tactical Funding Increase” contract (TACFI).

…began experimenting using AI to predict which deals deserve the attention of sales. To date we’ve been using a set of hard rules in our CRM to determine who might convert to revenue. This week we began experimenting with a predictive algorithm.

Next week we’ll

…place bets for Shape Up Cycle 9. We’ll decide what we’ll be working on for the next six weeks.

Jordan Husney

Jordan Husney

Jordan leads Parabol’s business development strategy and engineering practice. He was previously a Director at Undercurrent, where he advised C-Suite teams of Fortune 100 organizations on the future of work. Jordan has an engineering background, holding several patents in distributed systems and wireless technology. Jordan lives and works in Los Angeles, CA.

All your agile meetings in one place

Run efficient meetings, get your team talking, and save time. Parabol is free for up to 2 teams.