Being Agile Using Team Foundation Server

Microsoft TFS

by Steve Caseley

Total Videos : 20 Course Duration: 06:29:49
1. Introduction (00:14:22)
2. Agile Overview Part 1 (00:20:01)
3. Agile Overview Part 2 (00:18:54)
4. TFS Overview (00:20:21)
5. TFS Administration (00:21:14)
6. Product Backlog (00:25:00)
7. Iteration Planning (00:23:38)
8. Daily Tracking (00:20:02)
9. Work Item Wrapup (00:23:21)
10. Reports and Queries (00:19:56)
11. Requirements Definition (00:20:52)
12. Version Control (00:23:09)
13. Builds (00:17:29)
14. Build and Code Quality (00:14:53)
15. Code Analysis (00:17:34)
16. Test Planning (00:17:47)
17. Test Execution (00:18:34)
18. Test Results (00:16:02)
19. System Administration (00:22:21)
20. TFS Report Card (00:14:19)
This Agile training course with Steve Caseley covers how to use Microsoft's Team Foundation Server as a tool to support the delivery of Agile projects.

Recommended skills:
  • Agile/Scrum Understanding

Recommended equipment:
  • Team Foundation Server on premises or Office365 installation
  • Standalone TFS (in lieu of server based install for learning purposes only)

Related certifications:
  • PMI-ACP
  • Scrum Master

Related job functions:
  • Scrum Master
  • Product Owner
  • Project Team Member
  • Project Manager

This course focuses on the actual use of TFS based on the Agile roles of Product Owner, Scrum Master, and Team Leader. This course will review how TFS supports the Agile principles for Backlog Management, Sprint Management, and Agile Burndown charts, as well as the Agile development techniques such as continuous integration, automated testing, pair programming and refactoring.

This training has been approved for Category A PDUs. For a listing of how many PDUs are earned for this training, please visit our PMI R.E.P. FAQs on our Forum.

PMI® is a registered mark of the Project Management Institute, Inc.

Introduction

