Consider the Development Feedback Loop
Imagine you’re a potter making your bowls on a wheel in your studio. Now imagine that your craft has a different workflow: you make bowls by writing scripts executed by a bowl-making machine on the other side of the world without your participation. That’s the difference between a tightly coupled craft (your hands on the working material) and a loosely coupled craft (feedback too weak or too late to guide the process).
The craft of the potter involves a tightly coupled feedback loop. Our craft as programmers, at best, involves loose coupling.
Test-Driven Development is a step toward tightening the feedback loop that guides coding. Now imagine what might be different if our craft were so tightly coupled that our relationship with our software was more like the potter’s hands-on relationship with the clay.
My research examines how we can make application development a tightly coupled craft by exploiting the human’s tight hand-eye-brain feedback loop. I’ll report a set of design principles, demonstrate a proof-of-concept “hands-on” application-construction tool, and show how building with live data using such a tool can alter the dynamics of the construction process. Then I’ll suggest how adopting methods built on these ideas can further draw domain experts into the application-development process.