Speaker:

What proven practices are there for managing your Power Platform

Speaker:

or Dynamics 3 65 product backlog in Azure DevOps? How

Speaker:

much detail should your user stories contain, and how do

Speaker:

you ensure that what you're doing enhances your user's experience?

Speaker:

If you use an agile approach like Scrum to build Power Platform or

Speaker:

Dynamics 3 65 applications, you won't wanna miss

Speaker:

The insights that Danica Hill shares in this episode of

Speaker:

Amazing Apps, the podcast for Dynamics 3 65 and Power Platform

Speaker:

professionals that wanna build amazing Agile business apps. I'm

Speaker:

your host, Neil Benson. I'm a Microsoft MVP,

Speaker:

and I've coached and trained Thousands of business apps

Speaker:

builders to use scrum since I first used it myself in

Speaker:

2008, and I'm on a mission to help you use

Speaker:

agile practices to build amazing business apps for your

Speaker:

users as well. This is episode 152. If you're

Speaker:

listening to the audio podcast, you'll find show notes with links to resources

Speaker:

and a transcript at amazingapps.show/one52.

Speaker:

And if you're watching on YouTube, You'll find them in the description, down

Speaker:

below. Here's Danny Cahill. Danny, welcome

Speaker:

back to Amazing Applications. I was just looking to see how many times

Speaker:

you'd been on this show before, and I thought it was 2,

Speaker:

3, maybe 4. It's actually 6th. This is your 6th appearance. Welcome back, my

Speaker:

friend. Thank you. Yeah. That's my favorite show.

Speaker:

Right? It's everybody's favorite show, Danny.

Speaker:

Absolutely. Yeah. Yeah. Thank you. Yeah. Yeah. Absolutely. And it's always a

Speaker:

pleasure to, you know, discuss with you and bounce ideas,

Speaker:

and And you have been actually well, that's why I'm 6 times, right, because you

Speaker:

have been kind enough to kind of host some of my

Speaker:

conversation with other guests. Right. Yeah. Absolutely. So that counts too.

Speaker:

I noticed you've been doing a lot of work with Hamish recently. So if you

Speaker:

and Hamish wanna do a takeover episode, you're more than welcome. We'd love to to

Speaker:

have you. But today, we're gonna focus on managing

Speaker:

the product backlog, which is something a lot of teams struggle with. A lot of

Speaker:

teams could do very, very differently From 1 organization to the next, what do

Speaker:

you think the biggest challenge is that business apps teams have managing their

Speaker:

product backlogs? What have you seen out there in the wild in your experience? Yeah.

Speaker:

So the number 1 challenge, really, what I what I see, Radey, is kind of

Speaker:

structuring almost what is the best or what is the the right

Speaker:

structure for The the project that you are in. And there is no

Speaker:

I found that there there are tapes or there is way you can structure

Speaker:

your backlog, but Every project will be different, and every project will have

Speaker:

to kind of adapt slightly to how the

Speaker:

client works, where they are in the journey on managing for the

Speaker:

backlogs and so forth. Right? So it's always a bit of a tweaking. I

Speaker:

found myself, Like, how I use to structure the the

Speaker:

backlog and in my head as well, and how I would recommend my clients to

Speaker:

do if they don't know it, they just want our recommendations is I

Speaker:

always try to follow a bit of a high level process. Right? So

Speaker:

even if you have your kind of story map, I do I don't do

Speaker:

often, Like, real story mapping, but I cannot follow the

Speaker:

same process where I decompose the high level phases

Speaker:

Yeah. Of a of a user, of a client

Speaker:

throughout the journey. Right? And those will be my big building

Speaker:

blocks. It's easy for me to understand, And then I go

Speaker:

to the level of so that would be my epics, and then I have my

Speaker:

features, and then I go down to the level. But that's how I structure it,

Speaker:

But it's a bit of a challenge I see, and if there is an

Speaker:

existing backlog already, like everyone is doing it differently, like

Speaker:

sometimes by apps, by technology Yep.

Speaker:

By and, you know, it sometimes it makes sense. Right? And I was not there

Speaker:

at the beginning with the person. I cannot really judge. But if I would start

Speaker:

from from scratch, I would strive to structure it that way. I'm not really

Speaker:

fine. Responded directly to your question and maybe responded way more. But yep. Okay.

Speaker:

So let let's let's tackle some of those ideas 1 by 1. Imagine

Speaker:

Mhmm. You're in a greenfield scenario, so there's no backlog management

Speaker:

tool there Mhmm. Today. First of all, Who

Speaker:

do you think should manage the backlog? Do you, as a expert in

Speaker:

managing requirements, do you take that responsibility on? Or do you like

Speaker:

your product owner? Who's typically, you know, somebody from the customer side? Do

Speaker:

you coach them in how to get to grips with, you

Speaker:

know, Jira, Azure DevOps or some other tool. Who do you think should do

Speaker:

most of the work? Yeah. Oh,

Speaker:

look. Very early. I I would start if I can start

Speaker:

from from an ideal project. Right? Very early on, you

Speaker:

wanna you wanna coach your product owner and make him

Speaker:

responsible that they are the owner of the product backlog. Like, this

Speaker:

there is no there is no question about that. Right? They need to

Speaker:

know that they own the product backlog and what is in there.

Speaker:

What it means owning? They're making decision on prioritization,

Speaker:

They make decision on namings and how we

Speaker:

want to structure this. The challenge we often have is A lot

Speaker:

of them don't have a clue on how to do that.

Speaker:

They know their business pretty well, right? They know the business, They're

Speaker:

pretty, you know, high stake, but I hire in the in the

Speaker:

management layer and everything, but they have never done

Speaker:

of have never done product ownership, They don't know exactly what is a

Speaker:

product backlog. How do we who how do I even name that thing? So we

Speaker:

it's a bit of a guidance where most of the time Look. Ideal

Speaker:

scenario, the product owners have done that in the past. They know the product their

Speaker:

product backlog. We can just guide them maybe on restructuring a bit,

Speaker:

What makes sense to do before another epic because, otherwise, it

Speaker:

does it breaks the system or something. That's ideal. But most of the time,

Speaker:

they are they are new. And then in this case, we would

Speaker:

often come up with a a structure of the product

Speaker:

backlog based on the language and that High level

Speaker:

journey that we have discussed. So we have those workshops maybe with, you know, with

Speaker:

the client and stakeholders. We map those high level,

Speaker:

