
This content was created by Mike Lyons. This content was uploaded by Mike Lyons. This is a YouTube video titled "What is Agile" created on February 16, 2024, featuring Mike Lyons discussing the concept of Agile methodologies, including Scrum, Kanban, and extreme programming, and clarifying misconceptions about Agile practices.
Chapters
To be or not to be Agile? That is the question. Well, it's not the question, but it is a question. It makes me begs the question what is agile and what is agile? Not in this lesson. Let's, let's take a look at that. So what is this thing called Agile? You know, it's not so much a buzzword. There was a time when it really was this sort of IT buzzword. A cool new way of building software that just means we can start developing and pushing, pushing code up into production, testing it and no documentation or planning. But, but that would be a poor description of agility. No, agile is, is so much more than that. We like to say that agile is sort of an umbrella term, if you will, for a number of different practices and principles and techniques that focus in on iterative or fast development cycles filled with opportunities to get feedback on real working systems and solutions. Rather than spending time trying to plan out and document out building of solutions. We want to build something and get feedback and then pivot and adjust based on that feedback and iterative approach. Now look, there's a bunch of different ways to do this. And so that umbrella, that agile umbrella covers a lot of different terms and techniques. The most popular one you might have heard of is this idea of Scrum. Did you know the term Scrum was introduced in 19 in a Harvard Business Review article titled the New New Product Development Game? It's true. Scrum, a rugby term which is used to define cross functional teams getting the ball in play to score a goal. Just like software development teams cross functional teams, not individuals getting the ball in play, getting the work in play so that we can deliver a unit of value, a thing of value. That's Scrum. Who knew the Scrum methodology, it's been around a very long time about, from about the mid-1990s, Scrum really focuses in on a set of roles and practices and techniques, artifacts and ceremonies that work in short time boxes to deliver working pieces of software things of value. Another approach that is less focused on timebox and more focused on how work flows through system is called Kanban. Now Kanban is even older, predates Scrum. And it's really an approach that looks at how work is moving through systems and helps us find constraints and bottlenecks in the system. And so you might hear things like a Kanban method or a Kanban board, how we signal that work is moving through a system. So that's another agile practice, extreme programming, kind of between Kanban and Scrum we had extreme programming or XP as You might hear it. And that really focuses on the intensity of software engineering disciplines. That's where test first development sort of was introduced. The idea of building quality into a product before, before you release it rather than inspecting it in through like some sort of quality assurance department. Pair programming comes out of that methodology, extreme programming. So those are just three, there's other ways to do agile and then there's scaling mechanisms like how do you, once you discover the benefits of an agile approach to delivery, how do you have more than three, four, six teams doing that? How do you scale that? There's scrum at scale which is one way to do it. There's disciplined agile delivery, a large scale scrum less. That's sometimes called the current industry sort of leader is safe or the scaled Agile framework. But these are just scaling mechanisms of how you scale agile delivery. So that's a little bit about what agile is now. Like well what is agile not then. Well it's not the answer for everything. So if sort of your boss has said, you know, we want our next project to be agile, I would ask you to ask them like why, why do you want to use Agile? Is it because you think we can change our minds all the time or we're not going to have any documentation or it's going to be faster or like what are the reasons? And those first reasons aren't really good ones, but certainly to be faster. But let's find out why because again it's not always the perfect fit for every situation. It's not a, like a silver bullet, you know, and it's not just sort of cowboy development, okay developers, no planning, no documentation, just start developing code. No, no, Agile is not that and it's not a lack of planning. No, no, we, we would agilis would say we actually do more planning in Agile than we do in a sort of traditional approach. We just do it more often. We don't do it all up front. We, we do it, we do it more often. And I guess the last thing I would share on what Agile is not, I guess I would say it's, it's something that's easy to understand but it's something that's, that's hard to master. You're not going to be an Agile expert as you complete this foundations course. Over time we get better, but it takes time to master. So that's a little bit of what Agile is and what Agile isn't. So let's unpack that a little bit more in our next lessons.










