We refine project requirements together with a client during a business analysis stage. The goal is to prepare clear requirement specification. It can be accompanied by software architecture diagrams like System Components Diagram, Entity Relations Diagram, Class Model Diagram and other. During development we maintain and update all the diagrams together with other technical documentation artefacts like API specification, deployment instructions, etc. This allows clients to get predictable results and also properly maintain the project in the future.