System architecture
I design architecture around the needs of the specific system: data volume, number of users and expected load, required availability and operating costs. On a smaller project you don't pay for capacity you won't use, and on a larger one I plan for further growth. I document the design in UML diagrams together with the reasoning behind key decisions, so that anyone working on the system can find their way around it.
