The Way It WasSharePoint development was pretty much always a painful exercise that only the truly masochistic enjoyed. If you actually enjoyed finding and installing a variety of tools and scripts to package and deploy your solutions, there was always the woefully inefficient process of tracking down a particular error, or the documentation that never seemed to tell you what the sealed class actually did, or the IDE that kept crashing, or the seemingly never-ending process of getting your environment "just right".
It has been known to happen that, after installing Windows Server 2003 and SharePoint 2007 on a dedicated SharePoint development box and tweaking the environment for days, the whole thing explodes in a microsecond because the hard drive went bad, the wrong thing was tweaked, there was a power surge...whatever. Development boxes weren't backed up. Or if they were, the process of restoring it was more painful than just rebuilding it.
So much time was wasted...
The Way It IsVisual Studio has come a long way. We now have simple F5 deployment for our development environment. We have correlation ids to help us find our errors. We can now install SharePoint on the consumer Operating System rather than a server operating system. Documentation is much better. Visual Studio is far more stable and developer friendly.
Oh, and there are virtual machines. I can create an environment, get it just right, then snapshot it and save it somewhere safe...on a NAS, on a special backup drive, or in my pocket.
But a lot of time is still wasted...
The Way It Will BeWindows 8, Azure, TFS Online, and Visual Studio 2012 changes the game.
Most decent sized companies have multiple SharePoint environments. They may have an Extranet, an Intranet, corresponding development and test environments, and various other pilot SharePoint installations.
One day soon SharePoint developers, after logging into TFS online and checking their task list, will do one of two things:
- Within a few minutes, they will download the latest VHDs (Hyper-V VMs) they need from a cloud or on premises source, spin them up on their Windows 8 machine and start developing.
- Within a few seconds, they will login to Azure and spin up the latest VHDs they need and start developing.
Somasegar, Corporate Vice President of the Developer Division at Microsoft, stated the issue clearly in his blog recently, "as your customers evolve, so too do your apps, requiring you to continuously improve and incorporate innovations faster than ever before, with continuous feedback, continuous quality, and continuous delivery." (http://blogs.msdn.com/b/somasegar/archive/2012/09/12/visual-studio-2012-and-net-4-5-launch.aspx)
Microsoft is adapting. Visual Studio will receive more "regular updates" with new enhancements and features. Azure is constantly evolving and improving it's product. A Microsoft SharePoint Product Manager recently stated that SharePoint will be receiving more "iterative updates". The 2-3 year major software release cycle is dead.
The evolution of software development starts with the developer and the process they follow:
- TFS Online (available now as TFS Preview: https://tfspreview.com/) means that your entire code base is available almost immediately.
- Azure means that SharePoint virtual machines (setup to your environment specs) will be available within minutes. For reference, Microsoft has released a white paper on the subject: http://www.microsoft.com/en-us/download/details.aspx?id=34598
- In combination with the above, Visual Studio provides virtually everything you need to start developing almost instantly.
So, stop wasting time and start churning out software that your clients will love...Do it NOW!