 So, I am Yoganj and I will be talking about some of the agile frameworks and the tools that we use here for project management and progress tracking. Those are named G-RAN confluence, so I will be talking about those tools. But before starting, I would like to know a few things, again, I would like to know how many of you ever developed the software. It may be as small as it can be. You can raise your hands. No one has signed in the college yet. So very few, alright. And how many of you have developed the software, those who raised their hands as a team? Good. Okay. So, I would like to know, have you used any software development lifecycle framework while developing that? You can't speak? No, yes. Yes? You used Scrum model, that's great. Okay. I have one person in the audience who used some one framework of agile, good. I will be talking about Scrum in brief in my slides. Fine, it's good to know how much development have you done and if you have used any agile software development framework or any other software development models of framework. Okay. So, these are the topics I will be covering. I will be talking very briefly about the software development lifecycle models and phases. Then specifically the comparison between waterfall and agile, then we will be detailing two of the agile frameworks that is Scrum and Kanban. Later on, we will be focusing specifically on the Kanban framework and we will see how we can visualize our work using Kanban boards. I will also give you a live demonstration of how a Kanban board looks like and how it has to be created because you all will have to create a Kanban board during your course of the internship. So, starting with software development lifecycle, be it any software development lifecycle, it has certain phases, okay. Like in the previous presentation, Firuza Mam told you that there are certain type of documents like your requirements documents, the UML diagrams, okay. All those happens in the planning and design phase. If you want to develop a software, you will first find out its feasibility, whether it is possible to develop it, okay, the practical feasibility and the financial feasibility. Then it goes into the design phase and then finally the team codes it, the team develops it and then once a set of functionalities are developed which are ready to host, then it goes into the deployment phase and then once the software is deployed, then it goes into the maintenance phase, fine-tuning corrections, another version of it is deployed, all those things. So, are you with me till here? These are the general phases of a software development lifecycle. Now, there are two popular software development lifecycle models or frameworks which are named Waterfall and Agile, okay. They have their own pros and cons, but here in respect of Agile, I will tell you that in Waterfall, the risk remains high, why? Because in Waterfall model, all these five phases, in the last phase, the deployment part, that happens in a very long duration. It may sometimes take more than a year for the customer or for the client to receive his or her own product, what he has raised the requirement for. Whereas, in Agile, the software is delivered in small, small increments, okay, and all these phases that we saw in the previous slide, the design, development, deployment, testing, maintenance, these all happen in small, small increments and those increments vary between one week to four weeks. So, imagine how faster is the delivery, how faster is the user's feedback, okay. So, these are some of the advantages. If you want me to define it, Waterfall is a linear sequential life cycle model, whereas Agile is an iterative approach to software development in which the team delivers value to the user in smaller increments. These are some of the cons of Waterfall model over Agile frameworks. One is that no working software is produced until late during the life cycle. It cannot accommodate changing requirements. So, one of the very good advantages of Agile is that it responds to the change very quickly. It adapts to the changes. It has a high amount of risk and uncertainty. That's because, see, today as a user, as a client, if I'm giving some requirements and I get to see my product after a one year and I see that it's completely opposite. I think you showed a slide, right, that was in some other respect, but that follows here also. In the Waterfall model, the integration is done at a very later stage and if suppose any bug is defected in that stage, then again it has to go through all those life cycle stages. Now, the Agile frameworks basically abides by these four key values which are drafted in the Agile manifesto. One is that in Agile, we give preference to individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation and responding to change over following a plan. Now, I'm not saying that the values which are not in bold are not important. They are also important, but in Agile are more focus, you know, what is the literal meaning of Agile? It's being more quick, right, quick and reliable. So here, we focus more on delivering the value to the end user in small, small increments and in a fast manner. How many of you have heard the term DevOps? Have you? Okay. So you may notatize your assignment in your free time. You can explore it on Google. Let me ask one another question. How many of you have heard the name Netflix? Companies like Netflix, companies like Amazon, they use this concept of DevOps. It is nothing but amalgamation of development and operations, okay, wherein they does development as well as deployment continuously on a continual basis and in a very fast manner. Now all these things comes, you know, by following the Agile frameworks, Agile methodology. Moving forward, as I just mentioned one or two of the companies, these are some other companies that use Agile frameworks. Now these are some of the popular Agile frameworks, Scrum, Kanban, Lean, Extreme Programming, FDD, DSD, CDF, but we will be talking about Scrum and Kanban today and I will briefly explain Scrum and then we will focus more on Kanban. Now what is Scrum? Scrum is an iterative Agile software development framework for managing software development. In Scrum, there are different roles which the team member plays, okay. One is the product owner, another is the Scrum master, another is the team. Then there are certain artifacts, a product backlog, a sprint backlog, a product increment and then there are certain ceremonies, sprint planning, daily Scrum, sprint review. A product owner, basically the roles which I just explained are also the part of your team. One, two, three, four, five, six. You six people have a team, okay. Now you are the product owner, the one sitting next to you is the Scrum master, okay. And the rest is the team, okay. Now what you will do, if you want to develop say a tourism website, okay. So you will come with a set of tasks that needs to be done in order to develop that website, okay. So you as a product owner will come with those tasks and you will create a product backlog. Can you see at the very left, there is a product backlog. And you will continuously groom it because you may not come up with the specific set of tasks to be done in order to develop that tourism website, okay. So you will continuously refine it, you will groom it. And then you will prioritize which tasks to be done first and you will keep it in the priority, fine. Is everyone with me till here? Then the team, then we were talking about certain ceremonies, okay. Ceremonies are nothing but meetings. So in one of the meetings, in the sprint planning meeting, the entire team along with you two will meet, okay. And the team will pick certain tasks which you prioritized. Supposing developing the wire frames, developing the mock-ups in order to create the tourism website, developing the front end, basically. Developing a database for a tourism website. Once your team pulls certain tasks, okay, we will do the out of the tasks that you have prioritized. We will implement these first four tasks in two weeks. Two to four weeks was the duration that I was talking about, okay. But you have to ensure that at the end of this duration, whatever tasks they have chosen, they deliver a potentially shipable product. What does it mean is that it should be a working functionality. It should not be incomplete. So the team chooses certain set of tasks which you as a product are not prioritized, okay. Then they will work upon it, they will develop. Now, remember the phases that we discussed in the previous slides? All those phases will happen in this cycle. Right from requirement gathering to testing and deployment, everything will happen in this. And finally, the functionality is delivered to the customer. We never notice in one of the sessions elsewhere, I got to know that Amazon, they ships at least 1000 functionalities per day. But we never realize using DevOps, of course. So this is how the scrum basically work. If you have any doubts, till here you may please interrupt me anytime and you can ask. Any doubts, anyone so far? Yeah. Daily scrum, yeah, yeah, of course. So this is again another ceremony which as I told that it's a kind of a meeting. In daily scrum, what happens is that the team meets daily for a fixed duration of time, which is 15 minutes. There they discuss three things. First thing is what have I done yesterday? What I plan to do today? And are there any bottlenecks or impediments? So this, what this do is that it brings everyone onto the same page. So the team will meet daily and one of the roles which I did not mention is the scrum master, your duty. I did not tell you what you will be doing. So basically you will be facilitating these all ceremonies. The sprint planning, the daily scrum, the sprint review, okay? And you will be ensuring that everyone adheres to it. Now usually in practical scenarios, what happens is that this meeting starts daily scrum, everyone discusses what they did yesterday, what they are planning to do today, and what were the bottlenecks. Then the discussion digresses and this meeting continues till two hours, sometimes in the other scenario, this meeting ends in a minute or two. No one is really very enthusiastic about it. So the scrum master has a big role to play here. He has to facilitate in a nice and interesting manner. Maybe this meeting can, in companies, there are cafeterias. There are some interesting places. So there these ceremonies can be organized. So this is how the scrum works. This is yet another depiction of the same workflow. You can take a few seconds to have a look. As you can see, when we deliver the final product here in the shipable product increment, there is another ceremony called sprint review, wherein the team demonstrates the functionality that they have developed to the end user and take its feedback. And work upon it in the next set of iteration. And iteration and these intervals are called sprints in scrum. Now let's come to Kanban. So scrum, if anyone will ask you scrum, will you be able to answer at least a few things about scrum? Now, great. Now let's understand what is a Kanban framework. Kanban's literal meaning in Japanese is a visual signal, okay? And Kanban is a visual system for managing work. It visualizes both the process and the actual work that is being done. How? That we'll see in the coming slides. I just gave an example that she is developing a tourism website. Now, how you will visualize it for your team or supposing you are reporting to someone more senior. Someone who runs the company, let's say the CEO of the company. And he is not meeting with the team, okay? And he wants to know, without meeting anyone, without hearing a single word, that what's the progress of the software that you are developing? How that person will do it? So here the Kanban method helps. One of the things of the Kanban system is visualization. And how do we do that visualization? We do it through Kanban boards that we'll see. So using a Kanban board, it helps in visualizing the team's work. It helps in standardizing a workflow of the work. It helps in identifying and removing any blockers and dependencies. How we will see? See, a Kanban board can be of two different types. It can be a physical board and it can be a digital board, okay? So here you can see this is a physical board being used at some firm. This is another example of a physical board. I'll come to the specifics of this board in the later slides. And this is a digital board, okay? Now, there are different types of Kanban boards. Personal Kanban board, you can use it to organize your own tasks, okay? Tasks and work items. Here you can see there are different columns. Can you see this? One is the backlog, next is the next. Then in progress and then done. So there are certain terminologies of creating a board. These are the columns. These represent the different stages of your workflow, okay? Below it, you are seeing a certain number, okay? That I will talk about in a very short time. So in backlog, we list all those tasks that needs to be done. Then in next, we pull the prioritized tasks that needs to be done on an immediate basis. Then we put in, under in progress, the tasks which are in progress. And in the done column, we put the tasks which are completed, okay? This personal Kanban board is for a single person and for one team. Here you can see it's an aggregated personal Kanban board, okay? If we want to visualize user-wise what are the tasks a team is doing, then it is organized in this manner. These rows, user-wise rows are called swim lanes, okay? Here you can see that Steven has a task called H and Peter is doing a task named E, like he is already working on some task. And there is only one task that is completed and that is being done by Joe. Now can you see this Kanban board? This is called a team Kanban board. Now, here the focus is less on the users. The focus is more on the tasks that are being worked upon, okay? But still in order to represent visually which task is assigned to which users, here we use avatars. So, here you can see this task C is being assigned to a user named PB, then DE, then GY. These are just examples and there may be scenario where, you know, more than one team is working in collaboration, okay? Supposing the development, there are multiple teams involved and there are dependencies. You are doing certain set of functionalities, then another team is doing another set of functionalities. So, in that case what happens is we use aggregated team Kanban boards. Here you can see there are the pool of tasks which needs to be done. At the very left there are the pool of tasks, then the tasks which are being done by the development team and the tasks which are being done by the testing team. And then the deployment ready and then the done. These all stages, you know, constitutes to a workflow. In a Kanban system, a typical Kanban board looks like this. Here you can see there are different numbers, 5, 4, 3, 4, 2, 2, okay? So, can anyone tell me what are these numbers? Just a random guess, okay? So, every team member, see every person has his or her own capacity, has his or her efficiency to do certain number of tasks at a time. You cannot do 10 tasks at a time. You cannot do 15, 20 tasks at a time. So, in a Kanban system, you limit the number of tasks in each stage, okay? So for example, there can be only 3 tasks in development at a time. There can be only 2 tasks which can be the build ready. There can be only 2 tasks which can be tested. So, this helps identify certain things. I will talk about what? We will take another, again the tourism example, okay? You assigned tasks to your team members. Now, the work limit of each of your team members is 2 tasks per person, okay? Now in your board, if there are more than 2 tasks in that column, so the total efficiency is how much? 6 tasks for 3 members, okay? Now if there are more than those tasks in that column, say there are 8 tasks, okay? In progress, then you can see, you can visualize that more work is assigned to them in comparison to what they can deliver, what they can do. And this is what is resulting in the output, in the output of my software. This is what is delaying the target software, the delivery of the target software. So this is how it helps. In keeping the flow going, we use a term called continuous flow. So anytime, if this maximum number of work items exceeds, we identify that there is a potential bottleneck and then we work upon it. Here, this is a digital Kanban board. There are 4 columns to do in progress code review done, okay? And here you can see there is some red color over here, right? Here if I zoom it, the maximum number of tasks which are permitted in the code review stages, only 2. And here if we see, there are 3 tasks, okay? That's the reason it is showing a red color, which is a sign of risk, which is a sign of a potential bottleneck, a potential impediment. So this triggers some action that, okay, why there is, there are 3 tasks in code review. We need to improve our system so that this flow doesn't break, so that the flow is continuous, okay? Now I'll give you a live demonstration of a Kanban board on a tool named JIRA. But before that, I'll briefly discuss about what Confluence and JIRA tools does, okay? I know it's a lot to take in all at a time, but even if you are able to understand small, small things about these topics, it will help you get started. And then we'll conduct follow-up meetings with you every week, and then we'll see how these systems actually work, and the details and specifics of these systems, okay? So Confluence, Confluence is a tool wherein you can collaborate and you can create documentations, you can collaborate upon information basically in very generic terms, but in the specific terms, in the previous presentation, Firuza Mam told that you need to document certain things in order to develop a software. Now how will you share that information? How will you collaborate on that information with your team, okay? How many of you used Google Drive? How many of you created a document collaboratively on Google Drive? Yeah, so it's a similar concept, but it is beyond Google Drive, okay? But in order to make you understand very quickly, I use this analogy. So in Confluence, you can collaborate over the information, okay? You can create certain documents, you can use commenting features, inline comments, you can review those documents and you can finally freeze the document. Finally when you are done with that, in JIRA, you can track specific tasks that you are doing. That was the Confluence's part that was more focused on the documentation thing. Now coming back to what we were discussing earlier in Kanban, we were creating a list of tasks, we were creating work items, okay? Now in order to create a digital board, where do we create that? So for that we use a tool named JIRA, okay? There are more other tools freely available such as Trello, you can try exploring it. But here we use JIRA. This is developed by a company named Atlassian, okay? Now in order to define it, it is just a progress tracking and project management tool. It helps to plan, track and release your software. Now let's see a quick demo. You may note this URL. So we'll be creating your accounts on this software and we'll be configuring all the necessary permissions required for you to begin with creating a Kanban board, okay? And when I'll be having a one-to-one sessions with different teams, then I will go into more specifics of this tool. Right now I will not focus more on the specifics of using these tools because I believe that it is self-explanatory and people like you will be very easily be able to adapt to this tool, okay? So there are different projects being created over here. So I think from tomorrow onwards, groups will be formed based on different projects, okay? So there will be different projects over here on JIRA and each project will have its own Kanban board, okay? And those boards will be accessible here in the boards menu. So let's just see an example. I just opened a Kanban board and this Kanban board talks about a school management system wherein there are three modules that needs to be developed. One is the grades module, one is the attendance module, okay? And some third other module. Now just by looking at this board, I'm able to identify, okay, these are the tasks which needs to be done, which are pending to be done. These are the tasks which are already selected for development and these are the ongoing tasks which is being worked upon by my team and these are the completed functionalities. Once again, the terminologies of a Kanban board, the first column at the very left is called the commitment point and the column at the very right is called the delivery point, okay? Here are the tasks which we list, we prioritize which needs to be done in order to develop that software. In the second column, we put in the prioritized tasks which needs to be developed first. In the third column, the ongoing tasks which are being worked upon and these tasks in Kanban terminology are called work items. So we can choose anything which is easier to understand and these are called cards. Finally the tasks gets done which is the fourth stage. Now it's not necessary that this flow has to be exactly the same as this. Like it can vary, there can be say testing column in between, a testing step in between, there can be a review column in between. So that is on you as a team to decide. Again you can see here a number that is 3, 2 which is the work in progress limit. It's the acronym is WIP limit, okay? If it exceeds, if the number of tasks in any of the stages exceeds then the defined WIP limit then either you need to reset your WIP limit or you need to find that why, what is what's the reason behind it's being stuck. How these cards are being created, we'll just quickly see, I'll just click on the create button. So supposing I have developed this functionality of the attendance module or the grades module, I want to test it. So I will write, okay? Now right now it is, I am not detailing the specifics but this is how we created tasks. Here we write the summary of it and here we detail its acceptance criteria. What an acceptance criteria is that we will discuss when we'll have one-on-one meetings, okay? Then I will assign it to some person. So she is my teammate, I have assigned this task to her or the teammate can assign it to them their own selves. Finally I click on create. You can see the task is appearing over here. Now as the stage of the task progresses, the task moves to different stages. You as a user can simply select and drag and drop the card into the different stages. Coming back to our final slides, there are certain merits of why Kanban is being used and one of the merit is that you do not need to change anything in your existing system. You can directly start using Kanban as and where and what you are doing now, okay? Even if you are in a very preliminary stage, your requirement gathering is going on or if you are in a very advanced stage where you have already developed a functionality and you are ready to deploy, even then you can use a Kanban because it is one of the most primary things about Kanban is it helps to visualize your existing state of work, okay? It brings transparency, visibility that you will see when you'll implement Kanban boards. It improves collaboration and it reduces overburdening by maximizing the efficiency. And this last point is being achieved by setting correct WIP limits. Now just not to confuse with what is Scrum and what is Kanban and how they are interrelated. They are two different concepts and these are the differences between them. In Scrum, we deliver a potential software functionality in fixed intervals wherein in Kanban it's a continuous flow, okay? These are the metrics, difference in metrics but I will not be covering those metrics right now. There are certain roles that we discussed in Scrum but in Kanban there are no specific roles. The team are self-organized in nature and the roles, everyone plays different roles in the team. So good news, this is the last slide and going forward you will be required to do these things, okay? First is that creating your personal Kanban boards, soon we will provide your credentials for Jira and Confluence. So and we will configure different projects in Jira based on whichever project that you choose. Then the first task that you have to do is you have to create your own personal Kanban boards, okay? And write in the work items, the tasks that you are planning to do over the next one week, okay? You as an individual, later on we will migrate those personal Kanban boards to the team Kanban boards, okay? Secondly, once you are through with this personal Kanban board things, then we will be conducting daily status meetings, okay? And that daily status meetings, we need not involve in those, that is for you as a team, so that the every team member is on the same page, okay? You need to conduct that, then the work status, now this is important that you once your team Kanban board is set up and it's being updated regularly, you need to share that team Kanban board as a report weekly, how that will be done? Then I will discuss with you in the one-on-one meetings, okay? So this is all in a nutshell, all about agile frameworks, in agile frameworks specifically about the scrum and Kanban frameworks. Any questions? I'm open to questions, so I think I delivered it in a very correct manner, 100% it's being understood in a 100% manner. Anyways, I understand these were a lot of different concepts all together at a time, so it's difficult to understand all of the things at a time and there are so many details in each of these topics in frameworks, we cannot understand that in 30 minutes, so we'll take upon these in the coming weeks and I hope this session was informative to you and I hope you will start doing it with creating the personal Kanban boards, rest we will anyways mend it for you to do, okay, thank you.