MCSD: Application Lifecycle Management Certification

Completed my MCSD: Application Lifecycle Management certification journey!

Nice time studying and practicing the new features of the Microsoft ALM 2012 products stack during the last months. SEVERAL new GREAT features and other platform enhancements!

See below some tips for everyone who is in the same track studying and looking forward to this cert.

3 exams = 1 Certification

  • 70-496: Administering Microsoft Visual Studio Team Foundation Server 2012
  • 70-497: Software Testing with Visual Studio 2012
  • 70-498: Delivering Continuous Value with Visual Studio 2012 Application Lifecycle Management

You can take them in any order – the one you feel more comfortable!

While we still do not have the official MS Learning MOC materials/trainings available, there are already some relevant source references to prepare for them.

For tips around the TFS Administration exam 70-496 take a look at this post – Team Foundation Server 2012 Exam 70-496. See also Administering Team Foundation Server documentation @ MSDN.

The 70-497 was the easiest one – it is an exam based on Microsoft Test Manager features. So, if MTM is a familiar tool for you, then you are good to go! I believe even if you do not have much experience with MTM, you can rapidly build various MTM skills performing Brian Keller’s ALM hands-on-labs per below.

The 70-498 was definitely the toughest exam – you have all sort of questions: Agile/Scrum Project Management and TFS 2012 Processes, OO best practices, development, Continuous Integration/Deployment, etc etc etc.

Certification Exam Cram Webinars

Go to this site and register for the following webinar sessions to get more insight and tips for what to expect in all 3 exams – ALM Exam Cram Webinars

The ALM specialists are Anthony Borton & Nick Hauenstein and these are the slides they cover during the sessions –

Hands-On-Labs Practice

I also recommend downloading the ALM Virtual Machine from ​Brian Keller’s web site and practicing most of the ALM hands-on-lab documents that comes with it – it is really very helpful! They are practical hands-on-lab scenarios on TFS 2012 components/features and Visual Studio ALM features like exploring the Architecture tools of Visual Studio 2012 Ultimate.

Brian recently released also a new Virtual Machine for DevOps (Development and Operations/Support) teams integration, containing Team Foundation Server 2012 and System Center 2012 Operations Manager integration. Have not tried that yet, but playing around with this VM might help with the some 498 exam topics of the objective: Integrate Development and Operations (17%).

TFS Book to help studying for 70-496

Professional Team Foundation Server 2012 – Wrox (792 p)

TFS References to help preparing for 70-497

ALM Books to help you to study for 70-498

Still for the 70-498 exam:

That’s it – Good luck running your exam!

Silfarney Wallace | @silwallace

TFS and Project Server Integration – Step-by-Step Quick Reference

This is a step-by-step quick reference of a Team Foundation Server 2010 & Project Server 2010 integration case (installation, configuration and usage of the environment) I performed based on the official reference and would like to share it here with everyone who needs to establish the integration of this 2010 version of the products.

Below is the official MSDN reference to integrate both products – Configuration Quick Reference

* SharePoint Server 2010 SP1 and SQL Server Reporting Services 2008 R2 also installed in this brand new box

1.    Install TFS 2010 SP1 Cumulative Update 2 – KB2646719, if not already installed

2.    Install Project Server 2010 with Service Pack 1 (x64)

3.    Install Project Server 2010 Cumulative Update Refresh Package June 30, 2011

4.    Run the SharePoint Configuration Wizard to integrate Project Server with SharePoint Server 2010

5.    Open SharePoint Central Administration

6.    Create a Project Server PWA site using this reference as a best practice
Really good video:

I used the same SharePoint Web Application already created for TFS on port 80.
PWA at http://servername/PWA/ and
Team Project Portals at http://servername/sites/NameCollection

Both PWA and Team Project Portals are SharePoint Site Collections (sharing the same IIS Web Site) created with unique SQL Server databases for each one of them in my case.

