Way back late summer 2009. Almost a year ago NAV 2009 was out of our hands, NAV 2009 SP1 was at the verge of being pushed into the world and I … just one month ago the MS doors were closed behind me and I made my steps into the partner world picking up my new job at Imtech ICT Dynamics Solutions as Technical Consultant, which became more and more Product Manager.
Imtech ICT DS, a typical NAV partner having a drive for their customers doing all of their NAV development in various CSIDE databases. Except for copy/pasting databases there was no advanced way of securing the code, let alone more sophisticated tools to support efficient propagation of fixes and features from one code source to another. I reckon you can make an intelligent guess at the answer I did get to my question what kind of source control system (SCS) was being used. So that’s were my quest started which more or less came to a conclusion last Monday with my presentation “NAV Development with Team Foundation Server” at the Dutch Dynamics Community event in Arnhem. A retrospective of the whole process.
Now with this post I will lift it to the next level. Share our experiences with a much wider audience. Bringing Dynamics and Classic MS closer? Hopefully. Helping to prepare for the next steps in your profession? Exposing myself to your feedback. Revealing myself … do I dare to say it … do I … as an … expert on this matter. Offering my services as freelancer where you get stuck.
SCS @ Imtech ICT Dynamics Solutions
So why did I wanted us to move to a SCS (in question form)?
- How to safeguard our source in a more advanced way?
- How to keep our history and manage our releases?
- How to efficiently/effectively propagate features/fixes?
- How to have multiple developers working on the same project?
- How to track & trace code changes?
- How to manage and plan our development effort?
- Tool outside of NAV that enables us to handle multiple products/projects (major!)
- Stay close to MS stack (minor)
- Enable efficient creation of deployable code objects, in both database and .fob format (minor)
With these questions and prerequisites I started my investigation, bringing me to the DevDays in 2010. Talking to various experts. Having a very close look at Perforce. A real very close look as this was exactly what I was looking for in terms of SCS having flexible branch definitions (which TFS still is missing) and cool … yeah really cool graphical tools. But missing the sheer fact that it was not part of the MS stack and that TFS is maturing and indeed made a huge leap forward with Visual Studio 2010 in terms of becoming, no being, a complete Application Lifecycle Management (ALM) tool. Brian Keller, Matthew Mitrik and Gerard van der Pol (MS) did a good job in getting our nuts and bolts together for VS 2010 and giving some sneak previews into VS vNext.
And then, not in the least important: slowly but gradually tools are becoming available to bridge the gap between TFS and NAV:
Hence we decided to get on with TFS as our SCS, and ALM, tool. But we had to deal with some inflexibilities of TFS and setting up a fitting branching strategy.
We’ll dive into these in some future post.
Feel free and download my DDC pdf-ed powerpoint here.