TFS 2013 DAD Process Template in Action

Dopo aver descritto I tre livelli proposti da SAFe per lo Scaling, dedicammo questo post a Disciplined Agile Delivery e alla sua adozione pratica in TFS 2013.

Andremo, sostanzialmente, a creare un apposito Process Template, partendo che ci consente di applicare DAD nel nostro lavoro quotidiano, attraverso una serie di 5 passi. Procederemo manualmente alla modifica del template anche se è possibile effettuare le modifiche (o almeno parte di esse) con i TFS Power Tool.

Step 1: prepariamo il template

Prima di tutto apriamo VS 2013, e dalla finestra di gestione di Team Explorer selezioniamo la voce “Settings” e poi “Project Template Manager”:

dadtemplate 1

dadtemplate 2

A questo punto selezioniamo il template “MSF for Agile Software Development 2013” (si tratta del template più flessibile e generico per lo sviluppo in chiave Agile fornito da Microsoft) e facciamo click sul pulsante “Download”, salvando il template in un’apposita cartella del vostro sistema.

dadtemplate 3

Posizioniamoci nella cartella dove avete salvato il template e rinominate la sua Root-Dir in “DADTemplate” (o un nome alternativo a vostra scelta) e apriamo il file “ProcessTemplate.xml” per modificarlo come segue:

dadtemplate 4

<ProcessTemplate>

  <metadata>

    <name>Disciplined Agile Delivery Solution Delivery Process</name>

    <description>This template is based upon the Disciplined Agile Delivery framework created by Scott Ambler and Mark Lines.</description

 

Salviamo il file una volta effettuate le modifiche.

Step 2: aggiungiamo gli Acceptance Criteria

Essendo la creazione del Valore il punto cardine di DAD, non possiamo esimerci dall’aggiungere al Work Item relativo alle User Story un apposito field per raccogliere le informazioni inerenti.

Per prima cosa dobbiamo aggiungere un nuovo campo (field) al work item “User Story”. Per fare ciò posizioniamoci nella sotto-cartella “TypeDefinition” (DADTemplate\WorkItem Tracking\TypeDefinitions) e apriamo il file “UserStory.xml”. Una volta aperto, aggiungiamo il nuovo field nella sezione “@Witd/WORKITEMTYPE/FIELDS”:

dadtemplate 5

<FIELD name="Acceptance Criteria" refname="Microsoft.VSTS.Common.AcceptanceCriteria"

      type="HTML"/>

</FIELDS>

<WORKFLOW>

dopodiché, aggiungiamo il relativo TAB di navigazione, appartenente alle sezione “@Witd/FORM/LAYOUT/GROUP/TabGroup”:

dadtemplate 6

<TabGroup>

              <Tab Label="Details">

                <Control FieldName="System.Description"

Type="HtmlFieldControl" Dock="Fill"/>

              </Tab>

          <Tab Label="Acceptance Criteria">

                        <Control

FieldName="Microsoft.VSTS.Common.AcceptanceC

  riteria" Type="HtmlFieldControl"

LabelPosition="Top" Dock="Fill"/>

   </Tab>

 

Ora è possibile salvare e chiudere il file.

Prima di modificare l’Iteration Plan, dobbiamo fare un’ulteriore piccola modifica al “Process Guidance Reference” (in realtà la modifica è opzionale ma dovuta), modificando il file “ProcessGuidance.html” contenuto nella cartella “DADTemplate\Windows SharePoint Services\Process Guidance”. Nel file andrà modificata l’URL di riferimento e il nome del Process Template.

Step 3: modifica dell’Iteration Plan

Il primo passo per modificare l’Iteration Plan è la modifica del file “Classification.xml”, contenuto nella cartella “DADTemplate\Classification”, come segue:

dadtemplate 7

<Nodes>

        <Node StructureType="ProjectLifecycle" Name="Iteration" xmlns="">

          <Children>

            <Node StructureType="ProjectLifecycle" Name="Inception">

              <Children>

                <Node StructureType="ProjectLifecycle" Name="Iteration 1"/>

              </Children>

            </Node>

            <Node StructureType="ProjectLifecycle" Name="Construction">

              <Children>

                <Node StructureType="ProjectLifecycle" Name="Iteration 1"/>

                <Node StructureType="ProjectLifecycle" Name="Iteration 2"/>

                <Node StructureType="ProjectLifecycle" Name="Iteration 3"/>

                <Node StructureType="ProjectLifecycle" Name="Iteration 4"/>

                <Node StructureType="ProjectLifecycle" Name="Iteration 5"/>

              </Children>

            </Node>

            <Node StructureType="ProjectLifecycle" Name="Transition">

              <Children>

                <Node StructureType="ProjectLifecycle" Name="Iteration 1"/>

              </Children>

            </Node>

          </Children>

        </Node>

        <Node StructureType="ProjectModelHierarchy "Name="Area" xmlns=""/>

      </Nodes>

