Latest Gartner reports confirms Microsoft ALM Leadership

The latest Gartner report from February 2015 once more puts Microsoft in the leadership quadrant:

image

The report itself shows interesting trends on the ALM market as a whole, but has some limitations on that vision almost as contradiction after having changed from “ALM” to “ADLM” a couple years ago, especially when it acknowledges in the summary that “The push to speed up the pace of delivery is increasing the focus on agile and DevOps practices in application development life cycle management.”

Then it mentions DevOps when talking about IBM, Atlassian and Rally, but not Microsoft or VersionOne. This is puzzling because Microsoft, and maybe IBM are the only that actually have a vision for the operations side of ALM. The report in itself

It says for IBM and Rally:

IBM has a large, comprehensive suite of ADLM products covering the full life cycle, and a strong position in supporting DevOps practices.

Rally has a strong understanding of agile, DevOps and SAFe principles.

Both IBM and Microsoft bought 3rd party release management tools almost at the same time, and Microsoft has gone even further in integrating its Release Management tools with its VSO offering. If you take into account its Azure DevOps capabilities, it is the de facto leader. However this seems to have gone unnoticed.

Or maybe the report is based on an earlier version: the same quote on SAFe from the previous report remains unchanged, even though Microsoft released SAFe-ready process templates for TFS last September. The current one reads:

Microsoft lacks the agile depth of pure-play vendors around the enterprise agile capabilities of project portfolio analysis, and support of SAFe.

At any rate, all these half-baked references on DevOps point to it trying to be trendy while at the same time directly contradicting its own statement from 2013:

The application development life cycle management (ADLM) tool market is focused on the planning and governance activities of the software development life cycle (SDLC). ADLM products are focused on the "development" portion of an application's life, with the term ADLM evolving from the term application life cycle management (ALM).

And this is because more and more DevOps also includes managing the lifecycle of released applications, such as with HockeyApp. Can you separate the operations piece of ALM from DevOps and claim it is pure development? I figure Gartner might be renaming this report, again, pretty soon.

How to display the TFS burndown chart in full screen mode

I got this question from a user: Does anyone know how I can display the burn down chart in full screen mode? A scenario for this would be to show the burndown (with auto refresh, if possible) in a team area on a big screen TV.

The only way, out of the box, that I know to do this is indirectly using using Chrome:
- Click the chart. It will open as a pop-up window.
- Right click the chart image. Choose "Open Image in New Tab". Choose the new tab with the chart image.
- Press F11 to put the browser in full screen mode
- Use the browser zoom options to increase the size of the image
- Notice that the image is a URL to an API call, so you should be able to refresh it by pressing F5. I don't know how to easy way to auto refresh other than using some kind of Coded UI or Selenium script. Also look for "Auto refresh" in Chrome extensions.

If you know a better way, please send me an email and I will add it here.

TFS CTP shipped this week

The new TFS CTP is available for download here. Brian Harry highlighted its main points in his blog post. Exciting points are the new Agile work item tracking improvements, and Build.vNext, most of which I have been able to use for a while at VSO.

Check it out!

Next meeting of the Austin TFS Users Group: get ready for heavy weight TFS Process Template Customizations

 

Austin TFS Users Group

Friday, February 6, 2015 from 11:30 AM to 1:00 PM (CST)

Austin, TX

TFS Process Template Customizations

Abstract

During this presentation you will learn about customizing the process configuration and work item templates for TFS 2013.


Process Configuration

Areas covered will be configuring a backlog page, map metastates, assign fields used in agile planning, specify weekend days, and changing the color of a work item type.


Work Item Template: Programmability

TFS work items do not allow scripting or code to run however there are dynamical capabilities such as rules, actions, and certain form controls that can be used to simplify or even automate activities in a work item. We will look closely at these capabilities and explore how they can be used.

Presenters

George Altenbaugh

George is an ALM Architect/Project Manager/Scrum Master with 20 years of experience working with companies such as Deloitte Consulting, Trilogy/pcOrder, Coremetrics, and Dell. He has managed software development projects for state governments in California, Washington, Kentucky and Texas and companies such as Ingram Micro, Bay Networks, and Volvo. George helped Dell implement TFS as the complete ALM solution for the IT and product development groups. He combined the Scrum and CMMI TFS 2010 templates to model the Dell SDLC and then managed and implemented the TFS Process Template changes to keep abreast of Dell's dynamic development methodology.

