Lesson 02: The Adaptive Approach
Let’s see how the second development approach works…
- 00:05 – Could you think about the different type of lifecycle that doesn’t have the problem of creating the product at the end of the project?
- 00:15 – Do you need time? Okay.
- 00:18 – This is the alternative that we can have.
- 00:20 – Instead of running the development processes one at a time, we can have some partitions of time. Let’s call them Iteration. We’ll talk about that later.
- 00:30 – We can have these partitions of time and inside each of those partitions, we will run the development processes for a subset of features.
- 00:40 – What we do is that we just pick a few features for the first iteration, and at the end, we will create a piece of working software.
- 00:52 – Something that the end-users can potentially use, and then we will show it to the customer and to the end-users, we will have conversations over that, we will receive feedback, and using that feedback, we will decide about the features that we’re going to have for the second iteration.
- 01:11 – We will focus on them, run the development processes inside that iteration, create a new product, a new version of the product with more features, receive feedback, and do it again and again.
- 01:25 – And as you see here, instead of having an upfront plan and following that plan, we just go on with a strategy, of course, it’s not chaos.
- 01:39 – We just go on, create products as soon as possible, show it to the customer, receive feedback, and we adapt.
- 01:48 – We are adapting to the environment, to the needs of the customer, and it works very well because we are using the product to understand what the customer wants instead of writing on paper.
- 02:00 – Based on practice, it works much better, but based on experience, it works much, much better.
- 02:06 – It really works. That’s great. And we need another name here. What would you like to call it?
- 02:12 – We can call it Adaptive. It’s an Adaptive lifecycle.
- 02:18 – And the other name for this is Agile.
- 02:22 – You have an Agile project when you are using an Adaptive lifecycle, and I forgot to tell you but the one that we talked about before, the Predictive lifecycle, nowadays, people who are in the Agile community call them Waterfall.
- 02:40 – We don’t call them Waterfall if they’re used outside IT development. It’s just about the terms.
- 02:46 – And you also need to know that Waterfall is practically used as a curse word.
- 02:52 – That’s why I prefer to call them Predictive lifecycle because they’re not bad things.
- 02:57 – None of these are bad. Each of them are more appropriate to certain types of project, which we will talk about in next lessons.
- 03:07 – Now, let’s get back to this Adaptive lifecycle.
- 03:11 – Here, you see that we have multiple partitions of time, right?
- 03:15 – And inside each of those things, we will repeat all the development lifecycles; the Analyze, Design, Construct, Integrate, and Test.
- 03:26 – We repeat them, we are iterating, and that’s why it’s called, these partitions are sometimes called Iterations, and this type of development is called Iterative Development because we repeat those things.
- 03:41 – It’s about learning these phrases, okay?
- 03:44 – And there’s another phrase that is common here and many people confuse it with Iterative Development.
- 03:51 – That’s about the fact that we are creating the product in multiple versions, let’s call them.
- 03:58 – The first version has only a few features.
- 04:00 – In the next one, we will have the few previous features and we add a few more, and we keep adding more and more features on that.
- 04:09 – Your product gets bigger and more valuable and so on.
- 04:14 – So, in fact, you’re delivering the product in multiple increments.
- 04:19 – This is called Incremental Delivery.
- 04:23 – So, you see the difference between Incremental Delivery and Iterative Development?
- 04:28 – They usually come together. It’s very difficult to think about having one of them without the other, but still they are two different concepts that are usually together.
- 04:39 – Alright. So, that’s the Predictive lifecycle, also known as Waterfall, and this is Adaptive lifecycle, also known as Agile.
- 04:50 – This is the real meaning of Agility. Everything else that you hear is just describing some aspect of Agility.
- 05:00 – This is the real thing and if you understand how it works, then it’s much easier for you to solve your day-to-day problems and answer questions in the exam.
- 05:10 – Now, for example, here I have a question for you.
- 05:13 – How do you see the different … the difference in planning for these two types of lifecycle?
- 05:21 – I’m asking this because a common thing for people is that they believe that Agile is when you don’t plan the project. You already see that.
- 05:31 – My point is that we still plan projects in Agile.
- 05:34 – So, that’s going to be the answer, but think about the difference between planning in these two types of lifecycle.
- 05:41 – We’ll talk about it in the next lesson.
How is planning different in adaptive (Agile) and predictive (Waterfall) systems?
- What is Agile?
- What’s the difference between a predictive and an adaptive approach?
- What’s the difference between iterative development and incremental delivery?
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.
This lesson is part of the first 30% of the course, which is available for free, even without registration.
You can purchase the course to access all lessons, additional material, and coaching:
More info and purchase options