Along with Andy and Adam, I attended the annual IT Service Management Forum (itSMF) Conference in London on the 7th and 8th November 2011. This is regularly billed as the event of the year for service management professionals and everything ITIL.  It is supported not only by a range of delegates with serious interest in Service Management but also governing bodies, sponsors and 40 suppliers exhibiting their Service Management based tools, training and consultancy.  Of note, that may well be reflective of these times of austerity, is that the last time I attended the itSMF conference in 2009 there were over double the number of suppliers exhibiting at the conference with some notable leaders in the field not represented at this year’s event.

The main content of the conference were 50 presentations on a variety of subjects spread across the 2 days.  Typically the presentations ranged from thinly disguised vendor sales pitches, through theoretical rather than pragmatically based concepts, to real world examples of initiatives undertaken and the associated experiences. As a general rule of thumb it tends to be these real world experience based presentations along with targeted factual update sessions that provide the most value.

The sessions I went to varied greatly in their interest and usefulness with the main value coming from sessions covering:-

  • Developing Effective Performance Management, which although not a particularly revolutionary concept did help crystallise a few ideas regards a more system based approach for Performance Management.  Such an approach would be more holistic but provide differing levels of granularity in order that ‘default’ levels provided could be matched to respective audience requirements, whilst at the same time allow for drilling down to more granular based information as and when required.  One interesting idea was to utilise the Service Catalogue to identify the relative value of the Services offered to the business.
  • The ITIL 2011 Update session which outlined the major changes that have been introduced in the very recent publication of updated versions of the five ITIL manuals.  Whilst it is clear that we will need to reference all these new updated versions, approximately 80% of the changes are focused on the Service Strategy manual and cascading of these changes through the other manuals for consistency.  The only potential new concept is the introduction of a Continual Service Improvement Register, a concept we have advised clients on previously even if not using that specific terminology.
  • A session describing the currently under development ITIL Master Qualification. This will be the highest qualification attainable in ITIL and will be based upon validation of  the capability of candidates to apply the principles of ITIL in the real world. It will not be based upon any form of courses or examinations but instead will take the form of four stages working through Application, Proposal, Work Package creation and submission based upon real world utilisation and experiences before a Final Interview. There will be a set of 40-45 requirements that will be have to be met for candidates to be accepted onto the qualification programme, but further details are not yet available. Therefore the applicability to representatives from Smart421 is not yet known, but besides the personal value of such a high qualification there may be of value to Smart421 as a significant differentiator for Sales if anyone within Smart421 were to achieve this qualification.
  • Mobility, Big Data and Precognitive Support was a session presented by Chris Dancy,  the founder of ServiceSphere, which delivered an interesting and compelling view of the recent past, the present and what we should anticipate for the future. For example:-
    • Mobility:- There are 5.3 billion mobile subscribers (that’s 76 percent of the world population) with the growth being led by China and India.  Over 85 percent of new handsets are Web Enabled, which will facilitate continents like Africa to completely leap-frog  ‘hard’ infrastructure requirements like land lines and PC based networking. Mobile devices are already ubiquitous and will be the de facto integration method i.e. will increasingly take precedence and preference over ‘traditional’ PCs and laptops etc.  Facilitating integration will be primarily based around mobile apps,  one projection being that by 2016 cumulative mobile apps downloads will reach 44 billion.
    • Big Data:– a term the presenter thought will become as familiar as Cloud in the coming months and years.  Statistical examples included that the same amount of worldwide information generation that occurred between 1995 and 2000, was achieved in 2 days in 2010 and in 1 day in 2011. Another example was that the size of the internet in 2003 is the same size as Facebook alone  is today!
    • This amount of data is facilitating a move towards more precognition analysis etc. For example:- studying moods on twitter via automated textual analysis, happiness on foursquare mapped across cities etc. In addition to the presentation but another directly connected example, I heard a radio interview on the way home from the conference about perception of value for money of 3D films based upon automated textual analysis of blogs on film based sites. Back in the presentation these techniques are already apparently being utilised in extended news cycles by media organisations, with pre-event analysis occurring specifically in preparation for actual events – sounds a bit like pro-active trending!
    • Finally the speed of change that should be anticipated is already outlined to a large degree with some of the statistics highlighted above, but it is also argued that in the wider scale that “we are still in the first minutes of the first day of the internet revolution” and that Kurzweil’s Law of Accelerating Returns with the implied exponential and non-linear growth in technological capabilities and human knowledge is already occurring in line with Kurzweil’s 6 Epochs  ideas. Whilst it could be argued that such considerations are overly cerebral and abstract, it doesn’t take much consideration of the evidence and experience of the last 10 or 20 years to realise that the future opportunities and challenges are going to be a world apart from what we have seen previously.

Finally Andy & I also attended a couple of sessions based on management of ‘The Cloud’. We found both sessions basic and were left with the clear impression that Smart421’s capabilities and position are far more advanced than anything represented at the conference – so clearly this is an area we should be shouting about more!!

Have you ever wanted to package up your Windows Mobile/Phone or Windows CE applications into CAB files as part of your automated nightly build process. This can easily be achieved using either TFS 2010 or TFS 2008.

