We see a problem and we try to solve it. Unlike our web development, we don't take on clients or orders for apps. We work at our own pace and sometimes never even release some of our tech publicly. When we do, our goal is that our apps solve a problem in someone's life.
We work in full agile Kanban and only take up what we can with our given capacity. Meaning everybody is happier.
We don't see each other much and we rarely work together at once. Our distributed development system means we choose where we work and our own hours - but it works.