Our approach
First we clarify the need, then we choose the simplest architecture that does the job. Code, tests and documentation are parts of the same delivery. On the day you take over the product, maintaining it should be easy too.
We work in short cycles, and at the end of each one we share a working version with you.