Lesson 03: When to use Agile
So, how is planning different in adaptive and predictive projects?
2020 update notes
A few things have changed in the latest version of the Scrum Guide (2020), and the ASF exam is updated based on those changes. However, our videos are not updated yet; so, please note the following changes:
- There’s no “development team” anymore, but only Developers.
- The recommended team size is now “10 people or less” for the whole Scrum Team.
- It’s now called “self-managing” instead of “self-organizing” (same concept, different name).
- There’s a Product Goal now, which is part of the Product Backlog, and sets the overall direction for the product.
- The Sprint Goal is now considered as part of the Sprint Backlog.
- The concept of commitments is introduced for the artifacts:
- Product Goal is the commitment for the Product Backlog.
- Sprint Goal is the commitment for the Sprint Backlog.
- Definition of Done is the commitment for the Increment.
- The Definition of Done is created by the whole Scrum Team now, and not only by the Developers.
- Now, any time you finish an item (based on the Definition of Done), a new Increment is formed. It’s not about having just one Increment at the end of the Sprint.
- The guide doesn’t suggest 10% as the ceiling for the amount of time Developers spend on Product Backlog refinement.
- Sprint Planning has three topics now:
- Why? -> Sprint Goal
- What? -> Items from the Product Backlog
- How? -> Tasks created by decomposing the items
- “Estimating” is now called “sizing”. So, it’s the responsibility of the Developers to size the Product Backlog items.
- “Value” is no longer one of the mandatory attributes of the Product Backlog items. The mandatory attributes are description, size, and order.
- Instead of calling the Increments “potentially releasable”, the new guide calls them “usable” (more or less the same concept).
- 00:08 – The question I asked you in the previous lesson was about the different ways we plan the project in these two types of development lifecycles.
- 00:18 – And I asked you that because many people think that Agile is the way of doing the project where you don’t plan anything, which is not really correct.
- 00:31 – If you take a look in a normal predictive system, what we do is that we spend a lot of time in the beginning of the project planning everything because it’s predictive. We try to predict everything.
- 00:43 – We try to find the best way of working during the project. That’s the nature of a predictive system.
- 00:49 – And one thing that some people miss is that planning is not finished in the beginning of the project.
- 00:58 – We create a complete plan, but we always have changes. We cannot predict everything.
- 01:06 – So, we keep fixing the plans, adjusting the plans, improving the plans, and therefore it continues all the way until the end of the project.
- 01:17 – Now, what about the adaptive system?
- 01:22 – In the adaptive system, we don’t have the big upfront planning, but we still have planning.
- 01:29 – We spend some time in the beginning of each iteration to understand what we’re going to do in that specific iteration, and similar to the predictive system, we continue planning during the iteration.
- 01:45 – You remember, planning is not something that you can be done with. It’s never over.
- 01:53 – You always have to take care of your plans. It doesn’t matter what type of project you have.
- 01:59 – It has to be done continuously. That’s the only way you can make your plans effective and useful in your project.
- 02:06 – Some people spend some time in the beginning of the project creating something they call a plan.
- 02:12 – They put it somewhere. Sometimes they even print it and put it on the wall and they don’t do anything else with it. Sometimes it may be measuring the progress of the project. That’s all they do, but that’s not a real plan.
- 02:27 – A real plan is always dynamic. The difference here between the two is that in the Predictive system, we have the big upfront plan where we try to find the best way of doing the work, and in the second one, we don’t do that. Why?
- 02:42 – Because we want to use adaptation.
- 02:46 – You remember, adaptation is where we show the product to the customer, receive feedback, and use that feedback to decide what we are going to do next.
- 02:56 – Now, what about the predictive system? Does it mean that we don–t have any type of adaptation?
- 03:03 – Think about a construction project.
- 03:07 – You have planned to use a certain material for some part of the project, but after a while, you realize that the supplier of that material doesn’t work anymore.
- 03:17 – What should you do? You can’t stop the project.
- 03:21 – What happens is that you select another material and adjust everything else that relates to that and continue your project.
- 03:29 – That’s adaptation. You’re adapting to the environment of your project.
- 03:34 – So, in fact, we do have adaptation in predictive system, but obviously it’s not as much as we have in an adaptive system.
- 03:45 – You see the difference between the two of them?
- 03:48 – The other difference that we’ve already talked about is about the product.
- 03:53 – In the predictive system, the product is created all the way at the end of the project and that was the reason for some of the problems that we have in certain types of projects where it’s too late to show the product to the customer because we know that when they see the product, they come up with a lot of complaints because it’s very difficult to create a common understanding in the beginning of the project only based on documentation.
- 04:20 – So, in iterative, in adaptive systems, we create products at the end of each iteration, show it to the customer, and adapt.
- 04:32 – Now, one thing is that what I just told you doesn’t mean that the predictive system cannot have more than one product.
- 04:44 – We can still have a predictive system run in multiple phases.
- 04:48 – The word phase is used in different ways.
- 04:51 – So, it can be used differently in other resources, but it’s a normal way and relatively compatible with what we have in the PMBOK Guide.
- 05:03 – So, each phase is like a mini project that is focused on one part, on one major deliverable, and depending … depending on how you divide the deliverables, you can create a useful product in each of them.
- 05:22 – Let’s imagine a residential complex. If you divide it to three different blocks and decide to build them one at a time, then it can be something like this, with three products in the middle of the master project.
- 05:42 – Now, you can imagine each predictive project broken down into multiple phases, into many phases and see it as something closer to adaptive systems and in fact, having phases in a predictive project is mainly done, at least one of the reasons for doing that, is to have more adaptation, but you can also have other reasons for that, but still it’s predictive and that’s adaptive.
- 06:11 – Now, a common question.
- 06:14 – Can we use Agile for every type of project? What do you think?
- 06:19 – Based on the definitions that we have here.
- 06:25 – It’s a common question. Now, we have different types of people.
- 06:29 – Some people, when you ask them what they mean by Agile, they give you very strange answers.
- 06:38 – For some of them, I’ve heard that some people consider, for example, collaboration as being Agile, but that doesn’t mean anything because we can have collaboration in every type of project and it was not even invented by Agile. It doesn’t do anything.
- 06:57 – It’s just one of the practices that we have in projects.
- 07:00 – The real Agility, the concepts that we talked about.
- 07:05 – Imagine a construction project. Can we have a construction project with an adaptive lifecycle?
- 07:12 – Now, for some people, they believe that Agile is the new thing and that’s the future and that’s the right way of working, and they turn the word Waterfall into a curse word, that’s different.
- 07:27 – If you want to be realistic, in my opinion, whenever you want to think about the project and the proper lifecycle for that project, you have to think about two questions.
- 07:38 – The first one is do you need to use an Adaptive system? Do you need to adapt?
- 07:46 – In a construction project, for example, do you need to be worried about if the product that you will create at the end of the project based on initial documentation will be much different from what the customer had in mind?
- 08:01 – That’s the need. Do you need to be absolutely flexible?
- 08:07 – The example that I usually give is that if you start a construction project to build a hospital, you will always have a hospital. You may have many changes in your project, but you will end up with a hospital. You won’t end up with a, for example, theme park, but in IT projects, in software IT development project, you can start by the promise of creating something like a hospital and end up with a theme park.
- 08:35 – That’s the difference between the two of them. So, in fact, when it’s about a construction project, I don’t see a reason for being adaptive, but maybe that’s just me.
- 08:49 – So, that’s the first question.
- 08:52 – The second question, which may be even more important, is can you be adaptive?
- 08:58 – Because it’s not always possible, and how can you say if you can be adaptive?
- 09:07 – When you want to be adaptive, you have – you need to have two different characteristics.
- 09:13 – You should be able to develop iteratively and deliver incrementally. What does it mean?
- 09:20 – What it means is that you should be able to create pieces of product during the project, and by product, I mean real product, something that is possible for the end-user to use because that’s the only way we can get real feedback. It’s not just about showing deliverables.
- 09:36 – We always have deliverables and we always show them to the customer.
- 09:40 – It’s about creating real products as it’s usually said in Scrum Guide, potentially releasable products.
- 09:49 – So, can we have that in a construction project?
- 09:54 – It’s very difficult to imagine having ready products during the project.
- 10:00 – It’s usually usable only when you have everything.
- 10:03 – It’s not like, for example, Microsoft Word, where you can use it without having the feature to print.
- 10:09 – You can’t use a building when you don’t have windows or walls or electricity or something like that, or at least it’s very difficult to imagine using that, and if you can still use it, it doesn’t give you the real experience.
- 10:23 – That’s one thing. The other thing is to develop iteratively, which is very important for us.
- 10:31 – Remember, developing iteratively is when you repeat your development processes during the project, and we need it because we want to do things almost independently of each other.
- 10:48 – We don’t want to do, for example, all the designs upfront because if you want to do that, that turns into a predictive system.
- 10:56 – Now, think about the construction project.
- 10:59 – You have the foundation, you have the first floor, the second floor, and so on.
- 11:03 – Can you design the foundation of the building without designing the rest of the building?
- 11:13 – The design that you have for the rest of the building determines the load that you have on the foundation, which affects the design of the foundation. So, in fact, in a construction project and many other types of project, you have to design everything together, and that’s not iterative.
- 11:33 – So, basically you have to predict things.
- 11:37 – If you want to send a rocket to space, you cannot go on and deliver iteratively, deliver incrementally and develop iteratively.
- 11:48 – You have to think about every possible thing in the beginning of the project, which is predictive.
- 11:56 – So, I have a little exercise for you. Take a look at these, I’ll go get a coffee, and tell me which one is better done with a predictive system and which one is better for adaptive lifecycles.
- 12:13 – So, what would you say?
- 12:17 – The first one to develop a mobile banking software.
- 12:21 – That’s a very good example of when you can have an adaptive system. It’s IT development.
- 12:27 – You can have almost independent features.
- 12:31 – You can repeat the development lifecyc– development processes, design things independently of each other, almost independently.
- 12:40 – You can create different versions of the software, show them to the customer and end-users, receive feedback.
- 12:46 – That’s a very good example. So, probably the best option for that is an adaptive system.
- 12:53 – The second one, upgrading operating systems of 200 computers.
- 12:58 – Now, the point that we have here is that not every IT project is the same.
- 13:04 – There is a big difference between, for example, IT development and infrastructure projects, and that’s also the third option that we have, creating networking infrastructure for a really large corporate that has six different offices in different places in the city or country or any region.
- 13:25 – For both of them, first, do you need to be adaptive or can you understand everything upfront?
- 13:33 – Because if you can, it’s easier and more straightforward to go for a predictive system.
- 13:38 – It’s more predictive. I don’t see why you need to be adaptive, that’s first, and second, can you deliver it iteratively in a meaningful way, you know.
- 13:51 – It’s about creating something that the user can really use and give you meaningful feedback.
- 13:57 – Can you? I won’t say no, but I’m not really sure if yes can be the right answer, and what about the development processes? Can you do them separately?
- 14:11 – For example, isn’t it a better idea to design everything upfront? To plan everything upfront?
- 14:18 – For these two, I would say a predictive system is the better option, but maybe that’s just me.
- 14:26 – What’s the third one? Fourth, fourth one. Building an airport.
- 14:31 – It’s, I believe, a very good example of a predictive …
- 14:37 – of a project that needs a Predictive system and that’s because you need to design everything upfront.
- 14:44 – You need to think about everything upfront. See what’s the best way of doing that, and also do you need to be adaptive. Do you need to adapt to something or it’s based on studying and forecasting the future, and so on. So, I would say predictive for this.
- 15:02 – Renovating your house. It’s still a type of construction project, but there things are different because we can have independent things and design them and test them independently of each other. So, I can see the possibility of having an adaptive system.
- 15:25 – Now, the main question is do we need to be adaptive or do we prefer to think about everything upfront?
- 15:31 – See samples, for example, and decide about everything.
- 15:36 – So, in fact, for this one, I would say it really depends on what type of renovation you have in mind.
- 15:42 – I would say both of them can be used in different times.
- 15:46 – And the last one, developing a new medicine.
- 15:50 – It’s a type of research project, so we have a lot of uncertainties.
- 15:54 – You never know where it wants to go and it’s always difficult to manage such a project.
- 15:59 – It doesn’t matter what type of lifecycle you use.
- 16:03 – Now, for this, do you need to be adaptive? Yeah, probably you need.
- 16:09 – Can you be adaptive? That’s the part that is really difficult to talk about, and my main problem is that I don’t have real experience in this type of project, so it’s hard for me to say.
- 16:23 – I’ve worked in IT projects and construction projects and process plan projects.
- 16:27 – That’s all, yeah. Also, airports.
- 16:33 – So, I can’t say but it seems like something that you may be able to use an adaptive system, but in any way, both for adaptive and predictive, it will be complicated, I think.
- 16:49 – Alright. So, that was something important because you have to be realistic.
- 16:56 – It’s not about – it’s not a game.
- 16:59 – It doesn’t mean that Agile is good. Waterfall, the way they call it, is bad.
- 17:04 – It’s about understanding both of those concepts and understanding your type of project and then see which one is the best option for you.
- 17:12 – Now, one question that we’re going to talk about for the next lesson. Is Agile new?
- 17:18 – Everyone sees Agile as the latest thing in the market and so on, and the alternative as the ancient one, and now, what do you think? Is it new?
Is Agile new?
Self Evaluation
- Do we plan Agile projects? If so, how is it different with predictive systems?
- We run our predictive project in multiple phases, and deliver the product in multiple versions. Does it mean that we are Agile?
- We’re going to start a new project. How can we check to see if Agile is a good approach for that project? Can you give a few examples?
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