If you’re reading this blog maybe you’re involved in any phase of the software development process, typically mostly people is involved in the development stage.
This is not a philosophical question; it’s just a straight forward reflection about the amount of time which is actually spent in UI-related development activities (by the way, have you ever measured your development efforts? If so, have you categorized them? I’m sure you will find interesting findings). According to my practical findings the UI activities account up to 54% of the total time.
Please don’t get me wrong, the UI category includes working with UI controls, HTML templates and interaction functionality, so this category only includes the code necessary to make the UI work and not the time required to design the UI elements of your application (that’s the graphical designer’s work!). I have found this number consistent across different UX approaches, projects and server technologies.
Over the pass of the years the UI have become a big deal, don’t believe me? Just count the numbers of times you hear from your team or customers words like: look, feel, easier, modern, friendly and so on. The UI was considered in past years like the iceberg’s peak, the minimal and less interesting challenge, but now, the UI becomes the contract or artifact the customer wants to negotiate on.
By other hand, 16% of the time is spent is general administration and planning activities conducting to do internal work products. An internal work product can be (depending on your policies and methodologies) a mockup, a schedule, a manual, a status report and so on. This category covers all the work which is not programming related per se.
The 15% is spent is data base related work, doesn’t matter if it’s a schema creation, a store procedure activity or a ORM aided task, all of them account in my numbers as data base. The last 15% is spent in coding, pure coding period; I mean the task is about algorithmic, logical and business programming.
These results led me to ask: ok, you’re a Software Developer (in any language, i.e. C#) but you only code 15% of your time (remember that the database stuff can be done by a data base professional while the 53% by a UX Engineer or by a heroic graphical designer), so is your job title according with your daily activities? I don’t expect you answer the question; I just want to help you figuring out where is the time.
If this trends continues, tooling manufactures should focus on create products to decrease the time required to developed a modern and friendly UI. I imagine a near future where UI is not a hand-craft master piece but it’s instead a systematic and controlled output. Hey software giants and community members please stop reinventing the fast-methodologies, the paradigms and patterns to plug the UI with code! Please prioritize and focus in helping us creating, reusing and improving the UI itself.
Javier Andrés Cáceres Alvis
Microsoft Most Valuable Professional – MVP
Intel Black Belt Software Developer