Ora bisogna modificare il file “GroupsandPermissions.xml” contenuto nella directory “DADTemplate\Groups and Permissions”:

dadtemplate 8

<teamSettings areaPath="Area">

            <iterationPaths backlogPath="Iteration">

              <iterationPath path="Inception"/>

              <iterationPath path="Construction"/>

              <iterationPath path="Transition"/>

            </iterationPaths>

          </teamSettings>

Il passo successivo è modificare le informazioni contenute nel file “WssTasks.xml” (cartella “DADTemplate\Windows SharePoint Services”) come segue:

dadtemplate 8b

<folders>

          <folder documentLibrary="Shared Documents" name="Inception"/>

          <folder documentLibrary="Shared Documents" name="Construction"/>

          <folder documentLibrary="Shared Documents" name="Transition"/>

          <folder documentLibrary="Samples and Templates" name="Logistics"/>

          <folder documentLibrary="Samples and Templates" name="Personas and Design"/>

          <folder documentLibrary="Samples and Templates" name="Retrospectives"/>

          <folder documentLibrary="Samples and Templates" name="Security"/>

          <folder documentLibrary="Samples and Templates" name="Test"/>

          <folder documentLibrary="Samples and Templates" name="Vision and Planning"/>

          <folder documentLibrary="Process Guidance" name="Supporting Files"/>

        </folders>

        <files>

          <!-- Shared documents -->

          <file source="Windows SharePoint Services\Shared Documents\Wiki.htm" documentLibrary="Shared Documents" target="Wiki.htm"/>

          <file source="Windows SharePoint Services\Shared Documents\Project Management\Issues.xlsx" documentLibrary="Shared Documents" target="Inception/Issues.xlsx" queryId="Current Iteration/Open Issues"/>

          <file source="Windows SharePoint Services\Shared Documents\Bugs\Triage.xlsx" documentLibrary="Shared Documents" target="Inception/Triage.xlsx" queryId="Current Iteration/Bug Triage"/>

Step 4: modifica delle query

A questo punto bisogna modificare i file contenenti le query in modo da adattarli alla nuova struttura (“DADTemplate\WorkItem Tracking\Queries”):

            UNDER '$$PROJECTNAME$$\Iteration 1' => UNDER '$$PROJECTNAME$$\Construction’

I file su cui intervenire sono:

    • ActiveBugs.wiq
    • ActiveTasks.wiq
    • BugTriage.wiq
    • CompletedTasks.wiq
    • Iteration1Backlog.wiq
    • OpenIssues.wiq
    • OpenTestCases.wiq
    • OpenUserStories.wiq
    • ResolvedBug.wiq
    • UserStoriesDelivered.wiq
    • UserStoriesWithoutTestCases.wiq

Step 5: upload del nuovo Process Template

Terminate tutte le modifiche riportate nei passi successive è ora di procedere all’upload del nuovo Process Template. L’upload avviene in modo duale al download:

    • Selezionare “Process Template Manager” in Settings (Team Explorer)
    • Nella finestra “Process Template Manager” selezionare “Upload”
    • Selezionare la cartella dove risiede il Template Modificato (DADTemplate)

Se il tutto si completa correttamente, nell’elenco dei Process Templates troveremo il nuovo template DAD oriented.

dadtemplate 9

A questo punto è possibile utilizzare il DAD Template per creare un nuovo progetto, progetto in cui avremo l’ambiente TFS settato secondo le caratteristiche di DAD.

dadtemplate 10

dadtemplate testproject 1

dadtemplate testproject 2

Buon Lavoro!

github logoPotete scaricare il Template già modificato direttamente da qui. {phocadownload view=file|id=15|text=TFS 2013 DAD Process Template|target=s}

Repository GitHub: https://github.com/felicepescatore/tfs_dad_template

agileiot logo  ac2 logodac dac dacdac dac psmii psmii safe cal1 less certazure fundamentals
mvp reconnect

Free Joomla templates by Ltheme