How to minimize the number of revisions in design and development (frameworks, tools, communication)