Software architecture is a manifestation of the earliest design decisions about a system, and these early bindings carry enormous weight with respect to the system’s remaining development, its deployment, and its maintenance life. It is also the earliest point at which these important design decisions affecting the system can be scrutinized.
The fidelity of the system increases as extensions are added, or early versions are replaced by more complete versions of these parts of the software. In some cases, the parts may be low-fidelity versions or prototypes of the final functionality; in other cases, they may be surrogates that consume and produce data at the appropriate rates but do... See more
When production code is important, then it is a minority: most project code is scaffolding. Tests, deployments, linting, verification, utilities for local development, handy admin interfaces–scaffolding is code that helps us safely and efficiently change production code.
my newly articulated framework for deciding how to price work has 5 dimensions:
how much FUN will it be? (obvious)
how NICE are the people i’ll work with? (also obvious)
how EASY is the work to deliver? (= i’ve done it before and know what to... See more