steps in the journey, which then leads to

Speaker:

epics. And we do that together in consultation with the client, and we

Speaker:

would most of the time, One of us or myself, I would

Speaker:

create the epics because they don't know the tool. So it's almost like a

Speaker:

guidance throughout the beginning, But throughout the 1st few

Speaker:

weeks, 1st few months, that is slowly transitioning.

Speaker:

Right? Yeah. They start, taking over DevOps, and

Speaker:

then we Tag them in in in user stories. We tag them in

Speaker:

features. We tag the metrics. And then gradually,

Speaker:

Ideal scenario is that you have a very senior BA or even the product

Speaker:

owner going in, and then we'll Groom the

Speaker:

product backlog. We change split the epics into epics or

Speaker:

kind of group some features together or, You know,

Speaker:

cancel them completely or rename them. Right? But that is kind of a

Speaker:

bit of a journey that I've seen, but Yeah.

Speaker:

That is kind of an ideal scenario I would I would see. Yeah. I I've

Speaker:

my my experience mirrors yours exactly, Danny. So I'm working with

Speaker:

1st time product owners, people who understand their business very well. They're in operations. They're

Speaker:

in sales. They're marketing. They're some kind of leadership position. They know the business

Speaker:

processes. They know existing systems. They know the business challenges they wanna try and solve

Speaker:

and the outcomes they're looking for. They don't know how to use Azure DevOps. They

Speaker:

don't know an epic from a feature. And so we drive the tool

Speaker:

at the beginning, with their blessing and their oversight. And then gradually,

Speaker:

they get more hands on with it. I still quite often have one of the

Speaker:

developers who's got a background as a business analyst, still doing most of the day

Speaker:

to day work in Azure DevOps. Yeah. The accountability for what's in

Speaker:

scope, what's next, what's high priority, what's not is always with the

Speaker:

customer's product owner. So my experience is very similar to yours.

Speaker:

Yeah. Yeah. Yeah. Absolutely. Yeah. Glad to hear. Yeah. If,

Speaker:

if you have a choice of which backlog management tool to use,

Speaker:

Jira is very popular here in Australia. As you as you know, Atlassian is a

Speaker:

big Australian tech company. Microsoft Azure DevOps is

Speaker:

very popular, of course, amongst the Microsoft community, And there are there are dozens or

Speaker:

hundreds of others. Do you have a preference if given

Speaker:

the choice? I have a strong preference for DevOps. Yeah. Good. And

Speaker:

Good. It's a it's a preference. I've used it for many

Speaker:

years. I just use very, I think

Speaker:

a few years ago, I used Jira on another project, but that's it. Like,

Speaker:

I think it's a personal preference in term of just a project that

Speaker:

was involved with is plan ahead DevOps

Speaker:

already, or they let us make the choice and we went with DevOps? So very

Speaker:

strong preference for DevOps. Yeah. Yeah. What about yourself? Yeah. I I

Speaker:

mostly, I've been using Jira for the past few years, but when we get a

Speaker:

chance, we'll use Azure DevOps. And I don't know what it is about

Speaker:

Jira, but it's quite often just badly configured or it's It's an

Speaker:

enterprise tool that's being configured for lots of different teams. And then I can

Speaker:

say, hey. Look. I wanna run a scrum team following these principles and these

Speaker:

practices. Jira hasn't been configured for that kind of approach.

Speaker:

And Yeah. So it's just there's there's just some weird things like

Speaker:

You have to finish the sprint, and then you have to manually

Speaker:

start the next sprint. Like, one sprint should follow another naturally. I don't know. There's

Speaker:

Yeah. Just some things I don't like about Jira. Yeah. Right. Okay. But it's very

Speaker:

popular. Azure DevOps just seems to be a bit more natural. And, of

Speaker:

course, it's where most of my developers do, You know, pipelines

Speaker:

and source control, everything's been driven from there. I

Speaker:

haven't seen I haven't seen many of my teams use

Speaker:

GitHub. And I know that that is you know, there's a lot of overlap these

Speaker:

days between GitHub and Azure DevOps from a technical perspective.

Speaker:

I'd say DevOps is still stronger from a boards and backlog perspective.

Speaker:

I haven't seen I haven't seen anybody drive us towards using GitHub.

Speaker:

Yep. Yep. That makes sense. You you talked a little bit about the

Speaker:

hierarchy of Items that are in a backlog. Are you

Speaker:

always using user stories, and is that the smallest, you know,

Speaker:

type of item in your backlog? How do you How do you structure the hierarchy

Speaker:

of items? Yeah. It really, again, depends the size of the of the whole

Speaker:

project. Right? If it's very simple, Maybe we have features and

Speaker:

user stories. Right? And that's it. If it's a bit bigger, you go

Speaker:

to the level of epics. If it's quite large, I would sometimes so

Speaker:

I I had a project where I created something above epics because I had I

Speaker:

needed, like, 5 levels almost to structure. It's just from a structuring

Speaker:

perspective, right, where, it could have been

Speaker:

different projects too. Right? So it's kind of, you know, but basically yeah.

Speaker:

Usually, epics feature user stories And then

Speaker:

sometimes, and I have been introduced again to the concept of

Speaker:

task by a product owner on on one of for one of my client, and

Speaker:

it start It starts to yeah. And it's

Speaker:

it helps sometimes where you have a user story and it's

Speaker:

more a few guys need to do something specific, then we can

Speaker:

create task for us. And it's almost like reminders

Speaker:

to kind of you know, I need to Investigate this

Speaker:

for that specific feature or I need to do a bit of design for

Speaker:

that. This is how I would use task. It's not linked to so we

Speaker:

don't really track tasks in, you know, in boards as well

Speaker:

because I think you can track them as well in boards. Yes. I we used

Speaker:

to do that in the past a years ago with another product owner, but that's

Speaker:

not what I'm I'm talking about. It's more task where you can just manage

Speaker:

your own workload within and everybody sees where you are.

Speaker:

So it's used pretty loosely, to be fair. But,

Speaker:

yeah, those are my 3 levels. Just on on the task thing,

Speaker:

Yeah. When teams are using tasks and they've got a Kanban

Speaker:

board style, visualization for tracking their

Speaker:

work, The user story or the the product backlog item would remain

Speaker:

on the left hand side, and the tasks would move through the columns until they're

Speaker:

all done. Whereas if you don't wanna use tasks,

Speaker:

generally, the whole story or the whole product backlog item moves