00:00:00 - Hi, I'm Steve Caseley from CBT Nuggets,
00:00:02 - and welcome to this introductory Nugget
00:00:04 - of the series on team foundation server, or, probably more
00:00:08 - appropriately titled, Being Agile with Team Foundation
00:00:11 - Server.
00:00:11 - This series is not focused on every switch, every command,
00:00:15 - every setting, of TFS.
00:00:17 - Instead, this Nugget series is focused
00:00:19 - on how you can be a Agile, how you can follow the Agile
00:00:23 - principles using the tool called TFS.
00:00:27 - To kick that off, a very, very quick overview of what TFS is--
00:00:31 - Team Foundation Server-- the features and functions
00:00:33 - provided that, and then we'll talk
00:00:35 - about the relationship between TFS and being Agile.
00:00:39 - Do you need TFS to be Agile?
00:00:41 - No.
00:00:42 - Can you be Agile without TFS?
00:00:44 - Yes.
00:00:45 - But we'll delve into more details on that.
00:00:48 - We're very quickly touch on the difference between TFS
00:00:51 - in the cloud and TFS on premise, to ensure
00:00:54 - that we've got a clear definition of how you're
00:00:56 - going to implement this in your organization.
00:00:58 - And finally, and I think most importantly,
00:01:00 - we're going to talk about what this series isn't going
00:01:03 - to cover, and this series isn't a deep dive into TFS.
00:01:06 - This isn't a TFS admin guide-- this
00:01:09 - is a guide on how to be Agile using TFS.
00:01:14 - And to kick us off, the discussion is, what is TFS?
00:01:17 - I really wish, I really do wish I
00:01:20 - had good solid one-sentence answer to what TFS is,
00:01:25 - besides the name team foundation server.
00:01:27 - If you look at the Microsoft website itself,
00:01:30 - they describe TFS is "a collaborative platform
00:01:33 - at the core of Microsoft's life cycle management solution.
00:01:37 - TFS supports Agile development practices, multiple IDEs
00:01:42 - and platforms, locally or in the cloud,
00:01:44 - and gives you the tools you need to effectively manage software
00:01:48 - development projects through its life cycle."
00:01:50 - Now that's a pretty broad, pretty sweeping definition
00:01:55 - of what TFS really is.
00:01:56 - But the core of it is, TFS is the systems development
00:02:01 - environment.
00:02:02 - It has the tools to support projects doing development,
00:02:07 - and if I zero in just a little bit,
00:02:09 - I would zero in and say what TFS primarily
00:02:12 - is, it's a built server.
00:02:14 - So it's going to take all of your individual code modules,
00:02:18 - run it through the build process, do the compiles,
00:02:20 - do the links, do the assembles, use all of those words,
00:02:23 - depending on which programming language you're using.
00:02:25 - And it's going to build it into working code.
00:02:28 - It's also a very robust and very complete
00:02:31 - version management system, which I
00:02:33 - would say is an intrinsic prerequisite to being
00:02:36 - able to do a build server.
00:02:37 - It has to be equal to do version control,
00:02:39 - and manage all of the components.
00:02:41 - And finally, it is very robust end-testing facility.
00:02:45 - But on top of all of that, it is also
00:02:48 - the management environment, which
00:02:50 - is what's going to allow us to do the Agile support
00:02:54 - and the Agile management within it.
00:02:57 - One of the reasons I find TFS to be so difficult to explain,
00:03:01 - is it's actually part of an overall layered Microsoft
00:03:04 - product group.
00:03:06 - At the very base is SQL server.
00:03:09 - All of the code modules, all of the verging,
00:03:12 - all of the test cases, everything
00:03:13 - has to be stored somewhere, and it's all
00:03:15 - stored inside SQL Server.
00:03:17 - So it's very much meta-data style environment--
00:03:20 - end runs, SQL Server, TFS ain't going to happen, folks,
00:03:25 - without SQL running in the background.
00:03:28 - And although the rest of these are not truly core components
00:03:33 - to allow TFS to run, my expectation is,
00:03:36 - or my experience is, in most organizations using the TFS,
00:03:40 - they're also using SharePoint.
00:03:42 - So there's also the repository in place
00:03:45 - so that you have effective management
00:03:48 - of all of your project artifacts.
00:03:50 - And I'm not talking the version management
00:03:52 - of what TFS in terms of the code,
00:03:54 - but it's the repository for all of the project artifacts,
00:03:58 - and all of the project documents,
00:03:59 - so that we have everything stored in a common location.
00:04:02 - And we'll see how TFS will come into play when we're
00:04:05 - talking about managing release plans, and managing stories,
00:04:11 - and managing a whole lot of the artifacts
00:04:13 - that our project needs.
00:04:15 - And then we have TFS as part of the layering.
00:04:18 - And although really not part of this scope
00:04:21 - of this particular Nugget series,
00:04:24 - there is another layered Microsoft product
00:04:26 - called Project Server for those doing traditional project
00:04:30 - delivery.
00:04:31 - Project Server is a companion product to Microsoft Project,
00:04:35 - and in some organizations, you will have this complete layer
00:04:40 - happening, where you have projects being delivered
00:04:42 - in Project Server, you have projects
00:04:44 - being delivered as part of TFS.
00:04:46 - And as a matter of fact, for those of you
00:04:47 - who take this Nugget series and get a real flavor or feeling
00:04:51 - that, hey, this TFS is pretty cool, I like this,
00:04:53 - I think I'm going to go to the boss
00:04:55 - and try to get them to buy this, but you're already
00:04:57 - using Project Server-- the good news is,
00:05:00 - there is built-in integration between TFS and Project Server.
00:05:04 - So it's actually very easy to put the two of these into you
00:05:08 - common environment.
00:05:09 - And lately Microsoft has really been combining all of these
00:05:13 - together, and typically refer to this large, layered environment
00:05:18 - as Visual Studio.
00:05:20 - So that's TFS.
00:05:22 - So where there's TFS fit into this concept
00:05:24 - the delivering an Agile project?
00:05:26 - Well, it fits in a couple of ways.
00:05:28 - Number one, Microsoft ships TFS with the series of templates.
00:05:33 - And there are two templates built into TFS very relevant
00:05:36 - to this Nugget series-- one is the Agile template
00:05:39 - itself, which is new in this release of TFS,
00:05:42 - so that's the 2012 release of TFS
00:05:45 - has the Agile template in it, and also
00:05:47 - there is a Scrum template that has been shipping
00:05:50 - with TFS for, I don't know how many years now.
00:05:53 - But for a number of years.
00:05:54 - So A, TFS provides built in support for being Agile,
00:05:59 - and it has awesome tool support.
00:06:01 - So the things that we need to be Agile--
00:06:03 - build management, test management, configuration
00:06:05 - management, is built into TFS.
00:06:08 - So it's just an awesome tool to help us be Agile.
00:06:12 - And it's very, very flexible.
00:06:14 - If you want to do it this way, if you
00:06:16 - want to do it that way, if you want to be nimble,
00:06:18 - if you want to be iterative, if you want
00:06:19 - to do all of those things that Agile prides itself on being--
00:06:23 - the good news is, TFS does all of that.
00:06:26 - And you can also be 100% Agile without any TFS, which
00:06:31 - is really what we're going to focus on next.
00:06:34 - And the bottom line is, you don't TFS to be Agile,
00:06:38 - you don't need to be Agile with TFS.
00:06:41 - They're really, totally separate individual situations,
00:06:44 - but the good news, as I just said,
00:06:45 - is TFS does an awesome job of supporting Agile,
00:06:50 - but it also does an awesome job of supporting
00:06:52 - traditional waterfall development.
00:06:54 - TFS was around long before-- well,
00:06:57 - long before-- but TFS was certainly around before Agile
00:07:02 - and Scrum came to the forefront.
00:07:03 - And it was there as a traditional systems development
00:07:07 - environment to help projects deliver.
00:07:09 - TFS also ships with these templates
00:07:11 - that I just referred to, with the CMMI template.
00:07:14 - So again, if you want to follow the CMMI delivery practices,
00:07:18 - TFS is going to support you to do that.
00:07:20 - There is a Scrum template, there is an Agile template.
00:07:24 - Bottom line is, how you use TFS is up to you,
00:07:27 - and how you be Agile is up to you.
00:07:32 - In this Nugget series, I'm going to combine the Agile
00:07:36 - principles, I'm going to combine it with TFS,
00:07:39 - and show you how you can truly, effectively deliver
00:07:43 - Agile projects using this tool called TFS.
00:07:47 - And we'll talk more about this in the module four.
00:07:50 - I wanted to get this elephant into the room, or elephant
00:07:53 - into the room, or recognize that there's an elephant in the room
00:07:56 - as soon as possible, is what's the difference between TFS
00:07:59 - 365 and a true on-premise installation
00:08:04 - TFS on our own servers, on our own equipment?
00:08:08 - And actually, even as we're doing this,
00:08:10 - TFS 365 isn't what it's being called anymore.
00:08:14 - It's now being called Visual Studio Online.
00:08:17 - As with all of the other Microsoft offerings--
00:08:20 - whether it's Office, whether it's SharePoint--
00:08:22 - there is a Microsoft service in the cloud that supports TFS.
00:08:28 - Bottom line is, absolutely from the viewpoint this Nugget
00:08:33 - series, it doesn't matter.
00:08:36 - The functionality of TFS in the cloud, on premise,
00:08:40 - is identical.
00:08:42 - There, the elephant's taken care of.
00:08:43 - I don't care-- TFS is TFS is TFS is TFS.
00:08:47 - Functionality is equivalent.
00:08:50 - Now there are subtle differences.
00:08:52 - But for the purpose of where we're
00:08:53 - going-- delivering Agile projects using TFS--
00:08:57 - it's independent.
00:08:59 - Elephant-- gone.
00:09:00 - Go away.
00:09:01 - Don't come back, elephant.
00:09:02 - So you're saying, so how do I make my decision?
00:09:04 - The decision has nothing to do with delivering
00:09:07 - Agile using TFS.
00:09:09 - The decision is a corporate IT infrastructure security
00:09:13 - networking decision.
00:09:14 - We can support Agile delivery either way.
00:09:17 - So one more time-- elephant, get out of the room.
00:09:20 - So before we talk about what this Nugget series is not
00:09:23 - going to cover, I do want to spend just a moment with you--
00:09:25 - and it's only going to be just a moment, because we certainly
00:09:28 - are going to go through all of the details of what TFS is
00:09:30 - throughout this Nugget series-- is what is TFS?
00:09:34 - First and foremost, for the purpose of Agile support,
00:09:38 - it's a project management support environment Very
00:09:42 - specific for Agile, but as we saw through other discussions,
00:09:46 - it's also there for Scrum, it's there for CMMI,
00:09:48 - it's there fore traditional.
00:09:51 - It's very much a support environment for project
00:09:53 - management, but it's not Microsoft Project,
00:09:56 - it's not Microsoft Project Server,
00:09:59 - but it has fundamentals.
00:10:01 - So if you and some of my other Nugget series
00:10:04 - where we talk about PMI, PMP prep, and all
00:10:09 - of the core competencies of being and effective project
00:10:13 - manager, I would say TFS doesn't absolutely endorse and support
00:10:20 - all of the PMI, PMP project management activities,
00:10:24 - but it certainly does have a pretty darn good skeleton
00:10:27 - of support there.
00:10:29 - And you'll see it absolutely has everything
00:10:32 - we need to be just awesome Agile.
00:10:34 - It has a very extensive workflow process,
00:10:38 - which I believe feeds in just perfectly to being Agile.
00:10:43 - We need to have a story.
00:10:44 - We need to have the story estimated.
00:10:46 - We need to have the story assigned to a sprint.
00:10:48 - The story needs to have a definition of done.
00:10:51 - With workflow management in TFS, we
00:10:54 - can do the workflow management to ensure
00:10:57 - that we can't get a story assigned to a sprint,
00:11:00 - until it's been estimated.
00:11:02 - We're going to validate that the story can't be developed
00:11:05 - until the definition of done.
00:11:06 - So again, some of the features and functions
00:11:09 - we have in TFS that's going to help us be really Agile
00:11:12 - is workflow management.
00:11:13 - We talked about this one already.
00:11:15 - We have version control, which I believe
00:11:17 - feeds directly into build automation.
00:11:20 - So this is going to support the Agile development techniques.
00:11:23 - Absolutely, we have a high-quality test management.
00:11:27 - We have the ability to create test cases.
00:11:29 - We have the ability to execute test cases.
00:11:31 - We have the ability to automate test cases,
00:11:33 - and that automation is one of the key features
00:11:37 - that we're going to exploit heavily
00:11:39 - in using TFS in an Agile environment,
00:11:42 - is automated test cases to validate
00:11:45 - that our automated builds did not break anything.
00:11:47 - That the code is still 100% functional every time
00:11:50 - we do a check-in.
00:11:52 - And because it's got all of this awesome support in it
00:11:55 - to support the effective delivery,
00:11:57 - it has built-in intrinsic quality management components
00:12:02 - as part of the tool set itself.
00:12:04 - And just to make sure that you're taking the right series,
00:12:06 - because I wouldn't want you to sit through this entire series
00:12:09 - and say, Steve didn't cover TFS and this.
00:12:11 - I'm not covering TFS.
00:12:13 - This is not to TFS administration Nugget series.
00:12:17 - This is not a deep dive into TFS.
00:12:19 - This is how to be Agile using TFS.
00:12:22 - Were absolutely not going to talk about SQL.
00:12:25 - We're not going to talk about SharePoint.
00:12:27 - We're not going to talk about TFS administration.
00:12:30 - We're not even going to talk about various Visual Studio
00:12:33 - development activities.
00:12:34 - This is going to be a user manual on TFS for being Agile.
00:12:39 - So if you're expecting a TFS admin,
00:12:41 - if you're expecting a deep dive, if you're
00:12:43 - expecting to know anything and everything and the full nuances
00:12:47 - of TFS, this is the wrong Nugget series for you.
00:12:50 - If you're interested in that, let us know.
00:12:53 - CBT Nuggets would be very happy to put together
00:12:55 - that deep dive TFS admin series for you,
00:12:59 - but this one is focused exclusively
00:13:01 - on how to deliver Agile projects using TFS.
00:13:06 - So to wrap up this introductory Nugget
00:13:08 - on being Agile using TFS, we quickly
00:13:11 - talked about what TFS is.
00:13:13 - TFS is a systems development environment,
00:13:15 - that provides full support for project management,
00:13:19 - for build management, for configuration management,
00:13:21 - for version control, and it does it
00:13:24 - in a way that's nimble enough and flexible enough
00:13:26 - to allow us to be Agile.
00:13:28 - And then we talked about the fact
00:13:29 - that we can be Agile with TFS and we
00:13:32 - can be Agile without TFS.
00:13:34 - We can use TFS to be non-Agile-- traditional--
00:13:37 - as well as being Agile.
00:13:39 - So it's very important that you understand--
00:13:41 - TFS is not an exclusive Agile tool,
00:13:45 - nor do you have to have TFS a has to be Agile.
00:13:48 - And then we talked very quickly about the fact
00:13:50 - that we have cloud versions and on-premise versions of TFS.
00:13:57 - Don't care.
00:13:58 - Pick one, work with IT, get whatever you want in place,
00:14:01 - but for the purposes of this Nugget series, we don't care.
00:14:04 - And then we concluded with the fact
00:14:05 - that this Nugget is not a deep dive into TFS.
00:14:09 - It's user's manual on delivering Agile with TFS.
00:14:13 - This concludes our introductory Nugget
00:14:15 - for in Agile with team foundation server.
00:14:18 - I hope this module has been informative for you,
00:14:20 - and thank you very much for viewing.

Agile Overview Part 1

Agile Overview Part 2

TFS Overview

TFS Administration

Product Backlog

Iteration Planning

Daily Tracking

Work Item Wrapup

Reports and Queries

Requirements Definition

Version Control

Builds

Build and Code Quality

Code Analysis

Test Planning

Test Execution

Test Results

System Administration

TFS Report Card

Please help us improve by sharing your feedback on training courses and videos. For customer service questions, please contact our support team. The views expressed in comments reflect those of the author and not of CBT Nuggets. We reserve the right to remove comments that do not adhere to our community standards.

comments powered by Disqus

Steve Caseley

Steve Caseley

CBT Nuggets Trainer

Certifications:
PMI-PMP, PMI-ACP, PMI-SP, Project+

Area Of Expertise:
Project Management, MS Project, Development Methodologies, Agile Development


Course Features

Speed Control

Play videos at a faster or slower pace.

Bookmarks

Pick up where you left off watching a video.

Notes

Jot down information to refer back to at a later time.

Share

Stay Connected

Get the latest updates on the subjects you choose.


  © 2014 CBT Nuggets. All rights reserved. Licensing Agreement | Billing Agreement | Privacy Policy | RSS