Lesson 02: What is Agile?
How do you define ‘Agile’? Did you know that most people do not have the right understanding of Agile? While it’s not part of your exam, knowing the meaning of Agile helps you make better decisions in your projects, as well as the exam.
- 00:04.500 – Hello and welcome back, this lesson is about the meaning of Agile.
- 00:08.500 – And it’s important to know this, because when you know what it really means and how it contributes to your products then you can find your way.
- 00:19.500 – You don’t need to memories everything that people say about the good practices in agile. you can deduct it for yourself.
- 00:27.500 – and that’s important, for example let’s take a look at this ok.
- 00:32.500 – I told you before that we go step by step and create a sprint backlog in the beginning of each sprint.
- 00:40.500 – Now what if instead of that you create a sprint backlogs for all sprints in the beginning?
- 00:50.500 – What do you think about it?
- 00:52.500 – What is the difference? which one is a better idea? and why?
- 00:56.500 – Now instead of knowing the answer and reading it somewhere, if you know what agile really means then you can answer this question but it’s very simple and almost obvious but there are more complicated questions and that’s why so important to talk about this concept.
- 01:14.500 – Alright, this is the starting point and we want to run a project to create a product.
- 01:23.500 – our customer has some expectations.
- 01:26.500 – In the beginning the expectations are not so clear, how would you proceed?
- 01:33.500 – There are two general ways.
- 01:35.500 – One way is to go to the customers and talk to them and try to make the expectations clearer.
- 01:43.500 – You try to understand everything they want, and when you’re sure you know what they mean then you will create a plan and you will design a product that can meet those expectations.
- 01:59.500 – And then you start your project, you follow the plan and obviously you can never go 100% as planned, so you will evaluate your progress and whenever you have some deviations, you will try to recover from those deviations.
- 02:14.500 – And at the end you will complete the product as it was specified.
- 02:21.500 – this is the perfect way of working for some of the products in some situations but it’s not a good idea for some other products specially software.
- 02:34.500 – What happens is that it doesn’t matter how much time you spend with your customer in the beginning and talk about their needs, and requirements and expectations, when you finished the product and when they see the product that’s the time you realized their expectations were different.
- 02:53.500 – In other words, they don’t know exactly what they want until they see the product and the real product is created at the end.
- 03:02.500 – you see. that’s an issue we have in software and some other types of project.
- 03:09.500 – This method is called predictive because we predictive everything in the beginning and in the agile community they call it waterfall.
- 03:20.500 – In the brother project community some of us at least not many maybe but I’m one of the people who don’t like to refer to this as waterfall because waterfall is the word that has a negative connotation, negative connotation that was created in the agile community, referring to this as the enemy which is not right.
- 03:45.500 – this is the only good way of building a bridge or a building and even some types of software.
- 03:55.500 – This mainly a topic for a product owner of course, but the software that is used for an airplane for autopilot and things like that I prefer to be done with this rather than agile.
- 04:10.500 – But that’s a long topic and many people don’t agree with me on that I just want you to know that there are different opinions about these things and you need to be opened to that.
- 04:20.500 – Ok. so this is a one way of working The other way which is a really great idea for many software projects, is that in the beginning when we want to start and we see the expectations that are not clear instead of trying to talk to them and make it clear with documentation and so on we just start working. We think about different things we can create and we pick one that we believe to that has the potential to bring us closer to the expectations.
- 04:55.500 – We create the increment, we show it to the customer and we receive feedback based on the feedback that we receive we will have a much better understanding of their expectations.
- 05:08.500 – And we do it again one more time we think about different things we can create we pick the path that probably brings us closest to the expectations, build an increment, show it to the customer, receive their feedback and again we have a better understanding of the expectations. We go on like this and sometime in the future we will meet the whole expectations that the customer has.
- 05:38.500 – this other approach it’s called an adaptive development approach.
- 05:44.500 – and the more common term for it is agile.
- 05:47.500 – So this is what agile really really means, because when you read about it in many resources maybe 80% of the resources, they keep telling you somethings that are not clear enough. The things that they refer to as agile is practically applicable to everything.
- 06:11.500 – But this is something that can also help you in your projects for example, the question that I asked you in the beginning, why not create all the sprint backlogs in the beginning?
- 06:23.500 – That makes it easier maybe but is that a good idea?
- 06:28.500 – No, because we don’t want to create everything in the beginning, if we do that then that’s practically a predictive approach that’s not adaptive anymore.
- 06:39.500 – We want to go on, receive feedback, understand the expectations better than before and then create the next sprint backlog.
- 06:51.500 – That’s what adaptation really means.
- 06:53.500 – Ok. So that was it for this lesson and it was really short you see .
- 06:58.500 – And there is something else here, when we talked about sprints the short term windows of working I didn’t discuss it with you but there are two different approaches one is to have fixed duration windows and the other is to have fixed scope windows.
- 07:20.500 – so in the first alternative when you pick for example, five items to do in the next window you will go on until your time is over and will deliver everything that you’ve finished. and the things that you’ve not finished will go back to main list, but you won’t expand it, it’s a fixed duration.
- 07:43.500 – the way I mange my to do list for example, it’s a fixed duration type of approach, I do it every week I don’t expand the duration until I finish everything that I had in my weekly list, I just work on it for one week.
- 07:58.500 – Another alternative is to have fixed scope type of windows.
- 08:04.500 – and for that you will go on until you finish everything.
- 08:08.500 – For example, in prince 2 (it’s a project management methodology) we have a concept of the stage and stages by default are fixed scope meaning that you have an estimate of the duration of the stage for example, 3 months or 1 month and you have a scope for it, but you won’t finish exactly on time with everything that you finished you will go on until you’re done building everything.
- 08:39.500 – Both of these approaches are ok as usual, but in adaptive environments it’s a good idea to use fixed duration windows.
- 08:51.500 – Iterations, Sprints Because the main reason is that when you have fixed duration you’re automatically, subconsciously pushed into being focus on the most important parts of the items you’ve picked for that iteration.
- 09:11.500 – You won’t go through all the fancy things you can possibly add.
- 09:16.500 – and it help, because in an adaptive environment we need to have feedback as soon as possible.
- 09:26.500 – There are lots of fancy things we can add but we are never sure that those fancy things will be successful, we’re not sure if those can add enough value.
- 09:36.500 – Therefore, it’s a good idea if we just stick to the basics, deliver the most important part of those items and if it was needed we will add another item in the future for the fancy parts of that, that’s ok.
- 09:49.500 – but having that focused with fixed duration iterations sprints, that’s a really good idea and that’s how all agile systems work, because of this concept of adaptation.
- 10:03.500 – Ok. That was about what it means to be agile in the next lesson we’re going to talk about scrum What is scrum?
In the next lesson, we’ll talk about the nature of Scrum and its relationship with the Agility concept.
Here you can submit your questions related to the content of the course. (For other questions, use the support system). The trainer's reply will be email to you in 48 hours.
The first lessons of the course, including this one, are available for free, even without registration.
You can purchase the course to access all lessons, additional material, and coaching:
More info and purchase options