Speaker:

through the columns towards done.

Speaker:

Sounds like you're occasionally using tasks where that's helpful, but you're

Speaker:

still you're not, you know, tracking the progress of individual tasks across the

Speaker:

board. Working at a product backlog item level? Yeah. We

Speaker:

we're really using user story as you mentioned, and we move user stories

Speaker:

from one phase another. You know, analysis dev. We can talk about that a bit

Speaker:

later. The task you can even see them on the board. Right? In DevOps, you

Speaker:

can see, Like a little number

Speaker:

and and indication how many task are open underneath just as an

Speaker:

indication. It doesn't force anything. It's just there and as an indication,

Speaker:

it's used loosely. We haven't really structured it, so

Speaker:

that helps on it's that 1 project where I I'm using task. Otherwise,

Speaker:

No. Okay. So for those of you not, not watching the YouTube

Speaker:

version of this, discussion, I I kinda threw my head into my hands

Speaker:

when Danny talks about tasks because there there are a couple of anti patterns I've

Speaker:

seen, and and Danny doesn't sound like he's falling into these anti

Speaker:

patterns. But I used to see teams With a product backlog item,

Speaker:

and then they they would create tasks underneath or subtasks, sometimes they're called.

Speaker:

And those subtasks would look like analysis, design,

Speaker:

development, testing, deployment. And so it's a series of waterfall

Speaker:

steps for each product backlog item. And so we

Speaker:

just had a 100 tasks all called analysis and a 100. Yeah. Just

Speaker:

Very repetitive, not very helpful. But, if you don't

Speaker:

use tasks like that and you do use them occasionally as really important stuff that

Speaker:

needs to get done, needs to get tracked, And the other people might be interested

Speaker:

in, then I think that's a very fair, fair use of some tasks. So,

Speaker:

I applaud you, Danny, in in, you know, figuring out what works for your team

Speaker:

because that's what it's all about. Right? Yeah. Yeah. Absolutely. Yeah. I'll be

Speaker:

keen to to understand as well how you, yeah, How you manage your

Speaker:

analysis task in user story or your analysis activities and user

Speaker:

story, but we can Yeah. We can, yeah, Talk about

Speaker:

that in a sec. Well, let's let's go to the next because that's that's where

Speaker:

that's where user stories start. Right? We Yeah.

Speaker:

I would typically have, similar to you, at the outset of

Speaker:

the project, a series of epics, maybe 12, 15, or 20

Speaker:

epics, You know, from small and mid sized project, and that

Speaker:

defines the scope of the project. Mhmm. And then we we start to refine

Speaker:

those epics, which is the most important epic. Oh, it's Contact management. Contact management's

Speaker:

always a good one because it's kind of the foundation for a lot of the

Speaker:

other features that are gonna come later. So we start with contacts. We'll

Speaker:

refine that epic down into creating a contact, updating a

Speaker:

contact, duplicate detection and emerging contacts,

Speaker:

importing contacts, and so on. And so we're splitting. That's the 1st shot.

Speaker:

Split the epic down Yep. Into something smaller, maybe a feature, maybe

Speaker:

a user story. And then we start to enrich that

Speaker:

Product backlog item with a decent user story title

Speaker:

or description, and then some acceptance criteria and and the estimates

Speaker:

get, created and and off we go. Is that similar or completely

Speaker:

different to your process? So

Speaker:

most of the tasks that we could define, I guess, From a feature perspective and

Speaker:

in breaking them down when we have our workshop or grooming

Speaker:

session, and then we decompose them in those user

Speaker:

stories. But I've So I would follow the same in in most

Speaker:

scenarios. Now where I'm finding some challenges,

Speaker:

and maybe your your input might help me here, is Sometimes

Speaker:

a task might require a decent amount of analysis

Speaker:

sorry, the user story might require this amount of analysis. And we

Speaker:

kind of it's because we we we thought about as a user story

Speaker:

when we discussed that feature, and then we we now it's time to implement

Speaker:

that feature, and then we that that user story, and we realize it's

Speaker:

actually a lot of analysis. I I need to talk to integration team. I need

Speaker:

to talk to this, And then we need to figure out how we got so

Speaker:

it's a lot of kind of analysis. And then, basically, that

Speaker:

user story, which is big,

Speaker:

then it's becoming this is where sometimes I don't know I don't

Speaker:

have a process in my head what best to follow where I would then

Speaker:

say, okay. That is my analysis user story,

Speaker:

and I will I will spend some time I will spend some time

Speaker:

Or doing the sprint analyzing and kind of making

Speaker:

a bit of a design and then decomposing that in maybe other

Speaker:

user stories. Sure. This is

Speaker:

typically what I would follow because then it's assigned to me. It is always assigned

Speaker:

to one of my team member for the the print, and it fits

Speaker:

within the sprint, and we can finish it within the sprint. But I'm

Speaker:

not sure if that's the best way. I feel there is better way to to

Speaker:

do it. What What would you recommend? I think my my

Speaker:

approach is probably fairly similar, and it's not the same approach. Like you said, it's

Speaker:

not the same approach every time. Different customers Yeah. Want us to work slightly

Speaker:

differently. Generally, there'll be a developer in the, in

Speaker:

the team. Who's got a business analysis background. That developer

Speaker:

is working closely with a product owner and the subject matter experts, and they

Speaker:

have a, an epic broken down into features or user stories,

Speaker:

And they have a status that says either in analysis

Speaker:

or not ready. Quite often, we just call it not ready. And that's

Speaker:

where a Product backlog item is being enhanced

Speaker:

with better descriptions or, maybe a wireframe of how

Speaker:

the user interface might look or some sample data Or, you know, whatever it

Speaker:

is that that the an analyst needs to gather. Like you said,

Speaker:

integration requirements. And and so once it's We'll see. Analyst

Speaker:

feels it's ready. They'll bring it up in the next

Speaker:

product backlog refinement meeting. We used to call it grooming, but the

Speaker:

the scrum guide updated that language a couple years ago. So now we call it

Speaker:

refinement. Sometimes we call it elaboration. And that's where the developers roll

Speaker:

there with the analyst and the prop owner and saying, okay. This one's we think

Speaker:

it's ready. Okay. Well, let's take a look at it. So the developers will

Speaker:

discuss it, ask some questions, try and Dive a little bit

Speaker:

deeper to this. Once they feel it is ready, then they'll estimate it, and

Speaker:

