--- id: aliases: [] tags: - authorship/original - destiny/fleeting - status/incomplete - topic/automation - topic/estimating - topic/software - type/philosophy title: Separating Estimating Concerns --- # Separating Estimating Concerns > [!info] Separation of Concerns > Separation of concerns is a design philosophy > of eliminating unnecessary process coupling, > or in other words preferring specialization. > It is traditionally understood as a principle strictly of _software_ design, > however its applications are universal. %% Minimize takeoff flow disruption Decouple takeoff (description of work) from assembly selection: %% ## In the Real World In [[my-occupation]], ## Ideal Workflow ### 1. Annotation Annotation is documenting project scope as intended by its design. This involves reconciling missing and conflicting requirements, as well as erroneous and misplaced symbols. This process is intended to be _unbiased_, without respect for * industry knowledge * contractor standard practices The annotator is to describe the design scope without adding any outside information. #### Output The processes and tools for completing this step would differ between design-build and plans-and-specs projects, but the output would be identical in function. This step encodes "measures" with "tags" and describes the behavior of special tags (e.g. structure height of each `Level`) ### ~~next step(s)~~ Define takeoff given counts from step 1. ``` LET wiring-devices 'default/wiring-devices/decora' FOREACH MEASURE WHERE 'type' IS 'device/receptacle/duplex' AND 'mounting' IS 'flush' TAKEOFF 'DUPLEX REC - FLUSH IN METAL STUDS' FROM wiring-devices ``` ### -1. Reporting Build deliverables (proposals, BOM's)