7.    Add (Sync) Active Directory users to the PWA
Apply the right permissions to the right users – this is a key thing for the integration.
Assigning Permissions to Support Integration of Project Server and Team Foundation Server

8.    Install Visual Studio 2010 Service Pack 1
It installs the right tool needed for the integration. I used the server to integrate the products and map the projects. “Each client machine or server that you will use to configure and administer the integration of the two products.” “You must install SP1 for Visual Studio 2010 on each client machine to get the command-line tool that supports Team Foundation Server and Project Server integration.”

9.    Install Team Foundation Server 2010 Project Server Integration Feature Pack (x64)

10. Perform the Integration
On TFS server, open a Command Prompt running as Administrator and then type
cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE

Register PWA
TfsAdmin ProjectServer /RegisterPWA /pwa:http://servername/PWA /tfs:http://servername:8080/tfs/
Map PWA with a TFS Team Project Collection
TfsAdmin ProjectServer /MapPWAToCollection /pwa:http://servername/PWA /collection:http://servername:8080/tfs/TFSCollectionName
Upload Default Field Mappings
TfsAdmin ProjectServer /UploadFieldMappings /collection:http://servername:8080/tfs/TFSCollectionName/useDefaultFieldMappings


At this stage, I had a problem with the Portal Dashboards of the Team Projects and easily solved with a Workaround from this post.

TFS 2010 with SharePoint 2010 Enterprise SP1 – Excel Dashboards do not display anything


1.    Install Visual Studio 2010 (Ultimate in my case)

2.    Install Team Foundation Server 2010 Power Tools, if wanted
3.    Install Project Professional 2010 with Service Pack 1 (x86 and x64)
4.    Install Visual Studio 2010 Service Pack 1

Once you are finished with the integration steps, you are all good to start …

  • Creating your EPP – Enterprise Project Plan from Project Server 2010 side using PWA web site
  • Creating Team Projects from TFS 2010 side and
  • Finally, mapping both projects to each other

To map a Project Server 2010 project plan to a TFS 2010 team project …

Associate an enterprise project plan with a team project
TfsAdmin ProjectServer /MapPlanToTeamProject /collection:http://servername:8080/tfs/TFSCollectionName/
/enterpriseproject:EPPProjectName /teamproject:TeamProjectName /workitemtypes:”User Story,Task,Bug”
You can type the desired work item types you wish to have mapped in the option above /workitemtypes.

Add team members to the resources for a project plan

“For each task that is published to the team project, you must assign a valid contributor of the team project as a resource. You must also identify as a valid contributor any team member who submits work items that are synchronized with Project Server. To identify valid contributors, you must add team members from the enterprise resource pool to the resources for the enterprise project plan. Each time that you add team members to the resources for a project plan, you must publish the project plan so that the synchronization engine will register the changes.”

Whenever you open a mapped EPP to a Team Project inside Project Professional 2010 SP1, you note that Project Professional automatically presents some TFS columns as “Work Item ID”, “Work Item Type”, “Publish to Team Project”, etc. This means that this EPP project was successfully mapped to a TFS Team Project.

Inside Project Professional, after publishing the EPP project back to Project Server, the project tasks you assigned with work item type and with publish to team project as “YES” will be automatically created on TFS side as work items by the integration engine running in the background on the server.


TFS & Project Server together enable us to integrate two different worlds (but connected and dependents) – Application Lifecycle Management (ALM) and Project Management/Project Portfolio Management (PPM).

Consequently, we have project managers and development teams (system analysts, developers, architects, testers/QA team, etc) working with their specific methodologies and interacting with one another. Not to mention that both teams will have visibility and traceability of their works automatically and easily provided by the tools – improving projects quality, easy access to project reports, requirements tracking, enterprise resource availability and much more!

Other references and videos about the products working together:

Silfarney Wallace | @silwallace

Team Foundation Server 2012 Exam 70-496