that's where we hope the estimate's pretty low. 1, 2, 3, 5

Speaker:

points. Anything bigger than that, and it's still a feature. It

Speaker:

probably needs to get split again. So we try and, you know,

Speaker:

figure out what what kind of size it is. And once everybody's happy, all

Speaker:

the developers are comfortable. They know enough about it to estimate it. Doesn't have to

Speaker:

be 100% perfect. You might not have every answer to every question to

Speaker:

that stage, but we know enough to estimate it. Yep. And it's ready to take

Speaker:

into a sprint. So we update the status. And When

Speaker:

we're doing sprint planning, we can look at all the product backlog items that are

Speaker:

in that ready status, and we can consider bringing those into into the sprint

Speaker:

backlog. Something similar, I think. Yeah. Yeah. Something

Speaker:

similar. I think is that true yeah. Yeah. Okay. And

Speaker:

you don't estimate the analysis time. You don't estimate? No. Because this

Speaker:

is what sometimes we do here I mean, I'm doing

Speaker:

is okay. For the sprint, because maybe it's a big

Speaker:

analysis task. Right? A lot of it's for the screen. We

Speaker:

kind of put a u some user stories against

Speaker:

the analysis. Sorry. We put the story points against

Speaker:

the analysis time, which helps us a bit

Speaker:

estimating the capacity for Okay.

Speaker:

That's that's where so this is where I have my user story

Speaker:

with a lot of details in there, but I still need

Speaker:

to do quite some analysis. Is not ready for dev, then we would kind

Speaker:

of consider this as the analysis user story, put some story points

Speaker:

so that we can kind of, You know, estimate the capacity, and then

Speaker:

from there, we would probably create additional user stories. I don't know

Speaker:

if that's the best way to do it. But Yeah. I I

Speaker:

I encourage my teams only to estimate the work that's gonna

Speaker:

generate a product that the product owner has asked for. So,

Speaker:

Yep. Typically, it's it's some working software. Right? I want I need this this button

Speaker:

or this feature or this workflow, whatever it is. Or it could be, I need

Speaker:

this document. I need to use a guide or I need a, yeah, as

Speaker:

is system description, you know, whatever the, the artifact is.

Speaker:

So we estimate all of that work There then there's work that the dev

Speaker:

team needs to do to get things done. Right? I need to stand up a

Speaker:

new environment. I need to do some analysis on a user story. I need to,

Speaker:

spend some time upskilling Danny. He's gonna I'm gonna train him in

Speaker:

all the data migration, jobs that we've got running. Yeah.

Speaker:

That work, we don't estimate because it doesn't drive

Speaker:

functionality for the end users. It's not something they care about. And so,

Speaker:

yeah, if we have to do a lot of that work, the team will just

Speaker:

say, Hey, look, we normally get, you know, 50 story points per sprint

Speaker:

done, but we've got all these chores to do. Gonna reduce our

Speaker:

capacity to 40 because we have more chores than usual. There's always

Speaker:

Yeah. There's always, work the team needs to do that the product

Speaker:

might not necessarily consider valuable, and so we we call those chores,

Speaker:

and everything else is a is a story. Yeah. Okay.

Speaker:

Cool. Yeah. So it's, sounds pretty similar.

Speaker:

Tell me about the type of acceptance criteria that you're writing

Speaker:

On a product backlog, I'm gonna use your story. Yeah.

Speaker:

So look, I wouldn't draw I mean, I would encourage

Speaker:

BA to help me write or write the the acceptance criteria

Speaker:

most of the time. But then

Speaker:

because I would prefer them to be written from kind of a business lens more,

Speaker:

you know, so and and I strive to follow the

Speaker:

best I can, some some exam

Speaker:

I mean, a consistent way of writing those acceptance criteria that I've learned from

Speaker:

other good BAs before I've worked. Right? So I'm not Claiming it's mine,

Speaker:

but, you know, kind of giving the scenarios, like, even that

Speaker:

scenarios, if this happened then and it kind of And

Speaker:

it's kind of a nice way if I have a few scenarios even as a

Speaker:

as a dev or an architect when I go through this. It's kind of

Speaker:

Making me empathize with the scenario I need to think about

Speaker:

when I'm designing the system. It helps me even kind of writing

Speaker:

scenarios later. And even if I'm doing my own unit testing, it tells me go

Speaker:

through this. Am I meeting the acceptance criteria? So this is what I

Speaker:

would strongly recommend doing, And I would

Speaker:

have to write them. Sometimes I'm I'm writing them because, well, for whatever reason, I'm

Speaker:

the only one on the project or The b there isn't a really a a

Speaker:

real BA on the project helping me, but, otherwise, I would strongly recommend

Speaker:

the business or the BA to really write them that way.

Speaker:

Yep. Makes sense. Are you reading the same? Yeah. Same. So we

Speaker:

call it behavior driven development, BDD, given, when, then,

Speaker:

And we we use that that structure, and that's how we write the

Speaker:

acceptance, acceptance criteria.

Speaker:

Our testers can really easily turn those into test cases.

Speaker:

What we find though, is, You know, as you begin to

Speaker:

enrich your user story with those acceptance criteria, if you

Speaker:

uncover quite a lot of them, that could really

Speaker:

Highlight that this story is way more complicated than we initially thought. Yeah. We might

Speaker:

need to revise the estimate. Normally, we've done all the acceptance criteria before

Speaker:

estimation. But if you see a a user's degree with

Speaker:

2 or 3 acceptance criteria, well, that's okay. If you see 1 with 7 or

Speaker:

8, 10 acceptance criteria, like, oh, wow. You know, I need to create a contact.

Speaker:

If the contact is this type or that type or the other type or if

Speaker:

it's Tuesday or if it if it's every other Thursday or if the weather is

Speaker:

wet, you know, all these Strange scenarios that come up

Speaker:

whenever you wanna just create a contact. That shows you you might need to split

Speaker:

your user story. So really really good way of, iterating

Speaker:

to get to the, you know, this this is ready.

Speaker:

Yep. Yep. Yep. Yep. Yep. Absolutely. Do you document anything? So that's

Speaker:

maybe another question I'll have for you. So where would

Speaker:

you document some of your design ideas? Do you document them

Speaker:

In the user story somewhere or in separate documents and you link it

Speaker:

or somewhere else completely, where do you have that? We try and keep

Speaker:

it Really lightweight. So quite often, it'll just be a comment

