A recent blog post about combining the functionality of SQL Server Management Studio within the Visual Studio IDE got me really thinking.
Any any given moment I have at least 6-8 applications running, usually quite a bit more. When developing an app I usually have a work environment consisting of VS 2010, SSMS, Firefox (with at least 6 tabs open), Outlook, Word, etc. Each application is only an Alt-Tab away.
I initially rebel at putting SSMS DBA features into VS2010 (yes, I know they are already there, I just don’t use them). Much of this has to do with the fact that historically these tools have lacked functionality, but I now realize a large part is the mental context switching that Alt-Tab provides.
If someone walks into my office or a phone call grabs my attention I can easily Alt-Tab to another app, or simply Ctrl-T to open a new tab in Firefox (which starts at Google) ready to handle that particular request. It doesn’t matter what I was doing before. For some reason Alt-Tab simply puts my current mental state on the stack (forgive the metaphor ) ready to be called up when I Alt-Tab back sometime in the future.
Switching between different duties using Alt-Tab seems to really trigger a context switch in my head. All this happens in the .2 seconds it takes to press Alt-Tab.
While DBA duties are really integrated into my development process (in my work I am the developer and DBA) I love the clean separation of concerns when I Alt-Tab between VS and SSMS. Even if SSMS were completely duplicated within VS I don’t think I’d care for it. There is just such a satisfaction with mentally putting on my DBA hat for SSMS work, even if it is simply for 20 seconds while I add a column to a table. It just seems cleaner. Unless the integration of the two tools really provides support that each tool individually couldn’t accomplish I actually see less value in combining these. Additional features, such as integrating source control over my database assets and generating data migration scripts, would prepare me to mentally believe these two tools really should be combined.
Now I guess I need to start to evaluating add-ons and other tools based on how easily I can task-switch the context in my head when I need to use them.