Organizing the build steps on AzureDevOps I am new on DevOps world and I am making my first build/release pipeline for a .net web application using Azure DevOps. On the picture bellow, I just add some build steps and create some tasks groups to avoid duplications on the builds (that are similar). I have the Run on agent that I called it as Qa Agent Job  which runs over the local build agent hosted on my build server (as a windows service). 

My question is related with organization. I have some build steps here and I would like to organize it by sessions, for sample, Nuget Restore, Versioning, Build, Testing, Building services, Publishing artifacts etc. Is that a problem to organize it using the Run on agent item on build step? Should I lost any performance like "connecting on the server again" or "start a new process" or something like that?

Thank you.
You can separate the steps, especially as it would let you do divide the work among different agents. You can also leave them in a single agent if you wish. 

The primary advantage I see is leveraging different pools for different sets of work.

With releases last I checked variable scope was limited (as of 2018) to the "phase". 

I wouldn't necessarily worry about performance due to connections unless you've observed this issue and have more specific detail you can add.