3 Distinguishing Features of Successful Business Apps

Using User Centered Design and Domain Driven Design to create focused, user-centered, domain-driven business apps and cloud business services for agile enterprises.


What are the crucial characteristics of a user-centric app? It is simple and usable. It is tuned for that particular user, to support her in that particular task. It has been created with a human in mind, studying her work patterns, the knowledge that she uses and the interactions that she engages in. It understands the user’s context. It is focused, adaptive, intelligent and cool. User Centered Design offers a method to develop such an app, which from the first bright idea to the final upload of the app into an app store is focused on the user.

What are the key factors of a world-class business application? It is simple and usable. It speaks the language of the business. It has been designed around the body of knowledge in that domain. It understands the dynamics of that business, the strategic themes, the performance indicators, the interactions and the information. It has been created in collaboration with domain experts, capturing the essentials of the business. It is focused on supporting a particular set of business scenarios. It is adaptive, intelligent and a pleasure to work with. Domain Driven Design is a software engineering method that guides an agile development team to realize business applications that are molded for world-class enterprises.


In the last weeks I have been studying a number of books and articles about building great user-centric apps. Two books in particular made an impression: Jodie Moule’s Killer UX Design and Giles Colborne’s Simple and Usable. In her UCD book Jodie introduces a method for developing a user-centered app and applies the theory to develop a fine cookbook app for the iPad. It is a great story about you start with researching the business problem, gaining deeper insight in the user’s context, developing the vision on the user experience, defining the concept of the product and designing the app with its various functions and features. For me the essential aspect is really understanding that user whom you want to give the best tools to perform her tasks. It is knowledge that is collected, analysed and applied to realize a user experience app that people love.

The two words in the title of Colborne’s book: Simple and Usable, triggered my attention. The book describes and illustrates in a very compelling fashion what distinguishes world-class products from poor products. Again the emphasis is upon providing those features and capabilities that really help a user in performing her job, exercising control over her work and making the app a natural extension of her own skills. The focus word of Colborne is simplicity for mainstream users, which he explains by means of four strategies: removal of superfluous features, organizing the information in an intuitive way, hiding complexity and displacing functionality. The book aligns well with the trend to minimalism, which is apparent in many places. Simplicity must be paired with extreme usability, often requiring a lot of complex technology to achieve its aims.


In an earlier article I have written about Domain Driven Design, applied to business applications. The essential aspect in this method is domain modeling to control the complexity of the business domain. The intimate knowledge of the domain must be crunched in the continuous interaction between domain expert and software engineer, to derive a language that captures the essence of the domain. The resulting set of models, be it domain entities, domain processes or domain algorithms, are used to develop the services for streamlined interaction, collaboration and integration in the enterprise and its value network.


User Centered Design and Domain Driven Design share a number of principles. Both methods focus on the audience for which the app or service is built, be it the user in UCD or the business domain in DDD. Both methods aim for the core, the essentials, the focal point in that context. Both methods strive for simplicity and usability. I believe that combining these methods in an agile manner, for the development of business solutions, with user-centric apps and domain-driven services, is key to successful innovation. Those solutions will be

  1. Focused on a particular business
  2. Centered upon the user
  3. Immersed in the domain

The cases of Modie and Colborne illustrate that successful apps can be created in such way. The experiences of Evans show that business applications can be designed in such a way to better align with the business. Next generation business solutions must adopt these design methods to become real game changers.