The graph depicts the relative effort spent on the various competences. From this data a very clear trend emerges: only 20% of the effort is spent on actually programming (coding) the system, while the preceding phases (requirements engineering and design) and evaluation each consume about 45% of the total effort.
Concept: Requirements 10% + Specification 10%
Design: UI & UX Design 15%
Coding: Fontend & Backend 20%
Implementation: Evaluation & Project Management 45%
Source: Software Engineering: Principles and Practice, Hans van Vliet, Wiley, 2007
Good evaluation is at least as difficult as good design. Different studies indicate that 30 – 85 errors per 1000 lines of source code are made. These figures seem not to improve over time. During evaluation, quite a few errors will be found and subsequently fixed – this increase costs and time!
Source: Software Engineering: Principles and Practice, Hans van Vliet, Wiley, 2007
Evaluation is often taken to mean executing a program to see whether it produces the correct output for a given input. This involves testing at the end of the process, the application or system itself. As a consequence, the evaluation activity often does not get the attention it deserves. By the time the system has been designed and coded, we are often pressed for time, which does not encourage thorough evaluation.
Good concept papers (detailed wireframes and specifications) helps to decrease the risk of error accumulation by testing the idea in a very early stage of the process. It helps to save time and money!

