I had the pleasure of being invited to keynote the Visual Studio 2012 Launch at Microsoft Tempe on Monday and would like to thank Microsoft for having me and everyone for attending.
I’ve been really impressed with the VS 2012 bits since working with the previews and it was a great privilege to showcase all the amazing features in the IDE and new version of TFS.
In my role at Neudesic, I spend a lot of time talking to customers about their challenges and how we can help make them more productive. The reality is that there is a tremendous shift happening in the way that IT operates and is consumed today. Compared to just 5 years ago, organizations that want to succeed must leverage technology in a manner that allows them to both grow and innovate as opposed to merely running their legacy assets. The emergence of devices, and corresponding customer expectations to be productive anywhere, on any device has forced new, modern trends and work styles that IT must contend with or they will simply be left out.
Often, I talk to customers about this through an integration lens, but it applies just as equally to Application Lifecycle Management (ALM). While I strongly believe that integration is a core strategic enabler to unlocking an organization’s potential to maximize their investments in Systems of Record assets enabling them to compose existing assets with new capability to grow the business in new ways that differentiate them from the competition while driving innovation, none of this is possible without the right people, technology, process and tools.
I believe that one of Microsoft’s biggest value propositions is that it provides a single, unified platform for delivering capabilities both on-premise and in the cloud. This single platform approach extends from devices; including desktops, laptops, tablets and smart phones to always available compute resources in the cloud or on-premise. This is compelling for many reasons, not the least of which is the developer economics of working within a platform that embraces both native and web development styles providing a first class tooling experience for each without compromise.
I’ve worked with Visual Studio and TFS since the 2005 release and while the product has matured and grown significantly with each subsequent release, Visual Studio 2012 and TFS 2012 is really a coming of age. The user experience is exceptionally polished, and while I will admit that I was very vocal on some of the changes from the 2010 aesthetic, the final product is fast, efficient and fluid.
Some of my favorite new features in the new release includes local workspaces. With local workspaces (now the default), we can ensure that we don’t lose productivity (or our precious code) when on the go. Detecting changes to files under source control and adding new files- whether within the IDE or using another tool just works.
And Team Explorer just flies. Asynchrony is no longer an esoteric, dark art but a requirement for delivering responsive, fast user experiences and Team Explorer in VS 2012 is a great example of lazy loading and asynchronous messaging for enabling a great user experience.
I also love the new My Work feature. Distractions are an unfortunate part of every developer’s day and it seems that just when you are in the zone with all of the right files open, break point set getting close to completing that feature of fixing that defect, you get that emergency call that takes you away from your work. With My Work, you can simply suspend your current working session and Visual Studio will literally dehydrate all of your context including files, break points, etc. until you return, leaving your IDE clean and ready for the next fire. When you are done saving the world, you can simply resume your work and the IDE is literally rehydrated just as you left it. It really is amazing.
Speaking of information radiators, the TFS web client is beautifully redone. All of the metrics that your team values can be added to your team/area’s dashboard as a favorite. While I’ve always been an IDE zealot as far as working with WIs, queries, etc. the management experience in the new web client is exceptional. I can prioritize stories, do release planning on the fly and get a snap shot of how utilized or under allocated my team is with just a glance or by reviewing the new Taskboard feature which provides a view into state of work by team member or as a team.
As the pace or speed at which the business expects IT to be able to deliver value, particularly within systems of innovation like web sites, web apps, etc., the tolerance for misunderstood requirements has shrunk significantly. To quote the old adage: “You’ve built exactly what I asked for, but it isn’t at all what I want”, it is very easy to misrepresent and misunderstand requirements, particularly within the presentation layer. Many design technologists minimize this risk upfront by introducing wire frames and story boards. VS 2012 brings some entry level story boarding tools to developer hands by integrating with the most popular modeling tool out there: PowerPoint. Supporting mobile, native and web styles, it’s now easier to put together mock ups to gain feedback earlier in the development lifecycle when changes are least expensive.
Another very cool feature is the Feedback Client/Manager. Anyone who has ever worked with me on a project knows that I am a big believer in the importance of feedback, early and often. Whether that means ensuring that _everyone_ knows the status of the build (and owns the outcome) or has visibility to the backlog, current velocity and burndown, identifying meaningful information radiators (Alastair Cockburn’s term) is essential. As I always remind folks: If the first time the customer has seen your feature is in the demo meeting, you suck. Just as you wouldn’t pay a home builder to build your dream house and accept that you can’t visit as the foundation is laid, frame goes up, windows and dry wall go in, software is no different. By using the new Feedback Manager, you can invite your stakeholder/product owner/manager to review and explore your feature via an automated email that maintains traceability to your work item/story. From there, the stakeholder can walk through the feature, capture feedback via voice, images, video or text, and punt that actionable feedback right back to you. Of course, I would never suggest this as an alternative to having a conversation, but as teams become increasingly distributed, this is a great capability for ensuring you are getting feedback early and often.
Lastly, as a TDD zealot, I am really digging the improved support for unit testing. Everything from an improved test runner that reports execution time to support for fakes and stubs makes test-first development much more tenable without resorting to 3rd party tools or frameworks (not necessarily a bad thing, but you never know when an open source project might be abandoned leaving you and your team in a lurch).
Wow. Ok, that’s a ton of stuff and I haven’t event scratched the surface so I’ll leave you with the slides I shared and a link to download and evaluation Visual Studio 2012 and TFS toda http://www.microsoft.com/visualstudio/eng/downloads