This article assumes you are using the Upgrade Template if using TFS 2010 as this allows you to carry on using the TFSBuild.proj file that gets created in the TeamBuildTypes folder off of the Team Project structure instead of Workflow Foundation to build and deploy your code.

Wait a minute….your’re probably thinking – why don’t I just use the CAB project template in VS and build that? well this would be good if it was XML. The Windows CE CAB project template is very old and not XML so you can’t build it using MSBuild as an automated build process. This does mean you will have to create your own INF file for the CABWIZ.exe application to call. CABWIZ is the tool that actually packages up the INF and artefacts into a distributable CAB file. In Windows CE/Mobile/Phone, the CAB file is like a Microsoft Installer (.MSI) file on the desktop.

This article: http://msdn.microsoft.com/en-us/library/ms839402.aspx shows you how to create an INF and use CABWIZ to execute it on the command-line.

1.  Once you have your INF file you’ll need to take this and the CABWIZ.exe, MAKECAB.exe and the cabwiz.ddf files from your development machine and check them into source control. A good location for things like this is as follows: $/TeamProject/Trunk/Product/Library/cabwiz/

2. Next you need to create a project file that will actually do the execution of the CABWIZ application. Create a .proj file, make it a meaningful name something like company.product.Installer.proj i.e. SimonrHart.Foo.Installer.proj

The project file needs to look something like the following:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
DefaultTargets="CreateCab">

<Target Name="CreateCab">

  <Exec
  Command='"$(SolutionRoot)\Product\Library\cabwiz\cabwiz.exe"
  "$(BinariesLocation)\SimonrHart.Foo.Installer.inf"
  /err $(DropLocation)\cab_error.txt' />

</Target>

</Project>

Check this file into source control, the location is not important but sometimes can be something like the following: $/TeamProject/Trunk/Product/Source/Scripts. The benefit of this is when you branch or have multiple streams, your scripts can be different without changing the name.

Now in the TFSBuild.proj file or in a targets file it doesn’t matter which, create a custom target named something meaningful like Deployment that looks something like the following:

<Target Name="Deployment">

<Message Text="Generating CAB file" Importance="high"/>

<Copy
SourceFiles="$(SolutionRoot)\Hermit\Source\Scripts
\Installer\SimonrHart.Foo.Installer.inf"
DestinationFolder="$(BinariesRoot)\Release" />

<MSBuild
Projects="$(SolutionRoot)\Product\Source\Scripts\Installer
\Simonrhart.Foo.Installer.proj"
Targets="CreateCab"
Properties="BinariesLocation=$(BinariesRoot)\Release;
SolutionRoot=$(SolutionRoot);
DropLocation=$(DropLocation)\$(BuildNumber);"
/>

<Copy
SourceFiles="$(BinariesRoot)\Release\MyProduct.cab"
DestinationFiles="$(DropLocation)\$(BuildNumber)\Product_$(BuildNumber)
_$(VersionNumberComponent).cab" />

</Target>

The above target copies the INF to the drop location, executes the INF, generates a CAB named MyProduct.cab and copies the output to the DropLocation that’s configured as part of the Team Foundation Server build definition.

The next thing is to wire all this up in the TFSBuild.proj file to execute when the build actually runs on the build server.

The perfect place to call this target is in the AfterDropBuild event in the TFSBuild.proj file:

<Target Name="AfterDropBuild">
<Message Text="Configuration flavour is:
%(ConfigurationToBuild.FlavorToBuild)"
Importance="high"/>

<!-- Call the Deployment which creates the CAB file.-->
<CallTarget Targets="Deployment" Condition=
"'%(ConfigurationToBuild.FlavorToBuild)' == 'Release'"   />
</Target>

So this will execute after the code is built, tests executed and been dropped to the drop location.

Simply check in the TFSBuild.proj into source control, queue a build, then check the drop location for a fully packaged up application ready for the testers to install!

An area of technology that seems to be getting more publicity of late is that of ‘unified communications’, or UC. Hopefully it won’t get over-done and treated as the next bandwagon, but there is a risk of that approach hurting what is actually a useful area for business improvement.

As a systems integrator and consultancy, we of course are working with UC as end users, developers and business change architects. With a view that this isn’t only about technology, we are categorising our approach as that of ‘Business Communications Transformation’, or BCT. Expect a future blog of three about the value we see in this approach for enterprise architecture.

I see that IBM are using a different term for their approach, which is ‘UC2‘, for ‘Unified Communications and Collaboration’. That ties in with their positioning of the Lotus product brand for collaboration. See www-306.ibm.com/software/lotus/unified-communications/ for their strategic definition.

This triggered thoughts about other acronyms that may get created in this area, such as ‘UC3‘ for ‘Unified Contacts, Communications and Collaboration’. A colleague of mine then came with thoughts of using ‘e = mc2′. Finding a suitable set of words to correspond to that acronym/equation can be an interesting exercise.

To pinch some of the IBM terminology, how about:
 ‘Enterprise = Mobility, Communications and Collaboration’?

Other suggestions welcomed. The closer to the real world, the better!

Follow

Get every new post delivered to your Inbox.

Join 1,084 other followers