I had the opportunity to take this exam last week and since I got a thumbs-up :- ) I will let SOME tips here for everyone who is likewise thinking to apply for this new TFS exam.

Again, as in TFS 2010 exam – 70-512, you may be comfortable to go to this exam if you are already familiar with deploying Team Foundation Server using different topologies (single server, multi servers, using also load balancing, https), administering TFS server (TFS admin console), including backup/restore and also managing/working with the main component as version control, work item tracking, build automation, lab management, groups and permissions management of TFS instance level, Team Project Collection level and Team Project level, etc.

Take a look at the main ALM MSDN documentation for Visual Studio 2012 that contains rich information for this test and certainly helps with that – Application Lifecycle Management with Visual Studio and Team Foundation Server

Find the Skills Being Measured for this exam here. The test is very well elaborated having mixed questions exploring all four big topics of the Skills Being Measured.

Based on what I can still remember from my test, these are some topics to practice, to study and to be prepared to find the accurate answer solutions in your test:

My friend Daniel talks about the new three Microsoft ALM exams here – Certifications for Team Foundation Server 2012

Other links that have some valuable TFS related information you may consider to take a look at:

Silfarney Wallace | @silwallace

Recent news around Visual Studio 11 and Team Foundation Server 11 – vNext

Microsoft presented lots of news for the next version of its products in the BUILD conference last week.

A summary of the links related to TFS and Visual Studio ALM tools vNext:

Setup and Install
Visual Studio and Team Foundation Server 11 Developer Preview
Windows 8 Developer Preview

BUILD Event Session @ Channel 9 – Day 2
What’s new in Visual Studio 11
What’s new in Visual Studio 11 for Application Lifecycle Management
Taking your Application Lifecycle Management to the cloud with the Team Foundation Service

BUILD Event Session @ Channel 9 – Day 3
Working on an agile team with Visual Studio 11 and Team Foundation Server 11
Advanced IntelliTrace in production with Visual Studio 11

BUILD Event Session @ Channel 9 – Day 4
Developer collaboration with Team Foundation Server 11
Architectural discovery with Visual Studio 11

Brian Keller’s Blog
Visual Studio 11 Application Lifecycle Management Virtual Machine and Hands-on-Labs /Demo Scripts

Jason Zander’s Blog
Announcing Visual Studio 11 Developer Preview

Brian Harry’s Blog
Team Foundation Server on Windows Azure: A Preview is available!
VS 11/TFS 11 Developer Preview
Configuring a build server against your shiny new hosted TFS account

Visual Studio ALM + Team Foundation Server’s Blog
Installing the Advanced Configuration of TFS vNext from the BUILD Conference in Anaheim
Software Downloads for the Team Foundation Service Preview

Silfarney Wallace | @silwallace

[ALM & TFS Compilation] – September 8/11

Keeping an eye on the ALM & TFS technical community!!!

At this time I separated by major topics.

Team Foundation Server



Copying TFS Work Items September 7/11
Restrict TFS to only allow connections from clients with VS SP1 September 7/11
Creating a TFS branch from PowerShell September 7/11
TFS SDK: Workspace Explorer & Statistics September 6/11
TFS SDK: Work Item History Visualizer using TFS API September 6/11
TFS 2010 Build Numbers & File Versions from Inside Your C# and C++ Projects September 6/11
Como saber se um work item já foi seu September 5/11
Mapping Team Foundation Server Process Templates, example Agile 4.3 to Agile 5.0 September 3/11
[TFS 11 News]
Wrapping up TFS 11 Version Control improvements
September 2/11
TFS Integration Tools – Where does one start? … part 1b (pre-requisites) September 2/11
Installing TFS Build 2010 on a non-domain-joined machine September 1/11
Solid TFS resources, ASP.NET vNext, TFS and SQL High Availability, and SVN to TFS migration September 1/11
Enterprise Tester version 3.4 integrates with TFS September 1/11
[TFS 11 News]
Merge enhancements in TFS 11
August 31/11
TFS SDK and workspaces, build triggers, NuGet 1.5, and TeamPulse Behind the Scenes Part 3 August 31/11

