Ryan Singer

April 12, 2021

10. Some solution vs. no solution

It’s natural to argue over what is the best, most perfect solution. Who would want to build anything less? This is especially true when we have our design or development hats on with a specific idea we hope to see in the final product. But it turns out that in the shaping phase, what’s “best” isn’t always the right question to ask. I’m...
Read more

April 9, 2021

9. Shorthand for shaping

Here’s a look at some shorthand I’ve been playing with, early in the shaping process. I use this when I have a bunch of stuff in my head for a design but I don’t know where to start. I don’t know if all the pieces are going to combine or not. I don’t want to just start randomly and find out that I’ve painted myself in a corner, hit a d...
Read more

April 9, 2021

8. Team Integrated and Team Modular

A Shape Up reader wrote an email asking: “1) I work for a company building custom software for different clients. Many times our clients don't have the budget to pay for full-time programmers and designers for six weeks . . . the cost is kind of high for a small business. 2) How do the roles of frontend and backend work? What if a proj...
Read more

April 9, 2021

7. Orthogonality is a choice

There are many definitions of orthogonality. For the overlapping worlds of design, engineering and business, we can summarize with this question: what needs to be solved together as one whole, and what can be solved separately? Two things are orthogonal if we can work on one of them without having to get into the details of the other. ...
Read more

April 9, 2021

6. Work that energizes

After a few newsletters about defining work with pattern languages, a friend of mine said: "I don't get it. These pattern languages just look like outlines or specs. What's different?" Well, okay ... at one level it is just a spec. And maybe focusing too much on the pattern language format is misleading, because a format alone doesn't ...
Read more

April 9, 2021

5. Video: Shaping a feature and writing a pattern language

In Christopher Alexander: A Primer I talked about project-specific pattern languages (49:02). Since then, I've shaped a handful of features for Basecamp 4 using pattern languages. The last couple newsletters gave a peek at that process (#3, #4). I have enough reps now that I'm ready to share more. So earlier this week, when it was time...
Read more

April 9, 2021

4. Measuring usage with a Taguchi signal/noise ratio

Bob's been slowly schooling me in Taguchi methods over the last couple years. I'm starting to make some small steps towards applying them to software projects. My favorite so far is the signal/noise metric. Here's how I understand it so far. How do we know if a product is working "as it should" for people? For example, we could write a...
Read more

April 9, 2021

3. Shaping with pattern languages

I'm re-reading Battle by Christopher Alexander. It shows the exact steps he took to design and build the Eishin Campus in Japan. I feel like a student in a master class when I'm reading this. The phases he went through map very well to Shape Up concepts, but his methods are worked out more precisely, more robustly, and seem more mature...
Read more

April 9, 2021

2. Shaping on the demand side

One day, back in April, I was shaping some work for Basecamp 4 (the next version of Basecamp that we're planning to build next year). At 4:00 p.m. I got an alert from Basecamp's Automated Check-in, asking: "What have you worked on?" Normally I write a few bullet-points to summarize what I did. I felt hesitant and anxious about answerin...
Read more

April 9, 2021

1. Unfolding the interrelationship diagram

A while back, I learned this technique from Bob. Sometimes I'm working on a design problem, and there are too many things to solve. They all seem tangled together, and I don't know where to start. I'm afraid that if I start on the wrong thing, I'll paint myself in a corner or go down the wrong path and have to start all over again. A t...
Read more