Slides for sessions at TechDays Belgium

March 11, 2013

Last week was extremely busy with TechDays Belgium where I presented two sessions on Application Lifecycle Management.

My company Sparkles was also present with a conference booth and it has proven to be very valuable to listen to your feedback. Sparkles will continue to invest in offering the best advanced IT Training classes (Dev + IT Pro) with local and international experts.

Thank you all for attending one of the sessions and/or for showing up at the booth. Don’t forget to register for the Sparkles newsletter as you might still win free IT Training Vouchers.

Link to slides:

There are still a few seats left for the 3 day hands-on ALM training class in Ghent.


Why to invest in training/people?

January 10, 2013

Lately I have been discussing with other people (IT and non-IT) how important training is in the IT business. We also talked about the importance of self-study and about the new kid on the block: on-line training. There are just no excuses anymore to miss the boat.

Anyway, it should be obvious for all people working in the IT business: if you don’t catch up from time to time on the new technology evolutions => soon or later it’s game over because your market value will decrease exponentially! And this doesn’t necessarily mean you are obliged to look for external (classroom) training or you need to attend specific software conferences. It only means you need to find the best way to update/upgrade/improve/broaden your skills. Some people are perfectly self-managing: they read books, articles, blogs, forums … and/or they simply experiment (hands-on) with new stuff in their spare time. But for the majority of people this isn’t a valid approach and learning everything by yourself may give you a very biased opinion.

Attending software conferences give you the advantage to easily grasp the bigger perspective of what’s going on in our industry and offer you the possibility to follow some side-tracks (consider it as off-road) which might be very interesting as well. And don’t forget the different networking opportunities which may lead to the best geek talk you ever experienced. Still, IMHO dedicated classroom training is the best choice to improve specific skills in a short period of time. This is only true if the (interactive) classroom training is led by an absolute expert in the field who has dealt with many different challenges in real-life projects. To learn something brand new or to switch to another (similar) technology, there are many courses/classes which might do initially, but to get you to the expert level of a specific topic, there are not that many options. Once you get past the junior/medior level, it’s a different game and you won’t benefit anymore from the default training classes!

It’s exactly that gap that I want to tackle in Belgium with the training offer (Master Classes) at Sparkles. In the past I partnered already with IDesign which has a unique position of software industry leadership and reputation. The team of Juval Löwy will continue in 2013 to deliver their famous and intensive Master Classes in Belgium. Next to that, I’m also looking to setup other training classes on various topics (dev & IT Pro) with local and international experts. The purpose is absolutely not to offer a typical 9-to-5 basic classroom training (which might be good for some people), but the goal is to create a unique intensive learning experience by selecting the best people – who are working in the trenches – to get you to that precious next level! Learn IT by the experts! Keep an eye on the upcoming training offering and I hope to add some extra confirmed classes before TechDays where Sparkles will be present with a partner booth.

A last note for companies freezing the training budget for their employees. I’m aware of the trade-offs which must be made, but in the end: not investing in the most appropriate training for your people is a double risk. One, you might lose your best talent who will take a job at the competition and your global knowledge level will stall which will lead to less attraction on the market to engage new talent. Mostly, the more well-spoken and brave employees are able to put some extra pressure on management to finally get registered for a software conference or a particular training class … but I do catalogue this outcome as a quick win and it will backfire soon or later. Treating your people as a cost will completely demoralize and demotivate your staff. I can already imagine some reactions: “but what if we train them and they leave the company”? OK, be sure to read this and let it sink. It depends of course greatly on the personal attitude of all individuals: basically they are in control of their continuous learning & career path. So, it’s your call to invest in training or not!


TechDays Belgium 2013

January 8, 2013

The Microsoft DevDays/TechDays in Belgium remain a special recurring event. My first Microsoft conference as an attendee must have been DevDays 2003 (or 2002?) in Louvain-La-Neuve. As a junior .NET software developer (working for Compuware Belgium at that time) I must have realized that the only way forward is to discover and learn. I remember getting in contact with some of the speakers, the dev community and some of my colleagues at that time. Unfortunately some of the usual faces/suspects like Patrick Tisseghem and David Boschmans are not among us anymore, but I’m sure I picked up some of the technology vibes from these guys and I’m happy to be able to pass these vibes to the next generation of software enthusiasts.

TechDays2013

Many valuable attendee-years did follow after my first close encounter and 10 years later, there’s still so much more to learn … even more than ever before! Compared to roughly 10 years ago (seems Stone Age right now!), there are so many new releases of interesting tools, frameworks and products. Let aside the multitude of platforms we can develop for! In the early years, there was just a (beta) release of the .NET Framework and the Visual Studio IDE and that was practically it …

I had already the pleasure to present some sessions at earlier editions of TechDays and this year will definitely become a very special edition once again!

Sparkles - Copy (2)

I will not only be presenting two sessions on ALM/TFS, but I will also have a booth with Sparkles (as a Silver Partner) to promote the upcoming training classes in Belgium.

So, be sure to check out the full agenda of TechDays Belgium, register and come to visit me at the Sparkles’ booth. I’m still pondering about some promo material at the booth, giveaways and the like … Do send me your (crazy) suggestions!