Speaker:

in Azure DevOps. So Yeah. When we're when we're estimating, the

Speaker:

developers will say, well, we're estimating this on the basis that We think,

Speaker:

we can solve this with a custom table, 2 flows

Speaker:

and, a form. Right? And

Speaker:

so it that's the that's the kind of design idea.

Speaker:

Yep. That's good enough for estimating. Then

Speaker:

once the sprint starts, we

Speaker:

have normally 3 people, working in a team on a user

Speaker:

story, at least 3 people. There's the analyst who's maybe done the refinement who knows

Speaker:

it best. That could be the product owner. It could be a subject matter expert

Speaker:

or one of the developers who's a business analyst. Plus

Speaker:

The developer who's gonna build most of the functionality, and

Speaker:

it might be a couple because it might be a professional developer and a maker.

Speaker:

Yep. So there might be a couple of developer developers. And then

Speaker:

we have another developer, because in scrum, everybody's a developer. But

Speaker:

this is a, a tester. Right? Somebody with a professional

Speaker:

qual quality assurance background, and they are gonna test it. So the we call

Speaker:

it the 3 amigos, and they have a quick meeting,

Speaker:

when they're ready to pick up this product backlog or sprint backlog

Speaker:

item, and they say, right, have we confirmed we got everything? We still think it's

Speaker:

ready. That design, it still looks appropriate. Yes. Have we learned anything new? No. It's

Speaker:

all good. Let's let's get started. And then they come up with a little plan

Speaker:

that says, alright. It's Tuesday. The sprint ends,

Speaker:

at 2 weeks from today. So I'm going to try and have it built.

Speaker:

I'm gonna do a quick demo with a product owner on Friday, then it's gonna

Speaker:

be ready for testing. When do you think that, how long are you gonna be

Speaker:

take to test all that? I can get the test done on Monday evening. Okay.

Speaker:

What's gonna be done By Tuesday, halfway through the sprint. Great.

Speaker:

And so, yeah, the the 3 of them in those 3 amigos session, well, just

Speaker:

a good a good sanity check everybody's ready to start work. Yeah. Off

Speaker:

we go. Yeah. Yeah. Yeah. Yeah. Yeah. Cool. Yep. Perfect. Thank you for

Speaker:

that. Yeah. Are you are you doing it differently whenever Whenever you're ready to go

Speaker:

and start work on it or or capturing your design ideas, how much design are

Speaker:

you doing up front? No. It's it's very, actually, very similar, I

Speaker:

think, to what to what you do, I think, in your team is just some

Speaker:

high level concepts. Right? So, basically, I would if I

Speaker:

have Access to making changes to DevOps or ask the client to make

Speaker:

changes to DevOps. I would recommend I myself try to have

Speaker:

an additional box with design ideas in there

Speaker:

Where instead of having and and then having them probably to the

Speaker:

same level as as you at the beginning is, what

Speaker:

Kind of automation or workflow do you wanna use? Flow, this,

Speaker:

that. What kind of tables do we thinking? Just because when we

Speaker:

discussing, we have some ideas. We We just want to capture them so that it's

Speaker:

not forgotten when we start working on this. Right? So we capture them then,

Speaker:

and then as we go through The user

Speaker:

story, if I would work on the user story, I would

Speaker:

often have maybe a small diagram Next

Speaker:

to it or a small presentation or as an empty

Speaker:

diagram or whatever, then I would document. I will store them as

Speaker:

attach not in the box. Don't know that that at the touchpoint in DevOps

Speaker:

in a specific SharePoint location that we have linked to Azure

Speaker:

DevOps, and then we link Document will link URL,

Speaker:

so we point to those URLs. So, basically, I would say, you

Speaker:

know, design ideas would be this, this, that table, and then that

Speaker:

portal to me and this and that, and then entity diagram, and

Speaker:

then no hyperlink to Perfect. An entity

Speaker:

diagram or or a conceptual diagram or something. Right? And

Speaker:

this is stored then in a linked SharePoint folder to that users

Speaker:

to that user story effectively in that case. So this is basically how,

Speaker:

you and then that folder in SharePoint, I'm actually

Speaker:

working with another with another client where they have a bit

Speaker:

more structure in those folders as well. So for example, if,

Speaker:

documentation is stored there as well. So for you a user story feed, a

Speaker:

documentation is required. We would store that documentation there with a specific

Speaker:

subfolder of that folder of that DevOps

Speaker:

item. Yeah. Good. Okay. Yeah. Yeah. Do do

Speaker:

you have to do much of a design document before the project

Speaker:

gets started? Do you find, maybe a enterprise architecture

Speaker:

team or solution architecture team requires you to do some kind of upfront

Speaker:

design documentation that they have to approve Before you get

Speaker:

started, I know Microsoft Fast Track, for example, is pretty

Speaker:

keen for Microsoft partners to create the solution

Speaker:

blueprint document Yeah. Which is It's not even a it's

Speaker:

not even a solution architecture, but it's, covers all the big topics, like how

Speaker:

we're gonna do data migration, how we're gonna do integration, and addresses,

Speaker:

Probably the top 12, 15 things you need to consider.

Speaker:

Those are really good documents, I think, to create. Long as they're reasonably

Speaker:

lightweight, And we're not bound by them, or we can negotiate them

Speaker:

later. Do you find yourself doing a lot of that with bigger customers?

Speaker:

Yeah. Actually, I'm doing quite quite a lot of this kind of work, right, which

Speaker:

is kind of kind of between discovery and,

Speaker:

envisioning and and kind of one of the output that I that I

Speaker:

use is is a solution blueprint, which has very similar,

Speaker:

you know, subsections as what is in the Fast Track,

Speaker:

right, which is effectively it's kind of the the

Speaker:

question you need to ask. You you need you need a high

Speaker:

level approach for each of those topics before you you start.

Speaker:

Right? The Yeah. It's essential question you wanna ask that you wanna have documented

Speaker:

in a high level way kind of And kind of have

Speaker:

your I use often like those

Speaker:

conceptual diagrams, a bit of an high level architecture diagram,

Speaker:

And then integration with maybe an integration diagram high

Speaker:

level, what are the concept or the system,

Speaker:

What what what are the direction of the integration or so

Speaker:

that we at least have a had a discussion doing that, you know,

Speaker:

discovery or project envisioning, whatever you call it. We had a discussion

Speaker:

about those topics, and we have an idea

Speaker:

To also kind of provide a bit of an estimate when you're going to do

Speaker:

the roadmap on the whole thing, but an idea of how we're going to approach

Speaker:

So that there is no big surprises halfway through the project

Speaker:

that we suddenly cannot integrate with the system, and that

Speaker:

integration is effectively deal breaker or whatever. Right? We

Speaker:

don't wanna have we wanna limit the number of surprises.

Speaker:

That's that's really the key of that, I think, that that solution blueprint that that

Speaker:

project is that you wanna limit the risk and the surprises down the project. You

Speaker:

will always have some, but you wanna limit them and at least

Speaker:

address the biggest one. Alright. That sounds very similar to what I'm doing. I I

Speaker:

know I've had to take it a step further when I'm working with

Speaker:

regulated organizations where there's a very mature enterprise architecture.

Speaker:

And I try not to do it all upfront, but I give them the high

Speaker:

level picture just to begin with. And as the project proceeds, we'll go deeper

Speaker:

into a topic. Like, we're gonna do an integration with this

Speaker:

Existing system. Here's our design pattern for for that

Speaker:

integration. We're gonna use Boomi or we're gonna use MuleSoft or

Speaker:

use, Azure functions and and logic apps, get that kind of

Speaker:

approval. And I think that they like to have some oversight of those

Speaker:

patterns because, You know, they want us to reuse existing patterns where we

Speaker:

can or, at least stick within the bonds of what they can support

Speaker:

later. So Yeah. Yeah. A little bit of upfront design. Never

Speaker:

heard anybody. I just try not to get everything, you know, set in concrete before

Speaker:

we start. Absolutely. Yeah. Because things change so fast and quickly that

Speaker:

yeah. What are some of the challenges your your you or your customers

Speaker:

have faced recently when it comes to managing a backlog? Anything that that's really

Speaker:

You know, people are grinding their teeth about that, you

Speaker:

can you can help us solve and avoid.

Speaker:

Look. I have seen so I think a structure

Speaker:

like I said, a structure and and and

Speaker:

Managing a product backlog itself requires a

Speaker:

bit of, I think, of experience and and kind of you had you had

Speaker:

to done it in in the past to kind of be familiar with it. Right?

Speaker:

And I and clients that haven't done it using a tool like

Speaker:

DevOps or Jira Would manage your product backlog, you know, in

Speaker:

Excel, I've seen those scenario whose where,

Speaker:

you know, you you you jump into or you start a project And

Speaker:

then the client opens, you know, a spreadsheet

Speaker:

full of requirements and columns with statuses and

Speaker:

Yeah. And the filters stop broking, and then, you know, the next day,

Speaker:

they open the spreadsheet and it doesn't load because there's so many things. I have

Speaker:

seen those scenarios. Right? And I've I've been in those meetings where it's

Speaker:

challenging even to go through the requirements and follow the statuses.

Speaker:

Right? So I think the 2 here and and how you manage it

Speaker:

also plays a big role. And when I see that, I I strongly

Speaker:

recommend my client to take a look at that

Speaker:

other tool that is made for that, right, and Kind of

Speaker:

help them converting whatever they have somewhere else, whether

Speaker:

it's spreadsheets or word document or Yep.

Speaker:

Into a tool like DevOps. So that's one of the challenge I have

Speaker:

seen. When you are in DevOps, I guess, Like we

Speaker:

discussed at the beginning, right, is that adoption of the tool that will take a

Speaker:

bit of time. Yep. I think I think the

Speaker:

advice would be is just you you you just need to allow

Speaker:

your client time to To

Speaker:

onboard and get familiar with it. Right? It just takes

Speaker:

time, but it happens. Like, if you actively engage them, if you everyday

Speaker:

open DevOps or if you Work in DevOps. You tag them in

Speaker:

DevOps, in comments. They kind of forced after

Speaker:

some time to kind of capture their thoughts and the details there.

Speaker:

And after a bit of time, everybody's using it. And then 2 months from now,

Speaker:

suddenly the plan is using it and and really driving it as well.

Speaker:

Yes. And that's kind of a a success. Right? So I think this this is

Speaker:

also a challenge. Just give time for

Speaker:

the organization to adopt it and And use it because

Speaker:

maybe at the beginning, they won't like it or they don't wanna use it and

Speaker:

so step by step. And then after a few weeks, a few months,

Speaker:

I've seen that they really start using it. Yeah.

Speaker:

Those would be the 2 ones, to be fair. Yeah. Okay. One

Speaker:

1 1 final question for you, Danny. And then Yeah. If you've got a few

Speaker:

minutes, I'd love to do a little bit of a retrospective with you. We can

Speaker:

get to know you a bit better, what you've been up to recently. Where do

Speaker:

you stand on deleting product backlog items?

Speaker:

Like, I don't delete. Okay. Sorry. Go ahead.

Speaker:

So Ryan Ripley, he's a professional scrum trainer from Agile for Humans. He

Speaker:

is big on deleting, pruning Yeah. Your product

Speaker:

backlog item to be as small as Really realistically possible, and

Speaker:

that includes hard deleting, you know, tearing up Yeah. Getting

Speaker:

rid of items that are never gonna get delivered. He, I don't know, wanted he

Speaker:

tells a story about he was at a conference, and he had to stay standing

Speaker:

until he called out the you know, how old is your product? Oldest product backlog

Speaker:

item. Yeah. And the 1 guy remains standing the longest. Had a 9 year

Speaker:

old product backlog item, you know, had been at the bottom of the

Speaker:

product backlog for 9 years. And Ryan said, just delete it. It's

Speaker:

never gonna get delivered. If it has hasn't been important to anybody in the last

Speaker:

9 years, it's never gonna get done. So Yeah. I don't

Speaker:

know. You don't like deleting? Well, if I make a mistake,

Speaker:

yeah, if I make a mistake, I create, you know, I, of course, I will

Speaker:

delete it, but otherwise Well, you have the removed state, so I

Speaker:

usually don't if someone had an idea somewhere at some point, maybe

Speaker:

it made sense. So I would I would change the status to removed

Speaker:

from the product backup, which is that soft delete. Yep. Inactive in

Speaker:

Dynamics with the reason, We try to always try to add a reason in

Speaker:

the comment removed because it has been merged with this one or Right.

Speaker:

Whatever whatever the reason, it goes out of of the

Speaker:

listing. It goes out. You can but you can always find it and find the

Speaker:

reasoning why. Yeah. I don't know.

