14.01.2015 Views

Eric lippert - Amazon Web Services

Eric lippert - Amazon Web Services

Eric lippert - Amazon Web Services

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Typically, a project starts when a Vision document is created and<br />

approved. That document may include a Vision Statement, overall<br />

scope of the project and the organization of the team. Once this<br />

document is approved, the project kick starts. The Team then<br />

collects the requirements and a requirement document is<br />

created. The raw requirements may come in the form of Minutes of<br />

the Meeting, Emails or a document created by the customer. This<br />

requirement document goes through a process of refinements and<br />

approvals. At the end of that process, it is finalized so that initial<br />

requirements / user stories / PBIs can be added in the TFS. A link<br />

back to the requirement document is inserted in each of these work<br />

items. A similar process is carried out for architecture of the<br />

solution where design documents and diagrams are the driving<br />

force. Approval of these architectural artifacts triggers the<br />

construction (development) phase of the project. We may assume<br />

that if the team follows one of the Agile methodologies, these<br />

architectural documents may not exist, but they do exist to a<br />

certain extent. Iteration zero of any project that follows Agile<br />

creates an overall architectural strategy for the solution and that<br />

is documented. Any phase change in the project is documented<br />

regardless of methodology that is being followed.<br />

it is approved.<br />

2. Link another list of documents to an approval workflow, so that a<br />

document like a requirement document (SRS) is created – reviewed<br />

– approved by the authorized team members.<br />

3. When a document is finalized, appropriate work items should get<br />

created with the required metadata in the appropriate team project<br />

in TFS.<br />

4. When a requirement is added in the team project, a set of tasks<br />

should get spawned to implement that requirement.<br />

In this case, we will first focus on the vision document and then a<br />

requirement document as the driver. Processing the requirement<br />

document creates an additional complexity that is, a requirement<br />

document may (and usually does) contain multiple requirements.<br />

We will need to read those requirements and create appropriate<br />

work items for each requirement. This will require that the structure<br />

of the requirement document should be predefined using a<br />

template. This type of template is a common practice.<br />

We will take a case where the documents are stored in SharePoint<br />

list that works as the document repository. TFS stores the metadata<br />

in the form of work items for the same documents. These work items<br />

can be used for creating hierarchies and for the purpose of<br />

reporting. What we would like to achieve, is a workflow like this:<br />

We begin by creating a library of documents in the portal that is at<br />

the team project collection level. This library will be used to host<br />

the ‘Vision document’. We name that document library as ‘Project<br />

Initiation Documents’ and keep a template of such documents in the<br />

library. Permissions to this library are set in such a way that only the<br />

people who are involved<br />

in the project creation<br />

can access it. We<br />

create two columns for<br />

this library using ‘Library<br />

Settings’ page. One of<br />

them is a simple one<br />

line text property named<br />

as ‘Team Project Name’.<br />

This property allows<br />

the initiator to assign<br />

a name to the team<br />

project. Second column<br />

represents status of the<br />

document which can be<br />

- Needs Approval<br />

- Approved<br />

- Needs Rework<br />

1. When a Vision document is approved in the SharePoint list,<br />

trigger the process to create a new team project in TFS. Name of the<br />

team project should be given as a property of the document when<br />

For this coulmn, we select the type as Choice and provide these<br />

values as available options.<br />

DNcmagazine www.dotnetcurry.com | 31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!