Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Certainly it is a productivity killer when a developer is constantly interrupted by other workers, bosses, etc - but it is even worse when the developer is constantly interrupted by his or her own tools and equipment.

For example, if a developer must wait 10 minutes for each build he makes - so that he can iteratively test code he is working on, the effect on productivity is devastating. Or perhaps the build is fast, but copying the bits to a test VM takes 3 minutes. Once again, the developer is being vexed by a lack of "responsiveness" in the tools and procedures being followed.

I believe there is a name for an environmnent that is free of these problems, or perhaps a name that is plagued with these process and tool interruptions. I can't recall the name or industry "label" for this. Anyone recall?

share|improve this question

closed as primarily opinion-based by gnat, MichaelT, Kilian Foth, Bart van Ingen Schenau, Dan Pichelman Feb 18 '14 at 20:09

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

Impediment? Though technically (in Scrum) that's something that stops you completing a task on the backlog. – James Love Mar 1 '11 at 18:00
I think the technical term is "clunky". – John Mar 1 '11 at 18:06
There is a name for this friction-free development environment. It's called Nirvana. – Joel Etherton Mar 1 '11 at 18:42
So you're not looking for a solution - just the name? Why? – NickC Mar 1 '11 at 18:43
Because of how much we awesome devs rock and roll when in the flow, I call it getting rock blocked. – Matthew Frederick Mar 1 '11 at 19:59
up vote 6 down vote accepted

In general when you talk about stuff like this the common term is: flow

the mental state of operation in which a person performing an activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity. In essence, flow is characterized by complete absorption in what one does...

...flow is completely focused motivation. It is a single-minded immersion and represents perhaps the ultimate experience in harnessing the emotions in the service of performing and learning. In flow, the emotions are not just contained and channeled, but positive, energized, and aligned with the task at hand. To be caught in the ennui of depression or the agitation of anxiety is to be barred from flow. The hallmark of flow is a feeling of spontaneous joy, even rapture, while performing a task although flow is also described... as a deep focus on nothing but the activity – not even oneself or one's emotions...

share|improve this answer
Fantastic!!! These "interruptions" disrupt the productivity of "Mihaly flow." Perfect! I wouldn't be surprised if another formal word exists that is custom tailored to this topic, but I'm sure this is as good as any would need. :) – Brent Arias Mar 3 '11 at 18:25

I think the name for the environment you're attempting to describe is "dreamland". As developers we are constantly working with computers. I've never met a computer I liked or did its job with any regularity. That being the case, we're constantly impeded by the simple fact that we work with computers.

This soft and furry land where developers are not constantly being interrupted waiting for stupid shit like "Intellisense" and just general, random lock-ups, where there's flowers and rainbows all the time and everyone is smiling...yeah, that place doesn't exist unless you've taken a LOT of LSD.

share|improve this answer
It exists if you choose your tools well. For example, using Ruby on Rails, you can write a unit test, add a database column in a migration, write the code that uses the new column, run the migration, and run the test in a minute or two. Or change code and refresh the browser. – kevin cline Mar 1 '11 at 19:19
@kevin: some tools we do not choose... they choose us... – code4life Mar 1 '11 at 19:28
Just because you can add a column to a database and application in 2 minutes doesn't mean you should. You could do that with Microsoft's Webmatrix and not write any code at all. – JeffO Mar 1 '11 at 22:15
You never met a Symbolics LISP Machine. (I speak from experience here.) – John R. Strohm May 4 '13 at 16:00

I don't know beans about development methodologies (except maybe modified waterfall) but this sounded interesting.

It might be Interruption Driven Development as the problem, and the way to fix is the sacrifice one person strategy.

Makes sense, let one poor sod absorb all the interruptions so everyone else can work.

share|improve this answer
of course that doesn't take care of the build time. For that you need to switch to Delphi. – Peter Turner Mar 1 '11 at 18:28

I think the problem you are trying to describe is "humans", and more particularly "programmers".

Indeed, no matter how fast our computers are (and they are a hell of a lot faster than say 20 or 30 years ago, when we were able to do pretty good stuff already with those tools - check out Phones vs Supercomputers for some inaccurate but interesting insight into our past and present) we tend to ask more and more of our computers until they choke. That's when we decide we have reached the limit of the acceptable and that's what we settle to work with. Sometimes happily, sometimes not, it's a matter of perspective.

What's the solution? Sometimes we need to review our expectations, our processes, clean up the junk we downloaded, build machine dedicated to one task (compiling, testing)...

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.