2 Fundamental ↑

No. 5 — Create Value for Customers

Developers must be focused, not just on writing code, but on creating value for their customers.

Let me qualify what I mean by “customer” and “value.”

As mentioned above, value means more than just the ability to reliably perform a given task: the software must also be easy and reasonably pleasant to use. This is more than just a matter of “gussying up” the user interface – the developer must understand how his users think, and communicate to them using words and graphics that are consistent and effective. Most fundamentally, the software must be built around a mental model with which the user is already familiar, or that seems intuitive once learned.

Although developers need to form ideas about what will be useful to a set of users before developing software, those ideas can never be fully validated without actually developing the software and seeing what real users actually do with it. This is one reason why usability testing is so important.


Words from Others on this Topic

For years, app dev pros have been told to keep their heads down – that all you need to do is follow the project plan and write your code. Wrong. Lift your head up, find your passion, understand the business and then use your technical creativity to make beautiful applications that users find useful, usable, and desirable.

Mike Gualtieri, Excuses, excuses: The Business Doesn’t Know What It Wants, 2009

In short, the software designer must learn to think like a communicator and to practice an artistic craft as well as an engineering one.

Paul Heckel, The Elements of Friendly Software Design, 1982

You [the software developer] will need humility to recognize that the users are always the final and most appropriate judges of your work. Even though you’re the expert in interpreting your users’ comments and meeting their needs, their judgments of your work are final and without appeal.

Nathaniel Borenstein, Programming As If People Mattered: Friendly Programs, Software Engineering, and Other Noble Delusions, 1991


Next: Automate Repetitive Tasks