George has a B.S. in Computer Science from Indiana University of Pa. and an MBA from Carnegie Mellon University's Tepper School of Business. He is married to Kathy and has 3 beautiful daughters. In his spare time he is a Porsche Club driving instructor and is the President of the Northwest Pony Softball League.


Tim Pacl

Tim is an ALM Architect/TFS Administrator/Scrum Master currently working for Dell in Round Rock, Texas. He retired from the U. S. Navy in 1996 where he was a nuclear technician and supervisor aboard submarines, as well as a certified navy instructor and instructor trainer. He has been working in the computer industry since 1996 as a developer, build master, and ALM Architect for various companies including Dell, Microsoft, and his own consulting company. Tim holds multiple certifications including Master Training Specialist, Scrum Master, and Universal Refrigerant Technician. He is a member of the Austin TFS User Group leadership team and is a TechNet Guru. Tim has been married for over 30 years and has 4 adult children and 5 grandchildren. In his spare time he resolves issues for his TFS customers, plays with his grandkids, and occasionally sleeps.

The Ignite Conference sessions are out

Microsoft Ignite seems to be attracting a lot of attention from enterprise folks focused on Azure, Office, and now Skype for business.

Typical sessions (among 273 others) that caught my attention were the ones related to legal compliance in general. I had not yet seen so many interesting sessions on the topic all put together in one place. That’s the kind of topic that really differentiates a conference for the general public from something really targeted at enterprise customers. For instance:

Case Study: How Two Companies Do eDiscovery (Featuring Rogers Communication and Microsoft Legal)

From the horse's mouth: learn how the legal personnel from within Rogers Communication and Microsoft IT started using hold and eDiscovery instead of third party products, and hear best practices learned in real-world scenarios.

Going through a process of legal discovery is a nightmare situation for those who have ever lived it, and it would be interesting to see what technologies can do to make it easier. Microsoft is calling that “eDiscovery for Microsoft Office 365” and “in-Place eDiscovery”.

There are also about 53 sessions on the “Enterprise Developers” category, mostly dealing with Office 365, Skype, and Azure. However for me the crown jewels on this category are:

A Practical View of Release Management for Your DevOps Mindset

This session demos using Desired State Configuration (DSC) with Release Management for Microsoft Visual Studio 2013 to tackle real-world deployment challenges. We start by presenting an overview of the key concepts, architecture, and configuration of the various components. We discuss the out-of-the box deployment actions available to compose automations for common deployment scenarios and how to use extensibility to cover the not-so-common scenarios. In more detail, we discuss adding custom DSC resources, how to trigger release as part of a build and how to leverage logs to diagnose failed releases. These are presented through specific scenarios encountered in the field.

and

Cross-Platform Continuous Delivery with Release Management to Embrace DevOps

​With Release Management for Microsoft Visual Studio you can achieve true continuous delivery on any platform. This session demos how to use Release Management for continuous delivery in cross-platform environments including Windows and Linux. We cover how to leverage Desired State Configuration (DSC) and ASP.NET core to create a release pipeline for both Windows and Linux.

I am also curious to see what will be of the Hackathon session:

DevOps Hackathon

The cloud-targeted app is failing in production. Competitive time to market advantage is at risk, the business is at an inflection point. "It worked fine in testing!" says the Development Team. "We had no visibility to production infrastructure needs until a week ago!" says the Operations Team. Does any of this sound familiar? Learn firsthand how to embrace a DevOps mindset, evolve your traditional ALM approach regarding people, process and tools, and help your business accelerate its journey to a cloud-first approach! Join us for the DevOps Hackathon @ Ignite where you will team up with fellow attendees from developer and operations roles to apply DevOps practices to a real world challenge. Small teams will be formed at the start of the [session].

I am not sure yet if I will be able to attend, but this if I am then this would be an interesting session to be.

In conclusion

Even if you might not be able to attend, just browsing over the session catalog for Ignite is already a learning experience of what is coming on the Microsoft pipeline.

Scrum Day–Dallas 2015

Scrum Day Dallas will be on March 27th this year at the Addison Conference Center. This is going to be a full day of face-to-face learning with practitioners and Scrum.org industry experts, followed by the Face to Face meeting for Scrum Trainers. Just that follow up internal meeting guarantees that there will be at least around 20 Scrum.org trainers, plus Ken Schwaber himself.

