• So, the question is how to keep the overall design straight in your head while you're developing?

    I'd suggest reading Ralph Kimball's book "The Data Warehouse Toolkit". If you haven't already, then stop whatever you're doing and read this book.

    http://www.kimballgroup.com/data-warehouse-business-intelligence-resources/books/data-warehouse-dw-toolkit/

    In it he describes the process of building a warehouse, starting with the basic concepts and then going from requirements gathering to implementation. He advocates creating what he calls a "Bus Matrix", which maps business processes to dimensions. That's probably the first design document you want to work on.

    Data Model diagrams and a Data Flow diagram for each ETL process are helpful of course. Whatever I'm currently working on, I'll have the relevant model and flow diagram pinned up on the wall nearby or displayed on a 2nd monitor. Sometimes I'll even have the diagrams embedded with file links that open the related documentation or source files.

    Also, even if you prefer to implement most of your ETL process in T-SQL, it helps to call these tasks from SSIS. Even if your package consists of nothing but T-SQL tasks glued together with connectors and precedence constraints, SSIS helps to visualize the flow of your data, how it all ties together, and it has some useful auditing features.

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho