Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development
by Dave Ingram
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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access