Planning Extreme Programming on Team Foundation Service

Article translations Article translations
Article ID: 2802265 - View products that this article applies to.

About Author:

Collapse this tableExpand this table
Collapse this imageExpand this image
MVP
This article is provided by MVP Ridi Ferdiana. Microsoft is so thankful that MVPs who proactively share their professional experience with other users. The article would be posted on MVP's website or blog later.
Expand all | Collapse all

On This Page

Introduction

Team Foundaton Server (TFS) is now available online at http://tfs.visualstudio.com. Personal or ISV can use this software as a services to store and manage their projects. TFS provides a Scrum, Agile, or CMMI as a software development method to build quality software. In this article, it will discuss how to use the TFS with Extreme Programming (XP) method. XP is a light weight agile method to develop a software. Since there are no specific template for XP in TFS. This article will apply the XP method in TFS. In this article, it will limit the XP adoption until planning phase.

Getting Started

Before we start, be sure that you already fullfill these requirements. 
  1. Registering yourself at http://tfs.visualstudio.com. There is an easy free registration process. You can read the registration tutorial here
  2. Installing Visual Studio 2010 or 2012. In this article, I will use Visual Studio Ultimate 2012. If you are using different Visual Studio version, you might see several differences. You can download the trial version of Visual Studio 2012 Ultimate here
  3. Having Microsoft Office 2013 installed.  Microsoft Office 2013 will help a lot in storyboarding or managing software artifact. You can download the trial version of Office 2013 here

Resolution

Understanding XP in Simple Way

