Welcome to Azure DevOps Duet, a tale about how a development team and an operations team have to bond together and start using Azure DevOps for SQL Server related deployments.
Conference Website: https://www.2020twenty.net/lightup
#lightup #2020twenty
Show More Show Less View Video Transcript
0:00
OK, you are live. Good
0:05
OK, everybody, well welcome to today's session, Azure DevOps Duet and tell about how the
0:10
development team and an operations team have to bond together to start using
0:15
Azure DevOps for SQL deployments. Before we get started, though, we'd like to cover a few things first
0:25
If you can donate to the days of, oh, yep, if you can donate to the
0:29
event. That would be fantastic. As you've probably seen, all the proceeds go to UNICEF
0:35
for the COVID-19 Relief Fund. Also, a big thanks to all the sponsors who contributed towards today's charity event
0:48
or I should say this charity event. In addition, if you want to provide speaker or event feedback, you can scan these codes here
0:58
We will share these codes again at the end of this session
1:02
So for the next 60 minutes we'll be talking about Azure DevOps, which allows us to do the
1:10
full application management lifecycle from creating a work item all the way to its release
1:19
we'll be discussing both the cloud and on premises. A version just Azure DevOps Server as well as its features
1:32
including source control, the boards, the pipelines, artifacts and test plans. And at the end of this session, you'll have a basic understanding
1:42
of the main features of Azure DevOps and how you can use it
1:47
with SQL Server. In this session one of us is from the SQL development team and the other from the SQL
1:59
operations team. Our manager has decided that both teams will merge into one DevOps team
2:06
so we're one big happy family. In reality though, this should be a really gradual process. However, we've taken it upon
2:16
ourselves to do this in 60 minutes so we've sped up this process. In addition, our manager has
2:24
decided that the development team lead will be the Scrum Master and the operations team lead will be
2:30
the product owner. Now for those of you who don't know, a product donor is responsible for translating
2:38
business needs into workable backlog items for Scrum Sprints, which means they have to speak to
2:44
stakeholders at various levels within the business. In addition, they are ultimately responsible for
2:51
prioritizing those items even though they may get input about those priorities from various stakeholders
2:59
A scrum master role is to empower the team to do those backlog items by encouraging how they work
3:07
and removing any impediments if they occur. Now before we go any further let's introduce ourselves
3:16
Yes let's do that. So my name is Sander I'm a SQL Server DBA from the Netherlands and I work for
3:24
Waypoint ytical which is a company based in the United States who do large-scale water soil
3:30
and plant sampling. I'm a cloud and data center MVP recently renewed which is really cool. I'm a
3:39
major contributor to the DBA Tools project as well. You can follow me on Twitter. I have a blog which
3:47
I try to write as much as I can but other projects mostly coming in your way. If you have any questions
3:54
after this session please send me an email. I will try to apply as fast as I can. Just to be ahead of
4:02
the questions, all the scripts that you'll be seeing today will be available on my GitHub page
4:09
under the presentations with the name of this session. You can download them, distribute them
4:15
re-teach them, whatever you want to do with them. They're free for you to use. And now we're going to go to Kevin's bio, which is slightly more complicated than mine
4:27
Okay well thanks, my name is Kevin Chan. I'm a senior database architect living in the Netherlands
4:34
However, as some of you may be able to tell from the accent, I'm actually originally from
4:39
the southwest of the UK. However, I live in the Netherlands due to the fact my wife is Dutch
4:45
So basically, I'm an Englishman living in the Netherlands working for a French based
4:51
company because he met a woman in Australia. Whenever I say this out loud, I can understand why Sandor thinks it's complicated
5:00
Now I have over 23 years experience working in IT and over that time I've worked in various
5:06
sectors including the banking, oil and health insurance industries. In fact I supported companies that are in the top 10 of the Fortune 500 list
5:16
Now I've worked with all versions of SQL Server in one form or another and I have various
5:22
certifications including both the new and the old style MCSC and more recently I get
5:30
gained a Microsoft Certified DevOps Engineer Expert certification, which is quite relevant for this session
5:39
As you can see at the bottom of the slide, I'm also on social media. I'm on Twitter at KevChant
5:45
My LinkedIn has got a user-friendly URL of Kevin-Chant. I have my own blog and my email address is available upon request
5:55
Anyway, the first thing we'd like to discuss is whether to use Azure DevOps Cloud Service or Azure DevOps Server
6:06
Now, for those of you who aren't aware, Azure DevOps Server is the new name for TFS
6:12
However, it's now been rebranded to look and feel exactly the same as the Azure DevOps Cloud Service
6:20
Personally, I'd like to use Azure DevOps Server on-premises. so that we can handle its security better
6:28
Plus it means that we get to keep this back-end SQL Server databases on premises as well
6:35
So we can take advantage of all the additional reporting functionality that provides
6:40
which you can't use with Azure DevOps Cloud Service. However, the downside is that we'd have to build
6:48
one or more servers with Azure DevOps Server installed for business continuity and maybe some
6:54
additional SQL servers as well. Plus, we'd have to wait for new features to be released
7:02
Because of the cloud first strategy. Plus, we'd have to maintain and patch
7:08
all of the servers that we built on premises. But if you use the Azure DevOps service in the cloud
7:14
instead you won't have to worry about patch, maintain anything, because it's already maintained by Microsoft in the background
7:23
So you don have to be careful about that It easier right Plus it easier to install extensions from the marketplace That true and we can still secure it in Azure anyway
7:38
Besides, whichever one we use, we still have to consider security and compliance to keep our
7:43
auditors happy. Luckily, Azure DevOps is fairly well structured and easy to manage
7:50
so the main point we want you to take away from this section is if you want to install
7:55
as your devops server you have to patch maintain everything and if you use the cloud service
8:03
or is everything is taking care of for you so just decide what's best for your situation and pitch your company Yeah
8:16
So going back to what I was saying there about Azure DevOps being well structured
8:21
Just going to quickly flip back to the home page here. As you can see here, Azure DevOps is fairly well structured and it has its own hierarchy
8:31
At the top here you have your service for your account has access to one or more organizations
8:37
which you can see here on the left hand side in Azure DevOps
8:42
For instance, an organization can be your company or an independent Azure DevOps organization
8:50
you've created for yourself. Now each organization can have one or more projects
8:57
And each project can have one or more teams which we will cover shortly
9:04
Now if you look inside one of these projects you will look on the see on the left hand
9:08
side all the features that Sander mentioned at the start of this session
9:12
Plus, if you have the right permissions, you can change things at either the
9:19
organization or the project level within Azure DevOps. Of course, like I said
9:25
it's depending on which permissions you get given. For example, if you go into project settings
9:31
which at least one person in the your team tends to have permissions to look at
9:37
you can change various things to make your project more customized. For example, you can create your teams here for your project within Azure DevOps
9:49
And of course, if you click on one of the teams, you can add your team members
9:56
In addition to that, you can click on permissions so you can add fine grained permissions for
10:00
each of your teams as well. So for example here. Very granular permissions you can set
10:08
course it's not just about creating teams and permissions in your project settings you can do
10:14
other things as well for example within your own project you can actually create service hooks to
10:21
other applications for instance if i click on service hooks and then click on create subscription
10:28
you can see that i can actually create service hooks here into a lot of applications
10:33
If I scroll down, a couple of popular ones that people tend to use are Jenkins because
10:41
then they can connect Azure DevOps to the existing Jenkins pipelines, and also Microsoft
10:47
Teams, which is very relevant for all of us because we're using Microsoft Teams today
10:53
In fact, I've used this in the past so that whenever a new pull request is raised, it will
10:59
you can actually send a message to a specific channel within Azure DevOps
11:04
within Microsoft Teams. Trust me, it's very powerful. Now you can see here there's other
11:12
things you can do as well. For instance, you can configure agent pools
11:17
which are something that we will discuss later on in today's session
11:21
which is basically how you can have service to deal with the processing
11:26
of your deployments for you. As well as parallel jobs where you can configure exactly how many of those servers can be used for each specific pipeline deployment you want to do
11:38
Now we're talking. Remember, there are other things we can figure as well
11:43
For example, we can set the boards to use Scrum, which we will meet, which you will see later on in this session
11:51
And the main point we want you to take away from this section is how Azure DevOps is structured with all the different parts, the ports and the settings and the projects
12:07
So anyway, now we've covered the main admin stuff. Let's cover version control within Azure Repos, which is a feature from Azure DevOps
12:49
But that will only be for your development though, right? Because it sounds like version control would be complicated for the ops guys to learn
12:56
Well, actually, I think you will see that the ops team, if they start using a version control, will start to perform better
13:05
At my current company, the ops team is starting to use more and more version control and all the scripting, all the automation, everything is safe in a way
13:18
in version control. If it's not in version control, it doesn't exist
13:25
And they're actually performing better because other people can look at the code too
13:29
and make improvements which makes the performance better. Well, I'm always going for performing better, so tell me more
13:39
So like I said, Azure DevOps supports multiple version control systems. We are going to use Git because it's a distributed version control system
13:50
which is going to be better for us in our situation. OK, so what about branching strategies? Because I hear they're pretty important
14:04
Yeah, yeah, they are. So we can use various ones that we can use. For example
14:13
people may know the Git flow and the GitHub flow. Well, what's the difference between those two? Because they sound pretty similar to me
14:24
So the major difference between the two is that the Git flow, with the Git flow
14:30
we don't directly merge into master unless it's a hot fix. With the GitHub flow, there is no development branch
14:40
and there are only feature branches. So as soon as a feature branch is tested and approved
14:49
it will be merged into master right away. And as devs have been using source control for many years So if we do something like pair programming between dev and ops members we may get used to it a bit quicker
15:09
Peer programming? No, pair programming. This is literally where two people sit together and work on the same code
15:21
And I understand with nowadays with Corona thing that keeping your distance that it may be a little harder to do
15:31
But research has shown it takes a bit longer to do. However, in the end, you will have more stable code and people will learn new coding practices in a faster pace
15:47
Wouldn't that mean there's a lot of overhead infos of that practice? so you will be right and there's about a 15 overhead but that overhead is compensated with
15:59
the increase of code quality which means less bug fixes and we all know bug fixes take a lot more
16:07
time than the actual development of the code and of course there are other methods you can use like
16:13
code reviews and stuff at the end of the day. It's just experiment which method works best
16:24
for your situation. If code reviews work out fine, if pair programming works out
16:33
Yeah, let's see what works. Okay, so I got a question for you then
16:38
What is to stop somebody coding their own release and pushing it straight to the master branch
16:43
Yeah, that's going to be important, right? So in Azure DevOps, we have branching policies which we can use
16:53
One of which, what we can do is that two people have to approve any update to master
17:02
which is going to be pretty important. Yeah, actually I think I've done that before
17:11
and I'll just demonstrate that for people here because. You need to have these kind of things in place, especially if
17:18
for your main branches to be socks compliant, so I just quickly
17:22
show you now what we're talking about. So if we go into Azure
17:27
repos here and select branches. I mean, select the ellipsis at the end of the branch. You can
17:33
actually select the branch policies option here. Now there's various things you can do to make sure that your SOPS compliant. For instance
17:43
if you're dealing with financial data, one of which is to set your minimum number of
17:50
reviewers to two. So you've got the four-wide principle in place. And another good practice is to automatically include reviewers, which means that when you
18:00
go to submit a pull request. One or more individuals will get an email asking them to go and have a look
18:08
So from here you can just click the add button and as you can see I can select Sandoz so he would
18:15
automatically get an email every time I submitted a pull request. Nice and these are the main points we want you to take away from this part from Azure Repos
18:27
Azure DevOps supports multiple version control systems, both Git and TFPC. However, Git has become the factor standard nowadays
18:38
And in addition, you can secure your updates using branching policies as you've seen here
18:45
If you're not sure what to use, just start using Git. And. We all know that recently Microsoft bought GitHub, so they
18:57
really put their focus on git, which means something. And get also really hooks in nice with other tools from
19:07
Microsoft like Visual Studio and Azure Data Studio. So there's no hurdle to start using it there
19:19
OK. So we better discuss Azure Boards since I'm going to be using it to organize our backlog items
19:27
Now for those who aren't there, Azure Boards can use basic, Agile, Scrum or CMMI templates for each project that you create in Azure DevOps
19:38
By the way, in Azure DevOps, templates are usually known as a process
19:43
Because we're using Scrum, we're probably going to want to use the Scrum template
19:47
For now, Sander, we can keep it as standard, but we can customize these templates if we need to
19:57
So I will just quickly go through now. What you can expect from the basics in Azure boards
20:04
So basically you have work items which is just basically every single work object that you
20:10
have at the moment in Azure DevOps will be viewed in there. And you can also view removed items in this section as well
20:18
So it can be quite useful even if you're working with Scrum. For those of you who want to work in a Kanban or Scrumban kind of way
20:26
you can actually use the boards view instead. You can actually add additional columns to this as well
20:33
And rather more interestingly, if you really want to, you can color code all these items
20:39
Now, because we're going to be using Scrum, we're probably mostly focused on backlogs and sprint boards here
20:47
Backlogs is where you view all your existing backlog items to work on
20:53
And sprint boards will show you what you're working on in your current sprint
20:59
as far as backlog items are concerned, and your outstanding tasks, which is really useful to use as a few, especially for your daily stand-ups
21:12
OK, so how are the backlog items organized for Scrum? That's a good question
21:23
In Scrum for, well, in Azure DevOps for Scrum, I should say there's a hierarchy involved
21:32
So usually in generally at the top, you would have your epics
21:36
which would have one or more features, And then each feature would have one or more backlog items and those backlog items can have many tasks that you work on during your sprint
21:48
Now, in some larger businesses, sometimes you have themes above the epics as well, but it's not very common practice if you're working with Scrum
21:58
OK. So how do you propose we use the boards? I mean, if you just have all the backlog items
22:10
in the list, it's going to be pretty cluttered, right? You mean like this? Yeah, I know. And that's why I propose that we start giving backlog items
22:21
sensible tags that we can filter on If I scroll across here you can view them How will we know when an item is ready for a sprint then Well you can actually set the backlog items to be approved within Azure DevOps
22:40
Alternatively, we can add a tag to each item to show that it's been refined
22:46
Once obviously, of course, it's met all the criteria. After it's refined, we can potentially allocate it to a sprint
22:53
which we can view in the sprint board that I showed earlier. By the way, everybody, the standard criteria for a backlog item to be classed as refined in Scrum
23:04
is that it's clear and small enough to be part of a sprint
23:09
However, businesses can have their own criteria for when an item is refined and ready for a sprint as well
23:18
Sounds good, but hang on a minute. So I've seen we have various filters on the backlog board
23:27
but you can't show items that don't have a certain tag. How will we know what items are left to be refined
23:37
Oh, yeah, I see what you mean there. Well, we do have a couple of options here
23:45
Either we can start moving backlog items directly into future sprints once they've been refined of course that means that we have to keep remembering to move all those
23:56
items to sprints every time you set that or we can use beautiful queries to show any backlog items
24:05
that do not have the refined tag of course they're not actually called beautiful queries it's just a
24:11
nickname for them that i've given so for example if i click on the queries section
24:19
here in Azure Boards. You will see that I've already created the query earlier and I can click on
24:26
there and that will show me a backlog item which is yet to have the refined tag
24:32
I must point out here this is a very basic demo of what you can do with
24:36
these queries and you can do a lot more powerful functionality with them
24:41
For example, you can actually run under these queries if you're linking to multiple boards
24:48
boards and other projects that are using a combination of Scrum and Agile
24:53
You can run a query to view both your backlog items and user stories in different projects
25:02
By the way, before I mention it now, Sandor, a British guy living over in the Netherlands
25:09
actually did put a request in at one stage to have a knot filter added to here as well
25:15
but apparently there wasn't enough interest in that so it didn't get followed through
25:20
wow bummer i guess who don't i wonder who that was so now we're talking about sprints how do you
25:29
propose we align our kanban method to the backlog items i mean our items only last a couple days right
25:43
Well, if they only last a couple of days, it can potentially be converted to a backlog
25:49
item instead to be worked on during the sprint. Fair enough. How are we going to know what our sprint goal is though
25:59
Well, what we can do is actually download an extension from the marketplace, which will
26:06
allow us to add it. For example, I actually installed the sprint goal extension beforehand
26:12
beforehand so if you click on the sprint board here and then click on go you can see you can
26:18
actually type in your sprint goal here so it's very visible for everybody that views the sprint board
26:27
nice so i'm guessing we're still going to use uh our other applications to manage the
26:34
boards in the meantime until we get a good look at this
26:37
Well, you can still use your application and manage your boards for always. You should
26:44
get used to Azure DevOps if you really want to. However, personally, I recommend ripping the
26:49
bandaid off and doing the migration as soon as possible though to take advantage of all
26:54
the integration you get in Azure DevOps. By the way, did I mention all the ytics and
27:00
some preview features we can potentially use with Azure Boards. Calm down Kevin. We only have 60 minutes will never make it
27:11
Good point. People are just have to watch something elsewhere to see it being used more within Azure Boards. Anyway, the main
27:21
point to take away from this section is that Azure Boards is
27:24
a very powerful way to manage Scrum or agile work visually. especially if you're a product donor
27:33
OK, so let's talk about Azure Pipelines. Is this the point where we'll actually
27:39
build and deploy our deliverables? OK, so how would this work with SQL Server
27:48
So. We could look to deploy using state based or migration based deployments
27:56
Well, what's the main difference between those two? So the main difference between state-based and migration-based is that with state-based
28:05
you deploy the entire thing and check for changes, whereas migration-based will script out all the changes since the last deployment
28:16
and deploy them incrementally. Migration-based can be good. It depends on the scenario
28:26
but if there is a problem you have to deploy everything in sequence again
28:34
with and with state based you just deploy the current state of your project
28:41
and it's fairly easy to build a pipeline for sql server as i will be demonstrating
28:51
right now so i'm going to share my desktop So what I did was, because I had to do like 25 to 30 databases to get them into some kind of SSTT solution, I used the PS module development PowerShell module, which enables you to create templates for basically everything from simple files to entire directories
29:45
So I could do the same thing for my projects with my S&T solutions
29:51
And this is the entire script where I will download, where this script will download
29:59
My template from my GitHub page. It will extract it, install it
30:06
and then use it to create a solution. And the most important part is this little line
30:13
This is actually the only thing that you need if you already
30:19
have the template to generate a new SSD solution. So if I run that little script, 0
30:30
It will start momentarily. There we go
30:40
So it's going to download it, it's going to extract it, and then install it and create the solution
30:47
And we're already done. This is the solution generated just with this script
30:56
If I open that, And of course, Fisher Studio opens in another window, so I'll take a couple seconds
31:15
Yes, there we go. So, and I apologize for the resolution, but there are two projects within my solution
31:30
which is the data and the tests. And the data will contain all the objects, all the stock changes, all the tables, all
31:39
the objects needed for the database itself, and the tests will only contain unit tests
31:47
and integration tests for my database. And this way I can really generate
31:54
a lot of these projects fast because I can do imports from here
32:02
Let's see if I run my second script, so I'm going to use a little database
32:09
which does create about 10 tables and like 50 store procedures. There we go
32:22
So if I go there, there it is. And I change this to object because we don't have that many objects
32:35
I'm going to import my database. Done. Now I have my store procedures and my tables
32:44
And you can do the same thing for your databases to get you started with your putting everything
32:51
in your state-based solutions that way. And one upside to this is, which I want to show you
33:02
is that that little directory that we created also has a build
33:08
and it has a Azure pipeline. YAML file and this YAML file will automatically
33:16
be detected if you say new and create new pipeline from Azure DevOps
33:21
And you select your Azure repos from that point on, or your repo that you're going to use
33:28
It will find this file and you just have to select it
33:32
and say edit. and this YAML file has all the little things
33:42
for official studio, the build, and also test for SQL Server on 2017
33:48
and same thing for 2019. So this is all generated. This is all done for you
33:56
You don't have to build it yourself. I just had to explain a lot about the pipelines, Kevin
34:08
Uh, yeah, apart from how it looks in Azure DevOps. Oh, we can demonstrate it later on
34:18
We can show that. OK, well, in that case, what about unit test
34:25
because I know we can do that for other programming languages within Azure DevOps
34:30
Yeah, so I'm a big fan of unit tests and especially with databases
34:36
which is really underrated. And I like to use the T SQL T framework
34:42
T SQL T is an open source unit testing framework, which you have to install with your database
34:49
and you can use, build really sophisticated unit tests with that One upside though because I really really really lazy when it comes to repetitive tasks I created a PowerShell module called the PS PowerShell T Test Generator
35:11
The PS T-SQLT Test Generator. And that actually takes your current state of your database
35:19
and then creates all the basic unit tests like if my table there is my
35:25
short procedure there does my function have the correct parameters for the
35:30
correct data types the same for the tables etc and if I run that so if I
35:39
write the script it will pull that database see okay I've got
35:48
I've got my database, let's do some object existence tests and it's going to generate it and push that directly into the directory of my SSDT solution because I selected it that way
36:06
And this takes like a minute or two, it generates over 120 tests
36:13
I want to emphasize you only do this once because as soon as you if you do this every
36:20
time your tests are always going to be successful because it takes the current state of your database
36:26
Very cool. View cards, we don't have any views. So if we then go back to the project and say add
36:37
And go to test basic. We have all our basic unit tests and stuff that it tests is my collation correct
36:55
Let me increase this a bit. So is my collation correct? Is my store procedure there
37:06
Does my table have the correct columns, etc., etc., etc. It all generates it for you
37:15
So you have a basic unit testing already there for you, and you can just go ahead and start your pipeline. So
37:33
Another good thing we can do is we can link our pipeline
37:39
activities to our work items. In fact, one of the advantages of Azure DevOps is that it's so
37:48
integrated we can link our repo updates to work items as well
37:53
Plus the test cases. OK, well, I've seen we can use either GUI tasks or YAML for pipelines
38:02
Which one should be used? Because I've not seen any of the pipeline set either
38:07
So, well, the GUI is good for exploring the pipelines, but YAML is easier to do
38:16
So actually, it's not that difficult. As soon as you have your Azure pipeline YAML file already there
38:25
it's also going to be in source code in your in your repo and you can just go to the marketplace
38:33
and add other sections and it will transform that little part that you want to insert into
38:40
the yaml and insert it where at that point the cursor is in your yaml file for the pipeline
38:49
and of course we can use sql deployments you can call powershell for your yaml to handle deployments if you're dealing with a large number
39:01
of servers yeah you can do that yes we can so what we'll have to do is to let powershell output
39:14
the XML format in a J unit format to get the test results and then allow Azure DevOps to use that
39:23
XML and the task which publish the test results to view the results visually. And of course we
39:30
can put other mechanisms in place for that as well. Awesome so I'm just going to take control of the
39:52
Is it sharing the right screen now Nope No your video is sharing but not just yeah no it sharing this Yeah thank you for that
40:05
So I was just looking at the pipeline that you just created from running
40:09
your PowerShell code there. And then I did notice that we see
40:14
all the tasks that you can add as well. Additionally to your pipeline
40:18
on the right hand side here. Are we limited to only those
40:24
No, no, no, there are a bunch of others you can import from the marketplace
40:33
Of course, we are an enterprise company and we may have to request the admin to install those for us
40:46
I didn't realize that was a thing. Oh yeah. But it does mean we can get help with those security
40:55
compliancy issues you were talking about earlier with the repositories. Okay, well as I mentioned earlier I've seen we can use Microsoft hosted agents
41:12
even within our own network on-premises, which is service like Microsoft hosted in Azure to do a
41:18
a lot of the processing of the build and release tasks basically your deployment pipelines
41:23
like building the various artifacts which sanders showed just now and deploying them
41:28
um however it looks like because of our infrastructure we'd have a lot of issues
41:36
internally because we're going to have to raise a lot of firewall requests just to have these
41:41
hosted agents connected into our service to do all these deployments. So maybe we're better off
41:49
building our own agents internally. Yeah, maybe. But remember, a lot of us are developers and we
41:59
don't want to build our own servers. Plus we have to figure out exactly what software we need to get
42:05
installed on the agent to maintain them, right? Oh, that's cool. So for the benefit of everybody else
42:15
is seeing it here, Microsoft actually provides a guide on how to create images with the various agents in GitHub
42:25
I understand that the title may be a bit confusing for some of you
42:29
It used to be just the repo to deploy Azure DevOps agents
42:33
However, because like Sando talked about earlier, Microsoft are now putting a lot of development into GitHub as well
42:40
They are using the same image for Azure DevOps agents and agents that you can use with GitHub Actions now
42:50
And in fact, if I right click on one of these as well, you can actually view all the software that will be installed if you follow one of these guides
43:00
Oh. So well, if we're going to do that, we might have run the agent through
43:09
the command line instead of a service, right? How come? Everybody knows that running something
43:19
for the command line gives you more results. I do that all the time
43:25
Well, OK, I actually did test it earlier, So let's see the results in the next slide
43:35
Oh, are you ready? Yeah. And the old. Nothing. Only one line
43:46
Yeah, so you don't actually get any for both results. So up to the next part, let's go to test plans
43:58
Hmm, pretty rush for you there. Yeah, so of course we can do test plans once we've done the initial build and release before
44:08
release elsewhere. And don't know you all have to be automated though because that would take a lot of effort
44:16
for some items. Not necessarily, test plans can have manual steps as well
44:21
So however our trial period has expired, so you would have to imagine it from this part right now
44:32
Yeah, so basically if you want to use test plans all the time in Azure DevOps
44:39
you need a slightly different license called Basic Plus Test Plans. You can, if you have your own organisation, sign up for a 30-day trial
44:51
has expired and we haven renewed the new license so yeah If I will quickly show you where they are here so for test plans you would just have to imagine that you can create your test plans here but like sander was just
45:10
saying you can have a lot of manual steps with this as well yep so we better discuss artifacts
45:19
which is where we share various things like Nougat packages with other people
45:26
For example, you can create a Nougat package and share it on the Azure artifacts for others to use
45:34
Yeah, but it's a bit strange because when I first went to do it earlier
45:40
I couldn't see, wasn't able to do it with the organization I created with my Free Fish
45:47
well for free my official studio subscription yeah it's and i know what it is it's probably because
45:54
you have to set them up in your official studio subscription benefits page ah okay um on that note
46:05
by the way just a reminder for all of you out there now if you have official studio subscription
46:10
you are able to have your own Azure DevOps organization to test things on
46:17
And you can also do it as well outside of having official studio subscription, but you get a few extra
46:24
bits on letter belief if you have official studio subscription in place
46:29
OK, but just in case you want to test things without the
46:34
fear of breaking anything in your company's Azure DevOps organization. Don't test those kind of things in the official things in the official parts
46:45
Please don't do that. Yeah, I mean to be honest there are other features I'm looking forward to the team using as well
46:57
in Azure DevOps. I mean for instance on the various dashboards that we could configure
47:04
So if you're doing things like a daily stand up before scrum master, these dashboards are for yourself
47:11
Some of this dashboard is going to be really good because you can use a sprint go extension
47:16
we mentioned earlier to put a ridge in place so you can remind everybody to start the daily stand up
47:21
What the sprint girl is? You can also see some stats to do with your releases, your sprint
47:27
burn down depending on. So you can see the sprint burn down go down every day when your team's
47:34
closed off various tasks or they've reduced the errors on them etc etc don't forget the wiki
47:43
that's true you can use the wiki as well to put in information for your team to use on how to do
47:50
various things standards you've agreed on etc also there is the new ytics fuse feature well it's
47:59
I say it's new but it's currently in preview and the last time I looked you're actually
48:06
after in preview for your own organization and basically all the metrics that you see here from
48:12
Azure boards you can actually use output to a Power BI dashboards trust me I've actually used
48:19
this myself to replicate a sprint review report and it is really good I find it quite useful so
48:27
So it's worth experimenting with. So. Where shall we begin
48:39
Well, I suggest that we start by getting both of our teams together and explain to them
48:45
what we're trying to achieve to get them to buy into it
48:49
And take it from there. OK, so. That's the end of our session
49:00
Are there any questions? Hi Kevin, hi Sandra. This is Pooja Lachpal and I cannot
49:11
see any questions right now. I think it's really a great session
49:16
Nobody has any doubt and we really learned a lot. So. These are the feedback codes we promised to show again
49:28
If there are no questions, all that's left to say is hope you enjoyed the session and
49:41
hope you enjoyed the rest of this event. Yeah, and thank you very much for having us again
#Distributed & Cloud Computing


