00:00:00 - Hi, I'm Steve Caseley
from CBT Nuggets,
00:00:02 - and welcome to this
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
00:01:27 - If you look at the
Microsoft website itself,
00:01:30 - they describe TFS is "a
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
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
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
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
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
00:03:48 - of all of your
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
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
00:04:24 - there is another layered
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
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
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
00:07:09 - TFS also ships with
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
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
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
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
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
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
00:10:34 - It has a very extensive
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
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
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
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
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
00:13:01 - on how to deliver Agile
projects using TFS.
00:13:06 - So to wrap up this
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
00:13:15 - that provides full support
for project management,
00:13:19 - for build management, for
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
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
00:14:15 - for in Agile with team
00:14:18 - I hope this module has
been informative for you,
00:14:20 - and thank you very
much for viewing.