In the past, DevDays was a dedicated event for the dev community, but since a few years now the event has broadened its scope to be the meeting point for all Microsoft technology professionals (dev & IT Pro). One of the top speakers this year in the IT Pro track is Paula Januszkiewicz and she happens to teach a Master Class in Belgium (via Sparkles) on Windows Security. She will be manning the Sparkles booth together with me to promote her training class and the other IDesign training classes in 2013.

This year, there’s again a Deep Dive ALM Track on the first day of the conference and I feel lucky to be part of a great line-up:

Something to look forward to is also my duo-session with Kevin DeRudder where we will talk about how to build and test a Windows 8 app with TFS Service and Microsoft Test Manager 2012.

Hope to meet you at TechDays 2013 to share our passion!

Follow me on twitter (@pietergheysens) for the latest news.


Integration of Dynamics CRM 2011 solutions with TFS

December 28, 2012

Some weeks ago I was asked for a proof of concept to design a TFS 2010 solution to fully (not less than 100%) automate a complex Dynamics CRM 2011 deployment for various environments (dev / test / staging / production). Many different components were involved: the CRM solution itself, but also web applications, database objects, reports (SSRS), transformations, …

Dynamics CRM

It has been an interesting journey so far and along the way I got to know (a bit) how Dynamics CRM 2011 is working. Not to my surprise, I realized that it’s quite hard to push all source related items to TFS and to force ALL changes/updates to a CRM environment from a version controlled solution in TFS. Many things in the CRM environment are easily modified by the development team via the CRM UI web interface and as result, directly stored in the CRM database(s). So, the POC also required me to think about enforcing best practices for the CRM development team to avoid inconsistencies in the global deployment solution and I definitly wanted to end up with a build-once;deploy-many solution.

Anyway, I won’t talk about the entire scope of the POC, but I want to highlight the approach I took for automating the export & extract operation from the development CRM 2011 instance via a TFS build definition. The goal here was to automatically capture the daily changes which were published to deployed CRM development solutions.

EXPORT
The MSCRM 2011 Toolkit contains a Solution Export command line utility which enabled me to export one or multiple CRM solutions from an existing Solutions Export Profile into a single compressed solution file (.zip).

EXTRACT
The compressed solution file (zip-format) is of course not ideal to track the individual changes and to bind it to a version control repository. Luckily, with the latest release of the Dynamics CRM 2011 SDK, a new tool (SolutionPackager) was added to extract the different components into individual files.

The SolutionPackager tool, available in the Microsoft Dynamics CRM 2011 Update Rollup 10 version of the Microsoft Dynamics CRM SDK download, resolves the problem of source code control and team development of solution files. The tool identifies individual components in the compressed solution file and extracts them out to individual files. The tool can also re-create a solution file by packing the files that had been previously extracted. This enables multiple people to work independently on a single solution and extract their changes into a common location. Because each component in the solution file is broken into multiple files, it becomes possible to merge customizations without overwriting prior changes. A secondary use of the SolutionPackager tool is that it can be invoked from an automated build process to generate a compressed solution file from previously extracted component files without needing an active Microsoft Dynamics CRM server.

TFS 2010

So, these tools opened the door for me to work out a custom build process (workflow) in TFS 2010 with the following sequential activities:

  • Export CRM solution from dev environment (MSCRM 2011 Toolkit)
  • Prepare TFS workspace before extract of solution file [Get Latest + Check-Out]
  • Extract compressed solution file into TFS workspace (SolutionPackager)
  • Scan TFS workspace for changes/additions/deletions
  • Check-In pending changes of the TFS workspace as a single changeset

The scan of the TFS workspaces – to end up with all differences [changes/additions/deletions] – was a bit more complex than expected because I needed to use several TFS API Workspace calls like PendEdit, PendAdd, PendDelete, … I also made use of the EvaluateCheckin2 method to detect potential conflicts and to perform proper exception handling.

This process allows the development team to easily follow-up the incremental changes (via TFS changesets) which were applied to the dev CRM environment. Note that the SolutionPackager tool is also able to generate a compressed solution file from the individual component files.


MSFT Partner ALM session with Jeff Beehler

October 2, 2012

Update (October 20, 2012): download slides

On October 19, I’m booked for a full day session on Application Lifecycle Management for Microsoft Partners in Belgium and apparently the registration is now also open for other people who would be interested in learning how to use the latest release of Microsoft’s application lifecycle management suite to improve the software development process.

VS2012

Recently I was informed that Jeff Beehler would also be in Belgium that day and quickly it was confirmed that Jeff would team up to deliver the keynote of the day. Jeff (Chief of Staff for Visual Studio at Microsoft) has already a long history in the Visual Studio product team and is the perfect speaker for setting the scene and to give the audience extra insight in the evolution of the product and where the product family is heading to. I’m very excited to have Jeff as a keynote speaker for this event in Belgium.

image