Application Lifecycle Management



[Visual Studio Magazine Article]
Continuous Testing: Think Different
September 7/11
ALM Links for 09/07/2011 September 7/11
Coded UI Test Utilities for ComboBox, ListBox, and CheckBox Controls September 7/11
Column Changes without Data Loss in Visual Studio 2010 Database Projects September 5/11
Lean Startup e Customer Development: Prepare-se para a nova onda que vai ajudá-lo a acertar em cheio nos produtos e serviços que você desenvolve September 5/11
Virtual Lab Management – Run automated, virtual tests in a predictable environment September 2/11
Lista com todas as Práticas Ágeis September 1/11
Capturing C++ Code Coverage with Visual C++ September 1/11
[MSDN Magazine Article]
Visual Studio ALM Rangers — Reflections on Virtual Teams
August 31/11
Trends in ALM: Extending the lifecycle, increased support of Kanban August 30/11


The credits for all links go exclusively to the technical community – for each blog owner and Twitter users.
If you want to see from where I gathered all information, take a look mainly on my Twitter favorites.

Silfarney Wallace | @silwallace

Virtual Hard Disk (VHD) Boot – Setting up a Server/Environment for Labs inside a .vhd file

I have just settled up my TFS 2010 lab environment again, and taking this opportunity I’d like to demonstrate how to create and configure a Virtual Hard Disk (VHD) file so as to install a server environment like Windows Server 2008 R2 for your labs, tests and presentations. The whole operating system (OS) will be installed in this file (.vhd extension) and a boot entry on Windows Boot Manager will be added to initiate this new OS.

Some interesting points about this approach:

  • You can create a backup of your environment easily.
  • Transfer you entire environment to another computer in a fast way, or you can still copy and modify it for other tasks.
  • In case of a serious problem in your environment that prevents it from working again, in other words you’ll lose just one file, having the option to create a new one and replace it. Also, you can consider any backup you have done before.
  • If you use virtualization as Windows Server 2008 R2 Hyper-V, you will be using all your machine hardware available directly.

I put some references explaining in more details about the VHD Boot feature at the end of this post. By the way, vhd boot is only accepted by Windows 7 Ultimate/Enterprise and almost all editions of Windows Server 2008 R2.


At Windows 7, open Disk Management:

Start –> Run or Windows + R 
Type: diskmgmt.msc and hit Enter
Select Action -> Create VHD

In the following screen, type the path and the name of your new vhd file.
Type the disk size, select the vhd disk format and click OK.

These are my options selected:

The Dynamically Expanding virtual hard disk format is recommended for test and laboratories, and the Fixed Size for production environment.
In case of opting by Dynamically Expanding, it is interesting to know that after the operating system is installed inside the vhd, this file has the tendency to remain smaller in disk than the actual value configured for it when you initiate from another OS – useful to transport to another place. However, every time you start the OS installed in the vhd, it will adopt the maximum size you configured through the option above, in this case 160 GB, consuming your hard disk space. If there is no enough space, the OS will not start.
On the other hand, the Fixed Size will always consume the size you established here.

A tip here in order to not have a problem later it is to create the vhd file with its name less than 14 characters or you will have the following error message “The pathname for a virtual disk must be fully qualified.”, when selecting the vhd file using diskpart in the next steps.

Note that the vhd disk appears as Not Initialized below in the Disk Management screen. The next step is to initialize it.

Right click on the new disk created and select the option Initialize Disk.

Confirm the action with MBR option selected.

The vhd disk will be initiated quickly with the Online status.


Now, right click on the Unallocated area and select the New Simple Volume option.

Follow the Wizard, providing the maximum size selected,
assigning the driver letter and the Volume Label wished and let the NTFS file system.
In the last wizard screen click Finish.

