Studio Process
At Artcompiler, we work in four-week cycles. We ship updates continuously with a punctuation mark to tie things up at the end of each cycle. In this article we describe our technology, process, and how we work with partners.
OUR DOMAINS AND LANGUAGES
We organize work into domains. By working in distinct domains we compound our investment in app and api components through reuse. Within a chosen domain, we create task specific languages to solve problems within that domain. Languages abstract the domain semantics away from the underlaying code allowing non-technical team members to participate deeply in the development process.
OUR TECH STACK
Our products are built using React on the frontend and GraphQL with NodeJS on the backend. We use a language oriented approach to software development. Apps and apis are runtimes for task oriented languages used to program them. In this way, the "last mile" of look, feel and functionality is defined by high level code.
We've developed a collection of such languages, and Graffiticode a tool for programming, testing and deploying software written with them.
OUR PROCESS
We work in four-week cycles using a process loosely based on Shape Up by 37Signals.
Each cycle is an exercise in the design and implementation of language sketched out before the beginning of the cycle. These sketches include a vocabulary for the language and a rough description / drawing of how the words in that vocabulary are expressed.
What makes this process effective is the imposition of three opposing forces: fixed cost, variable scope, and an SLC (simple, lovable & complete) outcome. The key to this process is to specify work loosely enough to allow the implementation flexibility to cut corners when necessary while still delivering an SLC feature.
OUR PARTNERSHIPS
We work with founders and venture studios to co-develop projects. The founder normally commits to covering the studio costs in exchange for majority ownership of the developed product. Here is a sample joint venture Agreement .