XP contains four phases that can be worked onsite or global (it's called Global Extreme Programming). The four phases are exploration, planning, iteration, and production phase. Each iteration provides one or more artifacts. Artifacts are usefull document that support the software development. Frankly speaking, artifacts are anything except the codes itself. In XP, there are user story, task, bug sheet and others.

User story captures the requirements of the software in ecploration phase. User story is detailed in planning game session by creating several tasks. In casual way, each user story will create several tasks. In iteration phase, user story and task will be assigned to a team member. The team creates codes and test it based on the tasks ownership. The task is finalized by doing unit test and integrating it with others. The code is tested by several tester using the user story list. The tester posts bug in a list and the bug will be solved by the developer. The iteration phase will be executed iteratively until the software quality can be accepted by the stakeholder. It happens iteratively so each working component will be integrated in production phase. Production phase will become a final phase for a user story to be tested and validated.


Adopting XP in TFS
In this section, it will show you step by step to apply XP in your software project. This section assumes you already has online TFS. This article will limit eploration and planning phase

Creating a project in your online TFS.
Visit http://tfs.visualstudio.com and sign in using your Microsoft Account. After sign in you can visit your personal TFS url. Your TFS URL should be https://(name).visualstudio.com. You can click the link and select New Team Project as shown in Figure 1

Collapse this imageExpand this image
TFS Online


Figure 1. Team Foundation Service

In create new team project dialog you can write your project name, your description and your template. In this article, we choose template MSF for Agile Software Development 6.1 as shown in Figure 2. After the project creation, you can navigate a project page.

Collapse this imageExpand this image
2802267


Figure 2. Creating a project

Composing team member
Team member is anything that collaborate with your application, include your customer. Team roles in xp are tester, interaction designers, architects, project manager, product manager, technical writer, developers, users, executives, and human resources. If you have limited team member, you can adopt the combination tricks. For example, product manager with project manager. However, it is important to avoid double role as developer and tester. Developer and tester should dedicated in XP for quality purpose. In this step, at least you add the product manager, interaction designers, architect, developer, tester, and technical writer. For better productivity, it is recommended for them to use same Visual Studio version.You can add the member by a manage all members link. After that you can add a single user or a TFS group. 

Connecting the team member to TFS
This step somewhat simple. Each member should login with his own Visual Studio and choose connect to Team Foundation Server. It can be selected through a Visual Studio Homepage as shown in Figure 3.

Collapse this imageExpand this image
2802268


Figure 3. Connect to Team Foundation Server

You should put your TFS URL as mentioned in Step 1 and click ok without bothering any input such as port and others. The login dialog in Microsoft Account login will be displayed. After login, Visual Studio will let you choose the project as shown in Figure 4. You can click connect and the Visual Studio will display a Team Explorer to manage the project.

Collapse this imageExpand this image
2802269


Figure 4. Project Selection in Visual Studio

Creating user story
This is a vital step in XP, you should create user stories to the system as a main requierements. The user story creation can be done through Visual Studio or Team Foundation Server. In this article, we will create it by using Team foundation server.

You can visit your personal project page in TFS and start to create a user story by clicking user story menu as shown in Figure 5. You can use as a <role> I want to <action> so that <benefit> . In the detail you can describe the detail of the story.

Collapse this imageExpand this image
2802270


Figure 5. User Story Sample

The user story should be assigned to someone. You will see a dropdownlist in status field. The state will be New, Closed, Removed, Resolved, and Active. New is a state when the user story still in design, the new state will be escalated to active state when the team works the story. The story will be closed when team already finished the story. It will become resolved when need additional inspection. Removed state is happen when the story is dropped by the client during the execution of the project. Never feel overwhelming with the state in XP you can use New, Active, Closed, and Removed only. You can fill in a reason field for additional description.

Planning and classification can be done later in Planning Game session. Before Planning Game session, we should complete our analysis first through a storyboard

Creating a storyboard
Everybody love story. Therefore, storyboard will help team to understand the proposed solution. Storyboard is a collaboration activity in exploration phase. In TFS, you can use Powerpoint as a storyboarding tool. In order to do that, select the Storyboards menu and click start storyboarding as is shown in Figure 6. TFS will invoke Powerpoint for you to start storyboarding activity. You can also use existing document that you already created (e.g. word document, visio, etc) by pointing the url of the document.

Collapse this imageExpand this image
2802271


Figure 6. Storyboard Menu

PowerPoint gives you a getting started shape for storyboarding. You can start to use the shape without building from scratch. Figure 7 shows a sample of a storyboard. The storyboard should be saved in internet. You should save the file to OneDrive (formerly SkyDrive), Sharepoint, Azure, or your own website that can be accessed thorough http. It is ok to build one storyboard in one PowerPoint file for a simple app (let say Windows Phone App). However, when your application consists of several sub system or modules (let's say you build a portal). You should build the storyboard for each module. The key of storyboard is depedency, when you find a feature that is quite complex and independence, you can build separate storyboard file.

Collapse this imageExpand this image
2802272


Figure 7. PowerPoint Storyboard Sample

The Planning Game
The great collaboration in XP team start from here. Planning game do estimation for each user story in the backlog. There are two main activities in planning game which are estimating and planning. Estimating discusses the complexity of the story and gives a points to them. A points is adjusted through a poker cards as shown in Figure 8. There is a good estimation technique that already discussed on MSDN  at here http://msdn.microsoft.com/en-us/library/hh765979.aspx. Poker card gives you an insight about user story points and its risks.
Collapse this imageExpand this image
2802273


Figure 8. Poker Card (Courtesy of MSDN)

The planning activity classifies an user story to an iteration. Iteration is an activity where a team creating tasks, tests, and codes. The iteration in XP is considered as a checkpoint of the development. For example, we have 20 days of development. Therefore, we called 20 days as a release plan. Release plan means a set of features that should be delivered on a project. The release plan consists of a checkpoint milestone called an iteration. If we put 10 days for each iteration, we have two iterations for a release. 
The information about story points, risks, and iteration can be updated to the user story dialog in TFS. In this step, I encourage you to fullfill points and risks in each clear user story, you can also changes a state of user story to active when you are ready to work on it.

Creating an iteration
An iteration will help the team to know what to do right now, and tomorrow. The iteration can be created in TFS by following these steps.
Visit your project HomePage. In the Tab Administration, you can select Configure Schedule and Iterations. In the dialog, you can set the estimation date, numbers of iteration, and the details of iteration. TFS will help you to set the same iteration length after you input the first iteration. Figure 9 shows you an iteration dialog

Collapse this imageExpand this image
2802274


Figure 9. Managing Iteration in TFS

After creating an iteration, the team can allocates the user story into the iteration. One way to do that is by visiting a backlog dialog and modify each stories toa specific iteration. You can see the Work menu, select Backlog, and then Board sub-menu. Click the user story and after that you can change the user story iteration in the classification dialog. Figure 10 shows a board on TFS

Collapse this imageExpand this image
2802275


Figure 10. User Story Board


Executing the Iteration
Now it's time to start coding by finishing the user story. You can add tasks when necessary. Task is a detail of activity to finish the user story. XP never push you to focus in user story and others artifacts more than the codes. if you feel enough, its time to develop the codes. We will discuss the iteration and production phase in the next phase and in the next article. 

Conclusion
This article is the first part of applying XP method. It focuses in exploration and planning phase. In this artile, we already develop a user story, create a plan, and develop an iteration. In the next article we will discuss the execution and monitoring activity using TFS and Visual Studio.

References
  1. Team Fiundation Services
  2. Visual Studio 2012 ALM
  3. Creating user story in Visual Studio
  4. Getting Started with TFS Online

Community Solutions Content Disclaimer

MICROSOFT CORPORATION AND/OR ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY, RELIABILITY, OR ACCURACY OF THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN. ALL SUCH INFORMATION AND RELATED GRAPHICS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT AND/OR ITS RESPECTIVE SUPPLIERS HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THIS INFORMATION AND RELATED GRAPHICS, INCLUDING ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, WORKMANLIKE EFFORT, TITLE AND NON-INFRINGEMENT. YOU SPECIFICALLY AGREE THAT IN NO EVENT SHALL MICROSOFT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE, DATA OR PROFITS, ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE OF OR INABILITY TO USE THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN, WHETHER BASED ON CONTRACT, TORT, NEGLIGENCE, STRICT LIABILITY OR OTHERWISE, EVEN IF MICROSOFT OR ANY OF ITS SUPPLIERS HAS BEEN ADVISED OF THE POSSIBILITY OF DAMAGES.

Properties

Article ID: 2802265 - Last Review: February 19, 2014 - Revision: 3.0
Applies to
  • Microsoft Visual Studio Team Foundation Server 2012
  • Microsoft Visual Studio Online
  • Microsoft Visual Studio Ultimate 2012
Keywords: 
kbmvp kbcommunity kbstepbystep KB2802265

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com