If you are a security researcher designing a virus scanning algorithm, you need to understand how your users will interact with your scanner. Can they pause and resume? Can they tune the parameters of your scanner? Which parameters? etc. The way you answer these questions will invariably affect the architecture in some way.
Again, a very narrow characterization of when development happens.
A lot of programmers want to be handed concrete requirements so they can focus solely on implementation, but in practice this leads to gaps. A programmer who thinks beyond their immediate scope to the end-to-end context and human players involved where their code is executed will deliver far more value and avoid so many common disasters that happen when non-technical people are solely responsible for requirements.
You tell me, that I should be concerned about the UX of the scripts I develop to go through all the data and hand me the result I will answer back with?
I would say that I should just solve the problem, answer with the needle, and get on with my life.
So, if I am a security researcher I should worry about UX before diving into attempting to characterize viruses?
It appears that this article needs some explicit words on scoping. This is only relevant when strictly doing user application development.