What Are Your Priorities?

You can’t have everything. This is as true for software as it is for most everything else in life. The fact that you must make tradeoffs among user experience, performance, security, scalability, and deadlines might not be obvious until you are done designing your software and you have started building it. However, considering these tradeoffs really should be part of the design of your software. The architecture you choose for your software depends a great deal on which of these priorities is most important, and the timeline depends on the compromises you are willing and able to make.

Get Learning to Program 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.