-
On Software Scaffolding
A new lightrail line is being built in my city with bridges passing over the major boulevards. Seeing the elaborate scaffolding evoked comparisons to software engineering. What does scaffolding look like in software? Does software need to be erected like a bridge via scaffolding? Without a doubt: yes.
Here are some elements of software “scaffolding”:
- Error log instrumentation with a formal error log schema (i.e. errors are uniquely identifiable in a MECE schema)
- Operational instrumentation with reports , dashboards and alerts
- Performance profiling on methods, database calls, rest calls, system calls and any blocking IO.
- Client-side performance instrumentation and sampling of the population.
- Benchmarks established for datasource SLA, server SLA and client time-to-interactivity, among others.
- Unit tests
- Functional Tests
- Client-side tracking of passive (view), positive ( click, message, follow) and negative (cancel, close-window) behaviors
This scaffolding gives you the resolution needed to understand your application and your audience. Moreover, it empowers you make well-informed decisions and the agility to move quickly.