13.1. The Guiding Principles

Chapter 4 looked at some of the inputs and outputs of the software "construction" activities, which for the purposes of this book include design, build, unit, and integration testing. I have listed the guiding principles here (albeit abridged) as a reminder before embarking on the journey through the conceptual design:

  • Positive user experience — Positively impact the user experience and satisfaction of the system while retaining and satisfying the business goals and requirements. The design needs to come up with an easy-to-use interface while providing all the relevant functionality.

  • Flexible — Support for a growing, changing, and adapting marketplace by adding new functionality quickly and easily. The solution should be flexible enough without dramatically affecting costs and timescales when it comes to adding new functionality.

  • High performance — Support for global transaction levels and volumes. The site could be accessed by millions of users, so performance is a key principle that should underpin the design. The end-to-end transaction time is crucial to end users.

  • Cost effective — Efficient and cost effective to operate, support, maintain, and enhance. The system shouldn't introduce an unnecessary burden on the support organization. The solution needs to be generally easy to operate. The system needs to be relatively easy to maintain.

  • Highly secure — Implement highly secure protocols for capturing, viewing, extracting, and amending data. The system ...

Get Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.