Speaker:

I agree. Maybe I yeah. And maybe after, yeah, maybe after

Speaker:

5 years, if you look at your history and But why would you?

Speaker:

I mean, it's there. It's invisible. Yeah. It doesn't

Speaker:

it doesn't bother me. I think it could be really nice if, you know, if

Speaker:

you come up to me 3 years into the project or after we're going live

Speaker:

and tell me, whatever happened to my idea, I had suggested this thing, or my

Speaker:

boss suggested this thing, and we can go and trace it back and say, yes.

Speaker:

Look. It was in here. It was discussed by the product owner. Yeah. She

Speaker:

she deprioritized it. She she conferred with your boss, and they agreed it

Speaker:

wasn't, worth spending a lot of time and money on.

Speaker:

And that saves us creating a new item to to go with

Speaker:

do the same kind of evaluation all over again, If we can go and

Speaker:

find that old old item. So I, I really like it. Yeah. And yeah, I

Speaker:

wouldn't, I wouldn't encourage people to delete stuff if there's an convenient way

Speaker:

of hiding things And keeping the mode of, out of harm's

Speaker:

way. Yeah. Cool. Yeah. Yeah. Yeah. I have 1 question for you, though,

Speaker:

if possible. So I know and then you I think you commented on

Speaker:

on someone's LinkedIn post somewhere, mine or maybe someone

Speaker:

else, That and you you had a a way of writing

Speaker:

user stories in a reverse

Speaker:

Yeah. Format, not starting with as a actor. I do. You were

Speaker:

writing it differently. Can you can you tell me

Speaker:

remind me how you do it and why? Yeah. So the A very

Speaker:

common user story template is, as a

Speaker:

actor, I can Yep. Do something so that I get some value.

Speaker:

First of all, I don't think having the actor, enumerated in the

Speaker:

user story is helpful. Quite often, we have lots of different

Speaker:

types of users who can use a feature. Right? I don't wanna say Yeah. As

Speaker:

a customer services user or as a sales user or as a marketing user or

Speaker:

as an operations manager, I can so that. It's just

Speaker:

Hard to read. Yep. Instead, I just dropped that bit off. I

Speaker:

dropped the actor and say, so that So

Speaker:

I start with the value statement at the at the beginning so that we can

Speaker:

enhance our customer experience. I can merge

Speaker:

customer records together. And then what I do

Speaker:

is I use the tagging feature in Azure DevOps to

Speaker:

tag which roles can use this feature, right? Or you'll be targeting

Speaker:

really with it. And so if I ever wanna say, should we all these features

Speaker:

we built for sales analysts or finance,

Speaker:

analysts. I can quickly search your filter on the

Speaker:

tag and all the user stories that we're building for the those people

Speaker:

show up on the list. Yeah. And it's a much easier way of

Speaker:

organizing, by by persona or stakeholder or user

Speaker:

role, what we're building for. And the value statement at

Speaker:

the start just reinforces the fact that we

Speaker:

need to focus on creating valuable Functionality.

Speaker:

And if you can't describe the value, then is it

Speaker:

really worth doing the work? Sometimes you just have to do the work. Yeah. Focus

Speaker:

on the Yeah. Yeah. Yeah. Yeah. Yeah.

Speaker:

Yeah. If I may just ask then on this one. So

Speaker:

This assume that you deliver that user story in kind of the

Speaker:

same time frame more or less. Right? Or

Speaker:

What would you do if the sales team needs that user

Speaker:

story right now or did that feature right now and then the customer

Speaker:

service needed in In 2 months' time, like, would you split the user

Speaker:

story, or what would you No. I'd I'd try not to.

Speaker:

So, yeah, it's always a good a good analysis question to ask is,

Speaker:

Who's gonna use this feature? And the product owner says, oh, the the sales team.

Speaker:

Great. Okay. We're good. Yeah. As a sales user, I can.

Speaker:

But a good question to ask is anybody else?

Speaker:

Yeah. Are there other teams who could Yeah. Get value from

Speaker:

this functionality if we delivered it? And oh, yeah. Well, the customer service

Speaker:

team might occasionally need to do it, but not as often. Yep. So The real

Speaker:

priority is for the sales team. Okay. Well, I'll just tag customer service,

Speaker:

as a persona on this user story. So I'll try and build it once.

Speaker:

You might need to have a 2nd user story Mhmm.

Speaker:

Because we forgot. We forgot the customer service needed this functionality as well. Mhmm.

Speaker:

And the way that we built it 1st time was we only

Speaker:

enable this, you know, through security rules. We only enabled it for the

Speaker:

sales users. And so we have a 2nd user story

Speaker:

Just focused on customer service because we need to add the security privileges

Speaker:

to their security role. So Yep. I try not to do it

Speaker:

twice. Yeah. Yeah. Yeah. Cool. So it's a it's a more of case by

Speaker:

case, again, scenario that yeah. Yeah. I would

Speaker:

have 2 user stories only if I forgot to ask Upfront the

Speaker:

first time. Who who else could benefit from this functionality? Yeah. Yeah.

Speaker:

Well, it's often the case, like, I'm having a situation now where kind of

Speaker:

very similar requirements or feature being delivered,

Speaker:

but so the product owner is liaising us with business with different

Speaker:

business areas. Mhmm. And then 1 business area is very

Speaker:

keen on having it. So we we have all the requirements for them, and we're

Speaker:

ready, and then we deliver that now. Right. The other

Speaker:

business area is a bit more busy or they there are requirements for

Speaker:

them and tell. Basically, they take a bit more time to

Speaker:

providing us the details. So That feature for them with the

Speaker:

details for them, maybe what kind of let's

Speaker:

say connection roles. Add connection roles, that kind of roles they wanna have or

Speaker:

something comes a few sprints later. In that case, I would have

Speaker:

2 user stories Because one, I wanna push

Speaker:

the first one I wanna push Yes. Through the cycle and deliver, and then the

Speaker:

other one which is very similar for another user

Speaker:

Group, I would push it later. Yeah. Oh, absolutely. You're

Speaker:

all yes. You're always gonna have, Those

Speaker:

enhancement user stories that enhance an earlier released feature. For

Speaker:

whatever reason, great idea. You wanna get the Yep. You wanna get the value out

Speaker:

there as quickly as you can and as earlier releases you can. And if

Speaker:

somebody else wants to increment or iterate on that functionality later,

Speaker:

