Here at IBM we have perfected the process of perfecting modernizing legacy applications
by working directly with our customers.
Now we picked up some tips and tricks along the way and we wanted to share that with you
with the exact approach we take with the IBM Garage.
Now today we are going to talk about what is called the IBM Garage Methodology,
which we use with our clients to ensure they are using the latest and greatest cloud technology
and accelerating their digital transformation.
Now within any organization there is going to be some of the latest and greatest tools that are being used,
as well as processes.
Now at the center of all of this is going to be what I call the culture.
Now this is critical to any team taking on a digital transformation.
And that's because you might be using the latest and greatest tools and implementing the processes,
but without the actual users and employees within your company adopting these technologies
you're not going to see a successful digital transformation.
So, to enact any sort of transformation you need to start thinking about the culture.
This means adopting approaches like agile methodologies,
maybe moving from waterfall techniques.
So that is some of the things that I am going to be covering today in the Garage Methodology.
And I'd say there are 6 facets that kinda of surround the key of it all, that is the culture.
And the first one that we are going to start with today
we'll call it
discover.
Now here is where you are identifying key objectives within your organization.
So for a lot of organizations this is can be something like TCO,
or total cost of ownership.
This is critical. Cost savings are a big concern for a lot of clients moving to the cloud.
And in addition, understanding that taking advantages of some of these latest and greatest capabilities is going to cost them.
But it is more than just that.
It is about understanding objectives, you know what you want to accomplish.
So say for example, your company is growing and your getting more and more support tickets
and your support team just cannot handle them.
Well you can throw money at the problem and increase your support staff,
but that is always not scalable.
Or maybe your applications are not performing as well and there is higher latency.
So how do you start taking advantage of maybe the elasticity in the cloud to tackle that?
So in the first facet, discover, here is where you starting laying out some of those objectives.
Next up, let's talk about envision.
Now here is where you start identifying solutions to some of these problems.
Now there is key techniques for this.
So for example you may want to create an MVP,
or minimal viable product.
This allows your team to work towards, you know an easy, cupcake size solution
that drives value and results and then start building on top of that.
In addition, there is a concept called design thinking,
and we do this a lot here at IBM.
Before start building any feature, or maybe a bigger a solution or capability
we make sure we understand how users are going to use it
and that design is involved in every step of the way.
So, here is where you start thinking about solutions. So for example,
So for example, some of the problems we laid out in the discover step,
maybe your applications are not performing as well.
Well take advantage of the cloud to re-platform and kinda take advantage of
maybe a Kubernetes platform to enable better scalability
In addition, maybe for that support ticket issue, take advantage of a chat bot
so that easy questions are answered by an automated system
before escalating to a real human being that can support an issue.
So that is the second facet in envision.
Now the third one I want to mention here,
kinda going through the flow here, is going to be develop.
Now here is where we are starting to think of quality code.
Now,
say you've got a number of legacy applications that you've got
and you're bringing them into this next decade.
A developer that you higher 5 years down the line,
are you really going to be comfortable with them diving in and kind of making changes to this older code?
Well if not, now is the time to start thinking about clearing up some of that technical debt.
You can start taking advantage of refactoring strategies
to maybe move from older school programming languages to newer ones.
Maybe use container based technologies.
So that is one clear thing.
Another one I want to mention, a lot of us have heard about TDD,
which is test driven development.
Basically writing the test before writing the code so the code matches the functionality expected.
But there is a new approach called BDD
which takes up one abstraction layer higher called behavior driven development.
Now this enables you to focus on the features and how people are actually going to use them.
This involves user research, and so this is a key step that is going to enable you to focus on
first the behavior of using the capabilities, and the actually dive in deeper.
And then start thinking about how they are implemented,
maybe then start writing the test cases, and then finally the code.
So BDD is a very interesting piece of this develop flow.
And more I will mention is CI/CD,
continuous integration, continuous delivery.
This enables development teams to really keep up with the speed of agile methodologies
and so I think it is a critical part with any, you know, any DevOps lifecycle and flow.
It is really important for your teams to start thinking about
continuous integration and continuous delivery.
Step 4 that I want to mention
is
reason.
Now this about
infusing AI across your business processes and all the data that is being generated.
So I am going to simplify this one and just say
data science.
Now,
the main thing here is that that kinda encompasses AI and machine learning as well.
So for example, say you are a logistics company
this is where you can start taking advantage of something like demand forecasting.
So instead of waiting for the demand to come in and start scrambling to prep your distribution centers,
what if you use the historical data of the last time there was a lot of demand.
And then use maybe the weather channel APIs for, you know, inclement weather situations.
And then use that to find correlations
to, you know, respond to demand and forecast it before it even comes in.
Now that is a great way to take advantage of data science,
and infusing that into your processes to drive new value.
Next up we got operate.
Now operate,
is a key phase here. We're going to be thinking about things like operational excellence.
There is new modern strategies for operations.
So things like a dark launch.
A dark launch is going to enable you to release a feature
behind a feature flag and see how people respond to it. See how your infrastructure responds to it.
If it does not perform so well, turn that feature flag off and figure out what went wrong.
That leads me to AB testing.
Now AB testing enables you to release two kind of variations of similar capabilities to different subset of users
to see which ones they react to more positively.
So this a great way of identifying you know which approach to take moving forward.
AB testing is a really critical part of the operational steps.
And I think the last ones I want to mention here, is one of the objectives that we laid out in the beginning
it's auto scaling.
So we mentioned that, you know, maybe you need to take advantage of the elasticity in the cloud.
Maybe your operations team manually scales up before every major holiday today
if your kinda of sales company.
Well instead of automatically, or having the operations team scale it manually
what if you could do it automatically?
Well that is where autoscale comes in and is part of this kind of operational excellence,
in this facet of this Garage Methodology.
Now the last one I want to mention here is learn
because at the end of the day you need to be able to learn
from the processes that you put in.
Now a simple one here is something like a retrospective.
And this part of an agile flow.
Your team is implementing a lot of processes, so let's see, you know, what worked well and what didn't.
It's the time to take that into account.
Another one that I want to mention, kind of going on TDD and BDD is HDD,
which is hypothesis driven development.
So we are all aware of requirements of customers that come in from customers and respond to them
and if they go well, you know, everyone is happy, but sometimes that is too slow.
What if you could create conjectures instead.
Capabilities that your customer might want to use
and then develop those.
Well maybe you may not always be right but when you are right that enables you to get ahead of the competition
and drive value to your users in new ways.
So HDD is one of the key things in the learn step.
Now if I wanted to summarize all of these I think I would call them into three major steps.
Create.
Execute.
And finally
operate.
Now I see these as kinda of a cycle, a life cycle for digital transformation.
And so with these three steps
you can kind of feel like you are on the right step using some of these technologies, or approaches that we talked about.
But with IBM Garage you're not alone.
You can co-create.
You can co-execute.
You can co-operate.
Essentially its the speed of a start-up
at the scale of an enterprise.
That is what IBM Garage offers you
you don't have to be alone in learning and instilling all of these different approaches
IBM Garage can help you with those.
If you want to learn more about IBM Garage,
or you know dive into a lot of these facets and more of things that I couldn't cover in this video
check out the links in the description below.
Now if you enjoyed this video and you want to see more videos like this in the future, be sure to subscribe.
If you like it, you have any comments be sure to drop a like and a comment below.
Thanks and stay tuned for more videos like this in the future.