You can get more information and register at https://www.scrum.org/Scrum-Day-for-Professionals/Dallas-2015.

The program is as follows (side by side with each session there will also be an Open Space discussion)

8:00 AM-8:45 AM
Registration, Continental Breakfast, Introductions, Announcements

8:45 AM-9:45 AM
Keynote by Ken Schwaber: Scaled Scrum

10:00 AM-11:00 AM
The New New Product Owner

11:15 AM-12:15 PM
Practical Scaling

12:15 PM-1:30 PM
Lunch + Lunch Panel

1:30 PM-2:30 PM
Facilitating the Scrum Events: tips and tricks

2:45 PM-3:45 PM
Team Performance: The Impact of Clean Code & CD

4:00 PM-4:45 PM
Refreshments, Open Space Reports

4:45 PM-5:00 PM
Raffle and Wrapup

This is a great opportunity to ramp up on the latest from Scrum.org on Scaling Scrum. See you there!

One more component in Microsoft’s ALM vision

Brian Harry highlighted last week that Microsoft had acquired HockeyApp. What is relevant to me in relation to the Microsoft ALM vision is how this complements the Dev side with more of the Ops side. If you are not familiar with HockeyApp, it is a toolset to manage the lifecycle of released applications. From their website:

The platform for your apps.

The world's best developers rely on HockeyApp to develop the world’s best apps. Distribute beta versions on iOS, Android, Mac OS X, and Windows, collect live crash reports, get feedback from users, recruit new testers, and analyze test coverage.

I have been calling out for a while how Microsoft is different from most ALM/ADLM leaders per Forrester and Gartner, in that it is also focused heavily on the operations side of ALM. This acquisition is yet another building brick for this complete ALM vision which not many vendors have.

“Building Real World Cloud Apps with Windows” book

Last June Scott Guthrie and team have released a new book to help you understand the essence of developing for the cloud, and more. From the Microsoft Press page:

“This ebook walks you through a patterns-based approach to building real-world cloud solutions. The patterns apply to the development process as well as to architecture and coding practices.

The content is based on a presentation developed by Scott Guthrie and delivered by him at the Norwegian Developers Conference (NDC) in June of 2013 (part 1, part 2), and at Microsoft Tech Ed Australia in September 2013 (part 1, part 2). Many others updated and augmented the content while transitioning it from video to written form.”

I got the reference by email from MSPress. It pointed to their announcement page, and you will notice the references to TechEd and NDC conferences. I wanted a link to those talks so I did a quick search and found them inside the book itself, at page 9. However if reading on the web you can get them from the ASP.NET online version:

The content is based on a presentation developed by Scott Guthrie and delivered by him at the Norwegian Developers Conference (NDC) in June of 2013 (part 1, part 2), and at Microsoft Tech Ed Australia in September, 2013 (part 1, part 2). Many others updated and augmented the content while transitioning it from video to written form.

There area a couple more video references on chapter 14.

This book is a must have reference on how to transition to a fully managed application lifecycle on all its aspects, including operations, and not just yet another book about Azure software development.

Interview with the ALM Rangers core team at the MVP Summit

I had the opportunity of being interviewed by the ALM Rangers core team (Anisha Pindoria) during the 2015 MVP Summit in Redmond. It is at [21:11] - MVP Summit Day 1: Clementino De Mendonca. You can also get perspectives from others in the same video.

Watching the other Rangers provided a glimpse of their different background, activities and focus. It was very enriching, and it felt good to know I am in the company of so many bright people.

Resolution: Error "Could not load file or assembly 'file://\\server\path\file.dll' or one of its dependencies. (0x80131515)

Issue

Call to a .NET Framework assembly on a network folder fails with error:

"Could not load file or assembly 'file://\\server\path\file.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)

Troubleshooting

In this particular case, I wanted to call an assembly with tests which had been deployed using Team Build to a shared folder, then use MSTest in the command line to run them.

MSTest behaved differently depending on whether it is being called from a Windows 2008 R2 Standard server or Windows 8 Client. Using the following command line:

MSTest /testcontainer:\\server\path\file.dll /detail:debugtrace /detail:traceinfo

  • From Windows 8 client, user as local administrator: command works as expected. It loads the tests and executes them.
  • From Windows 2008 R2 Standard, user as a local administrator: command fails with the following message:

Could not load file or assembly 'file://\\server\path\file.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)

Further troubleshooting using 1) a mapped drive 2) PowerShell 3) /testcontainer parameter between quotes show that all these would also fail under Windows 2008 R2 Standard.

The error “Could not load file or assembly” (0x80131515) is a catch-all error. For instance, it is also reported when the exe or dll was downloaded from an unsafe zone. This is fixed by right-clicking the assembly and choosing “Unlock” from the General tab. Sometimes the “Unlock” option won’t show, and in this case it wasn’t.

Blocking is done based on a Zone Identifier alternate stream that is added to a file when it is copied from the Internet. To validate that the file is actually blocked, display this Zone Identifier using the following command (note the direction of the “<” sign – the opposite one would erase the file):

more < file.dll:Zone.Identifer

If ZoneId = 3 or 4, your file is blocked. In our case, the files show no alternate Zone.Identifier stream.

Since copying the files locally to a folder in the Window 2008 R2 Standard server allowed MSTest to execute the tests, this showed that the issue was constrained to some security policy differences between Windows 8 and Windows 2008 R2 Standard. This also confirmed that the files were not blocked.

Next step I looked into the .NET Framework security policy configuration. Using the instructions from this Microsoft blog post I modified the CAS policy settings using the following command prompt:

CasPol.exe -m -ag 1.2 -url file://\\server\path\file\* FullTrust

This added the following record into the CAS policy (CasPol.exe -l):

   1.2.  Zone - Intranet: LocalIntranet
      1.2.1.  All code: Same site Web
      1.2.2.  All code: Same directory FileIO - 'Read, PathDiscovery'
      1.2.3.  Url - file://\\server\path\file\*: FullTrust

This did not resolve the issue as expected, but the following error started to be reported on the Event log:

Log Name:      Application
Source:        VSTTExecution
Description:[…]
(MSTest, PID 2000, Thread 1) AssemblyEnumerator.EnumerateAssembly threw exception: System.IO.FileLoadException: Could not load file or assembly 'file://\\server\path\file.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)

File name: 'file://\\server\path\file.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.

By following the link recommended in the log, I got more information on the issue and how to solve it with the configuration switch loadFromRemoteSources.

From MSDN documentation:

“In the .NET Framework version 3.5 and earlier versions, if you loaded an assembly from a remote location, the assembly would run partially trusted with a grant set that depended on the zone in which it was loaded. For example, if you loaded an assembly from a website, it was loaded into the Internet zone and granted the Internet permission set. In other words, it executed in an Internet sandbox. If you try to run that assembly in the .NET Framework version 4 and later versions, an exception is thrown; you must either explicitly create a sandbox for the assembly (see How to: Run Partially Trusted Code in a Sandbox), or run it in full trust.

The <loadFromRemoteSources> element lets you specify that the assemblies that would have run partially trusted in earlier versions of the .NET Framework are to be run fully trusted in the .NET Framework 4 and later versions. By default, remote assemblies do not run in the .NET Framework 4 and later […]. If you set enabled to true, remote applications are granted full trust.

If <loadFromRemoteSources> enabled is not set to true, an exception is thrown under the following conditions:

  • The sandboxing behavior of the current domain is different from its behavior in the .NET Framework 3.5. This requires CAS policy to be disabled, and the current domain not to be sandboxed.
  • The assembly being loaded is not from the MyComputer zone.”

And, in the same article:

In the .NET Framework 4.5, assemblies on local network shares are run as full trust by default; you do not have to enable the<loadFromRemoteSources> element.

This part of the documentation also shows why it worked on Windows 8: .NET Framework 4.5 is the default for Windows 8.

For validation purposes, I originally applied the recommended setting to machine.config, which is too wide. Later I tested with just MSTest.exe.config and it also worked, which is a smaller recommended scope.

Resolution

[Verified] Add the following entry to the MSTest.exe.config file (at C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE):

<configuration>
   <runtime>
      <loadFromRemoteSources enabled="true"/>
   </runtime>
</configuration>

or

[According to documentation] Use .NET Framework 4.5.

Calendar

<<  March 2024  >>
MonTueWedThuFriSatSun
26272829123
45678910
11121314151617
18192021222324
25262728293031
1234567

View posts in large calendar

Month List