Simple vs complex projects

Rob Schumacher

This article is part of our internal documentation at Feather. We build our product in the open and share our learnings with the community. We’re always looking for talents to join our team check out our careers page!

Simple problems can live in the head of one person that understands the problem and the solution end to end. You don’t have to communicate, and are fastest on your own.

Complex problems feel harder. Slower. That’s normal.

Breaking down complex problems into simple ones is an amazing skill to have, because then you don't have to deal with a complex problem… but that isn't always possible. So here's what we recommend at Feather for dealing with complex problems.

Overcommunicate

Communication becomes the most important thing. Specifically, repeating what you think is true back to everyone on the team is your main job–you can’t overcommunicate.

Share your best guess

The plan to solve the problem evolves by you sharing your best guess of the plan with each area expert, and you iterating on the plan based on their input. It will always be wrong to start, and that feels bad if you’re used to simple problems. That’s normal and ok. It’s all the more important to share the “wrong plan”, because that’s the only way you can get it right.

Cut the corners

It’s your responsibility to tie what we do to useful business outcomes. That can be a better product for customers, save time for ops or reduce technical complexity (the best include all 3!).

Cutting corners is ok, and encouraged, because you know if the business outcome is worth the effort. Where it’s not, cut the corner. So really knowing when we have made a difference for the company and what that difference is ensures we do the right stuff, rather than just “doing stuff”.