Ready. Your new vhd drive is created, online and prepared to be attached in the OS installation phase.


Boot from Windows Server 2008 Enterprise R2 – x64 media (DVD).

After selecting the language options, in the second screen Install Now 
press "SHIFT+F10" to launch the command prompt.

Type: diskpart.

It is time to attach the new vhd disk for the operating system installation.

Type: select vdisk file=”vhd path and file name” 
Example: select vdisk file=”C:\VHD\Test.vhd”

Type: attach vdisk

Exit diskpart and command prompt typing: exit e exit.

Click Install Now and start the OS installation as usual.

Go to the next installation steps configuring the options as wished 
and when you get the What kind of Installation you want to perform, select Custom.

On Where do you wish to install Windows screen, 
select the disk that corresponds to the vhd you created in the earlier steps.

Generally, it has the complete name that you assigned at the beginning of the post. Besides, the total disk size is equivalent to the size that you also assigned to it in the creation vhd screen.

Keep going with the Windows installation.

After finishing the installation and updating the machine drivers, you will be ready to create your labs, tests and presentations environment.

Great! From now on you have one more OS installed in your machine, with the difference that it is installed inside of a vhd bootable file.

These are some references with detailed explanation about VHD Boot feature, disk formats advantages and disadvantages and etc.:

As you saw, it is simple to set up a new operating system inside a virtual hard disk file! Portable, simple, and not traumatic if anything goes wrong with your environment.

Silfarney Wallace | @silwallace

Virtual Hard Disk (VHD) Boot – Preparando um Servidor/Ambiente para Laboratórios dentro de um arquivo .vhd

Aproveitando que acabei de refazer meu ambiente de laboratório do TFS 2010, quero mostrar nesse post como criar e configurar um arquivo de “HD Virtual” (Virtual Hard Disk) para a instalação de um ambiente servidor como o Windows Server 2008 R2 para seus laboratórios, testes e apresentações. Todo o sistema operacional (SO) estará instalado nesse arquivo (de extensão .vhd) e uma entrada de boot no Windows Boot Manager será adicionada para você poder iniciar esse novo SO.

Alguns pontos interessantes dessa abordagem são:

  • Você pode fazer backup do seu ambiente de testes e laboratórios facilmente.
  • Transferir seu ambiente inteiro para qualquer outro computador de forma rápida, ou até copiá-lo e ir modificando para outras utilidades.
  • Caso tenha um problema grave no ambiente que não funcione mais, em outras palavras você estará perdendo um único arquivo, com a opção de criar um novo para substituí-lo. Podendo ainda, voltar um backup que tenha feito.
  • Se utilizar o recurso de virtualização como o Hyper-V do Windows Server 2008 R2, você estará rodando seu ambiente nativo direto de um arquivo VHD iniciável “bootable”, o que lhe dá a vantagem de ter todo o hardware da sua máquina à disposição. Nada de executar seu ambiente em cima de outro sistema operacional Host.

No final do artigo eu deixo algumas referências que falam detalhadamente sobre a funcionalidade do VHD Boot. Inclusive, ele é somente suportado pelos Windows 7 Ultimate/Enterprise e a maioria das edições do Windows Server 2008 R2.

/* … MÃO NA MASSA … */


No Windows 7, abra o Gerenciador de Disco para criar o disco virtual VHD:

Iniciar –> Executar ou Aperte Windows + R 
Digite: diskmgmt.msc e aperte Enter 
Selecione o menu Ação -> Criar VHD

Na tela seguinte, entre com o caminho e nome do novo arquivo vhd.
Coloque o tamanho desejado, selecione o formato do disco e clique OK.

No meu caso eu deixei as seguintes opções selecionadas:

O formato do disco virtual Expandindo Dinamicamente é recomendado para ambientes de testes e laboratórios e o formato Tamanho Fixo para ambientes de produção.
Caso opte também pelo formato Expandindo Dinamicamente, é interessante saber que após todo o sistema operacional estiver instalado no vhd, esse arquivo até tende a ficar com um tamanho menor em disco, assim que você iniciar por um outro SO, ficando conveniente para transportar para outro lugar. Porém, toda vez que iniciar o sistema operacional do vhd, ele irá expandir para o tamanho máximo que você configurou na opção acima, ou seja, 160 GB nesse caso, consumindo espaço do seu HD. E caso não tenha espaço suficiente, ele não irá iniciar seu sistema operacional.
Já o Tamanho Fixo consumirá sempre o tamanho que você forneceu na opção acima.

Uma dica aqui para não ter erros mais a frente é criar o arquivo vhd com seu nome menor do que 14 caracteres para não se deparar com a seguinte mensagem de erro “The pathname for a virtual disk must be fully qualified.”,  assim que estiver selecionando o vhd usando o diskpart nos próximos passos.

Você irá reparar que o novo disco VHD surge abaixo na tela do Gerenciador de Disco como Não Inicializado.
O próximo passo a fazer é inicializá-lo.

Clique com o Botão Direito no novo disco criado e
selecione a opção Inicializar Disco.

Confirme a ação com a opção MBR selecionada.

O disco vhd será iniciado rapidamente e irá exibir o status de Online logo em seguida.


Agora, clique com o botão direito em cima do espaço não alocado
e selecione a opção Novo Volume Simples.

No assistente do novo volume que irá surgir, deixe o tamanho máximo selecionado,
atribua a letra desejada ao novo drive, deixe o sistema de arquivo selecionado
como NTFS e dê o nome desejado para esse novo volume. Na última tela de resumo
das opções selecionadas clique no botão Finalizar.

Pronto, seu novo disco VHD está criado, online e pronto para ser anexado na fase de
instalação do sistema operacional, como um disco virtual.


De o boot com a mídia (DVD) do Windows Server 2008 Enterprise R2 – x64.

Após selecionar as opções de idioma, na segunda tela Instalar Agora, 
pressione "SHIFT+F10" para carregar a console do prompt de comando.

Digite: diskpart.

Chegou a hora de anexar/vincular o novo disco VHD para a instalação do sistema operacional dentro desse arquivo.

Digite: select vdisk file=”Caminho do arquivo VHD” 
Exemplo:  select vdisk file=”C:\VHD\Teste.vhd”

Digite: attach vdisk

Saia do diskpart e do prompt de comando digitando: exit e exit.

Clique Instalar Agora 
e inicie a instalação do sistema operacional normalmente como de praxe.

Vá configurando os passos da instalação conforme desejado 
e quando chegar na tela Qual o tipo de instalação você deseja, 
selecione Custom/Personalizado.

Na tela Onde você deseja instalar o Windows, 
selecione o disco correspondente ao vhd que você criou 
e vinculou nos passos anteriores.

Geralmente ele está com o nome completo que você forneceu para ele nos passos iniciais.
Além disso, o tamanho total do disco equivale ao tamanho que você atribuiu no inicio das configurações.

Continue com a instalação do Windows.

Após terminar de instalar o sistema operacional e atualizar os drivers, você estará apto a criar seu ambiente de laboratórios, testes e apresentações desejado.

Pronto. A partir de agora você tem mais um sistema operacional instalado em sua máquina, com a diferença de que ele está instalado dentro de um arquivo de boot vhd – “VHD Bootable“.

Seguem algumas referências contendo explicações mais detalhadas sobre VHD Boot, vantagens e desvantagens dos tipos de formatos de discos e etc:

Como você pôde ver, é simples configurar um novo sistema operacional dentro de um arquivo virtual hard disk! Fácil de movê-lo par outro lugar, simples, e sem traumas caso algum erro aconteça no seu ambiente.

Silfarney Wallace | @silwallace