My Workflow
There is a fake dichotomy about Top-down vs Bottom-up approach In reality most practices integrate elements of both. We alternate between “do the right job” awarness and “do the job right” eagerness. This is Reflective equilibrium applied to software development.
As professionals, design decisions flow from a process of deliberative discovery and mutual adjustment among general stakeholder desires and particular developers judgements.
We naturaly seek a state of balance or coherence
among these set of design decisions and particular developers
judgements.
Process Dynamics
|↴
| TOP-DOWN DESIGN
| ↱↴ Think a little
| ↑↲ Write a little
|
| BOTTOM-UP IMPLEMENTATION
| ↱↴ Code a little
| ↑↲ Test a little
|←
Top-down vision
- What do we want?
- What do I have?
- What has to happen to get from what I have to what I want?
- What do I need to make it happen?
- verify and confirm impact.
see also: outside-in
Bottom-up implementation
- Given what I have which fundamental block can I tackle
- What are the clear steps involved
- What’s my immediate action. (Spike, test/code loop, verify)
see also: inside-out