Eric lippert - Amazon Web Services
Eric lippert - Amazon Web Services
Eric lippert - Amazon Web Services
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