Here’s the final agenda for October 19:

  • 09h00 – 10h15: Continuous Value Delivery with VS ALM 2012 (Jeff Beehler)
  • 10h15 – 10h30: break
  • 10h30 – 12h00: Agile Project Management with Team Web Access and TFS Preview
  • 12h00 – 13h00: lunch
  • 13h00 – 14h30: TFS 2012 Version Control improvements + the new Team Explorer experience
  • 14h30 – 14h45: break
  • 14h45 – 16h15: Exploratory Testing with Microsoft Test Manager 2012 + IntelliTrace in Production
  • 16h15 – 16h30: break
  • 16h30 – 17h00: Continuous Deployment to Windows Azure with TFS Preview

Note that this day is not scheduled as a hands-on workshop. I will only introduce and demo some new and powerful features inside the new release of Team Foundation Server.

Register at Microsoft World Wide Events.

Are you more looking for a deep-dive technical hands-on training on ALM with Visual Studio and Team Foundation Server? I’m organizing for the second time a public 3 day ALM training class on November 12, 13 & 14. Register your spot right now for the full track or choose your preferred training day à-la-carte.

Hope to see you on one of the upcoming events!


Discard candidate merge changesets

August 30, 2012

Doing parallel development across multiple branches is quite easy by creating a number of branches in TFS, but the difficult part is to setup a valid branching strategy and to enforce best practices like always pushing forward integration actions before the reverse integration operation, …

In some scenarios it will be required to avoid that individual changesets can be merged into another branch (for example configuration changes). Enter discarding candidate merges!

Using the Merge Wizard in TFS, you have the option to select the cherry-pick option to only see the changesets which haven’t been merged from Source to Target.

SNAGHTML2604bce0

SNAGHTML26095c4a

But, from the UI it’s unfortunately still not possible (TFS 2012) to discard a candidate merge changeset. I would just love to right-click on a changeset and discard it from there.

Up till now I always switched to the command-line to discard the changeset from there (tf merge /discard).

SNAGHTML260ed8b9

Recently I got a question at a customer to make this possible through the API. First of all I was a bit worried why on earth it would be necessary to automate this through the API because in the end this action should be quite exceptional. So, after going into more details it seemed that a background process was running which made a number of configuration changes to the branches, but those changesets were branch-specific and weren’t allowed to be merged into some other branch. These changesets were in fact seriously blocking the merge process due to the fact that only consecutive changesets can be merged from Source to Target and a number of these “configuration” changesets were sitting between other valid candidate merge changesets. Not good!

The solution for discarding changesets through the API is making use of the Merge method on the Workspace object. To discard, you must use the enumeration AlwaysAcceptMine as parameter for the MergeOptions. This will push the merge (without actual changes in the files) into the workspace after which the check-in can be executed. The check-in will make sure that the changeset won’t show up anymore in the candidate merge changesets.


Sessions on Continuous Value Delivery and TFS 2012

June 24, 2012

Last week was an interesting one with a MSDN LiveMeeting and a session at the 6th and biggest edition ever of Community Day Belgium (500 attendees). I remember being present on the first edition of Community Day, talking about Application Lifecycle Management and the first release of Team Foundation Server (TFS 2005). A lot has changed in the ALM space during these 6 years.

Both times last week, I delivered a session on setting the context for the upcoming TFS 2012 release and added a number of demos to show some new and interesting ALM features.

90% of my time I’m active as an ALM consultant at different (small/big) companies in Belgium and I do identify a number of common trends across these companies. One very important thing for the business is time-to-market and they want to see a continuous flow of value. The current model of delivering features in big releases with long lead times – and only a few times a year – is under enormous  pressure. Development teams are getting pretty good at adopting agile and lean concepts in the technical development cycle, but the bottleneck is often the integration of the entire software value chain (stakeholders, development team, testing team and operations). Going for continuous value delivery really requires companies to improve the end-to-end value chain. What’s otherwise the value of having a top agile development team without the ability to frequently release new features in production? Delivering business value is all about optimizing the collaboration between different teams and software must be seen as a company-wide team sport.

Gartner has published a few weeks ago (June 5, 2012) an interesting report on Application Lifecycle Management. Microsoft has been identified as a leader in this area with the current TFS 2010 offering. So, this is already a clear indication that Microsoft has great tools for ALM, but I believe that the position of Microsoft will even be stronger with the new TFS 2012 release because they take care about the complete end-to-end value chain and they are creating the best tools for every individual stakeholder in the process.

image

Read the full Gartner report to find out more about the current ALM market situation..

Having only one hour to explain and demo the upcoming TFS 2012 release is just impossible. The goal was to give the audience an idea of what’s coming and the approach Microsoft is taking to tackle Application Lifecycle Management. Usually I spend three full days to get team members up-to-speed with all the new features of TFS 2012 during an on-site hands-on training.

My next public training on TFS 2012 is scheduled in the week of August 20, 2012. This intensive 3 day training will give students a detailed overview of the new ALM features that will be included inside the next release of Visual Studio and Team Foundation Server 2012. Attendees will experience how this new release might unblock the impediments in software development processes to deliver continuous value for the business. The full training consists of 3 days, but according to personal preferences, people can sign up for the individual days as well. On-site training sessions can also be planned.

Download slide-deck Community Day 2012: A lap around VS 2012 ALM RC.


Follow

Get every new post delivered to your Inbox.