I've been using many development cycles in the past, from days to hours, to minutes and the best is instant, as in thought-to-outcome. Let me explain.
Here are some examples, to see what I mean:
When using punch cards, I hear you could still fail the compiler so it was back to the drawing board... err, typing board!
So, what's in a development cycle, these days?
The problem with the second are also many, given the framework you choose to code on. Many frameworks require a lot of fluff be written before you can do like 1+2
, between annotations and main() and containers and so on.
The third step is interesting - that's where developers spend a lot of their time, so the entire loop 1-2-3 is the most important: thought-to-result. After that, the rest that's there is just a harness and some polishing and feedback, but 1-2-3 is the productive bit.
{{jsfiddle}}
1+2
{{/jsfiddle}}
Here's a very quick 1-2-3 - speed being instant. Click and edit and change the expression and see the result on the fly. I think by now everyone is getting used to this notion, of the instant "fiddle". Also, if you make a mistake, you'll see it underlined in the editor, while the outline of the result box changes to red.
What's wrong with applying this at an entire "microservice level" ?
Nothing, of course, provided you have some infrastructure in place:
$mock say.hi(name) => (greeting = "Hello, " + name)
$send say.hi (name = "Jane")
$expect (greeting contains "Jane")
Click on "Edit", save and then click on Trace and see the results asap.