some kind of enhancement, maybe maybe just roll it out to a different group of

Speaker:

users or a different business unit. Yeah. It's fine. Up yeah. Do that

Speaker:

all the time. Cool. Have you got a couple of seconds you can stay on

Speaker:

and and let me know How to how to reach you, how to find you,

Speaker:

and what you're up to recently. So, I like to call this the retrospective,

Speaker:

segment in the in the podcast. So for those who don't know

Speaker:

Danny, Danny and I, you know, live reasonably close together. You're just down in the

Speaker:

Gold Coast, which is, what, 50 k's from Brisbane, and we

Speaker:

catch up occasionally. You've missed, You missed a very fun

Speaker:

presentation I did last night at the, Queensland business apps user

Speaker:

group. I was in costume doing my how to How to

Speaker:

solve the Elon Musk problem in in Dataverse.

Speaker:

But, what what kind of events have you got coming up soon, Danny?

Speaker:

Yeah. That was an that that was an interesting topic that you presented

Speaker:

yesterday. Yeah. Look.

Speaker:

I'm hoping to go at the, Nordings

Speaker:

Nordic Summit while I'm traveling in Europe end of

Speaker:

September. Great. So Copenhagen this year?

Speaker:

Yep. Yeah. Correct. Hoping to get that one. I have a bit of

Speaker:

traveling and then for, yeah, for

Speaker:

leisure Europe happening, so try to cause us you know,

Speaker:

we don't travel to Europe that often for me. It's like a 24 hours

Speaker:

plane ride. Right? So but, yes. So that's

Speaker:

planned. Nothing really other from

Speaker:

a Professional perspectives, where to

Speaker:

find me on LinkedIn? You're always pretty active on LinkedIn. I love

Speaker:

following your content there. Thank you. Yeah. You you're

Speaker:

pretty active too. Mhmm. Yeah. I I I'll just try and keep up with you

Speaker:

and Hamish, really. You're always publishing these really

Speaker:

colorful series of conceptual diagrams diving deep into

Speaker:

industry accelerators or different applications. Have you got any more of those

Speaker:

planned? What kind of content are you brewing for us at the

Speaker:

moment. Yeah. So I'm in a series which takes a

Speaker:

lot of time, but it's in a series of of kind of concepts

Speaker:

where I explore kind of the major components of

Speaker:

the poor platform. So I started with the high level, You

Speaker:

know, Microsoft Biz Apps. What is in Biz Apps? It's a bit of diagramming,

Speaker:

right, which to be fair, what was was got a

Speaker:

lot of attraction, like, comments, and so that was so that kind

Speaker:

of encouraged me to continue, and then I went 1 level down to the poor

Speaker:

platform, and then, again, decomposing this. Then I I'm doing

Speaker:

now data so Dataverse, I had a diagram plus an

Speaker:

explanation to you to a YouTube video. Then I had poor apps,

Speaker:

And I had Scott Duro jumping me on a call, depicting the

Speaker:

whole thing. I just did Power BI with Greg

Speaker:

Nash, is a poor VI MVP. He also went in kind of

Speaker:

and it is it it is I like doing those

Speaker:

diagram, but it's really helps me understand. Like, I've learned so

Speaker:

much from I knew I think I knew poor apps, like, even model driven

Speaker:

apps and stuff, but having a conversation with another

Speaker:

Expert, like, telling the stories and how to use specific things. It's

Speaker:

just enriching you so much. Right? So it's it's a big it's

Speaker:

how I learn, Basically. Right? So I have those planned for the other

Speaker:

parts. I'm hoping to get Nick done when I think he already asked

Speaker:

if he wanted to do with me the pages one. So

Speaker:

he he he was keen to do that. I'll do 1 on automate

Speaker:

for Vultr agents. So but it really takes a bit of time, so it's

Speaker:

it's It's a few weeks, months sometimes work.

Speaker:

So this I I have. And then, occasionally, whatever

Speaker:

I have, What I like doing right now is sometimes some

Speaker:

small post on design ideas. You know, I

Speaker:

stumbled lately on this new sub grids That you can you

Speaker:

click on a sub grade and that opens up in a model view. Yeah. Like

Speaker:

so one of my plan, I had a strong requirements around that, and it's really

Speaker:

kind of, You know, they were very hap so I kind of posted. So when

Speaker:

I have some ideas like that during my work, I try to quickly, you

Speaker:

know, Share it to the community. But other than that, nothing

Speaker:

else, really. Apart from all these videos and

Speaker:

blogs and YouTube posts and everything else you do, Not

Speaker:

much. I love it. Well, you also

Speaker:

have, of course, your functional consulting course. We talk a lot today about

Speaker:

Managing requirements. Your course is super helpful. If anybody who wants

Speaker:

to dive much deeper into the kind of topics Danny and I have discussed today,

Speaker:

he has The best course on it. I've I've taken it. I've loved

Speaker:

it. It complements Hamish's work really well too, but you go deep

Speaker:

into the stages of, Product backlog items

Speaker:

and Azure DevOps and other topics, that we've discussed today, and I find it really

Speaker:

useful. So encourage my teams to go through it. I encourage all of you

Speaker:

listening watching today to go through that as well. I'll I'll include a link to

Speaker:

that in the show notes as well as Danny's YouTube channel and your blog and

Speaker:

everything else, Danny. Thanks so much for joining. Amazing.

Speaker:

Thank you, Neil. So, 7th time next time, or was that

Speaker:

that's the 6th time now? This is the 6th. Yeah. I think the next time

Speaker:

will be the 7th. We'll have to we'll have to find another topic, we'll have

Speaker:

you back on as soon as we can. Amazing. Thank you.

Speaker:

Thanks, Danny. Bye. See you. My biggest takeaway

Speaker:

from my conversation with Danny was the Practical use of

Speaker:

documentation in addition to whatever is written in your user story,

Speaker:

a solution blueprint, a user interface, wireframe,

Speaker:

or example data in a spreadsheet. I'm generally a fan

Speaker:

of minimalist user stories that encourage conversations

Speaker:

between developers and users, But Danny shared with us some great reasons

Speaker:

to enrich our user stories without going to the extreme of writing

Speaker:

an old fashioned upfront requirement specification. What was

Speaker:

your biggest takeaway from this episode? Visit the customer company page

Speaker:

on LinkedIn or the amazing apps LinkedIn group, and let Donnie know.

Speaker:

Until next time, Keep experimenting.