Lecture
Questions:
Kanban is not a methodology, it is an approach. It is based on simple ideas:
A tool is what is used as a means to complete a task or achieve a goal. Process is how you work. Scrum and Kanban are process tools that help you work more efficiently, telling you what to do to a certain degree. Java is also a tool, it simplifies computer programming.
As can be seen from the book, Kanban is more than flexible and adaptive. I will give the number of prescriptions:
Scrum is more prescriptive than Kanban because it provides for things like iteration and cross-functional commands. Scrum prescribes 3 roles: Product Owner (responsible for product vision and priorities), Team (responsible for product implementation) and Scrum Master (eliminates obstacles in work and leads the Scrum process). Kanban does not prescribe any roles at all, the smaller the better! We need one Product Owner with the main task - setting priorities.
In Kanban, time-limited iterations are optional, you can release a release every Monday, or by implementing some new cool feature. On this topic in the book are excellent examples:
Team # 3 (event driven)
“We do the planning when we are finished. We make a release when there is minimal commercially valuable functionality (minimum marketable feature set - MMF), ready for release. We have a spontaneous discussion of quality when we encounter the same problem a second time. We also conduct more detailed retrospectives every fourth week. ”
When we talk about boards with stickers, we see the To Do column (from the Product Backlog), the In process column (Ongoing) and the Done task column. The difference between Kanban and Scrum is that in the Ongoing column there can be no more than n entries. In Scrum, work in progress is limited per unit time. In Kanban, work in progress is limited for each of the statuses.
Kanban allows you to edit the To Do column, while in Scrum we can put a new critical task only on the Product Backlog. That is, in kanban there is the principle “one is gone, one has come”. It is only necessary to monitor the equivalence of tasks for labor costs.
A kanban board may never be empty during a project, while a Scrum board must be cleaned after each sprint. A board in Kanban can be divided by function, and in Scrum, teams are cross-functional.
Tasks in Kanban do not necessarily break into a bunch of subtasks of the TC, in contrast to Scrum, there is no need to meet the completion of the sprint. In addition: Scrum prescribes prioritized Product Backlog; In Scrum, daily meetings are required; Burndown diagrams are required in Scrum. Both methodologies, in principle, allow working with two projects on one board.
Sometimes it happens that after a long downtime, resources begin to appear, specialists, management supports and encourages change and innovation. At the same time, there are desires and ideas on how much you can improve, optimize and be a real support for the company's business. Of course, a lot can be done on the first breath, especially when the field is almost completely tilled. But later, the moment comes when IT infrastructure has grown enough and decisions for any changes and implementations are not made as quickly and easily as it was at the very beginning. The reason for that are the same implementations and innovations, now they need to be accompanied, supported, and despite the fact that the IT department has grown, there are not enough resources - we have a large, complex and functioning system. But what about the plans? How are those ideas? There are still a lot of them.
Now I want to tell you about the experiment with kanban-board, which gave an excellent result in the IT department is not an IT-company. Workflow with such a tool has become more controllable and manageable, the dependence of tasks relative to each specialist has become more transparent. Now you can always say with confidence that the department works at 100% and we are moving towards concrete results that are more likely to be achieved.
Suppose we have several specialists of different directions and qualifications. We are faced with several large tasks or projects and our goal is to organize the process in such a way as to involve everyone with maximum efficiency, in accordance with its capabilities, as a specialist. It is also necessary to take into account that there is a constant routine, which with different frequency affects the employment of any employee.
The realities described above are our starting point. We proceed to the preparation ...
At the first stage, each project should be divided into atomic components. Ideally, these tasks should be singled out and put in such a way that they can be performed without delving into the general essence of the issue. In addition, each task must be formed from start to finish with specific metrics and a designated end result.
Further, within each project, we place the dependence of each task on each other. To do this, we will enumerate each task and indicate from which other tasks it depends. The result will be a plan for the implementation of each project.
Example:
Создать виртуальную машину на ESXi #2, с параметрами Name: ServerABC, Guest: Ubuntu x64, RAM: 2 Gb, HDD: 20Gb Pre-allocated
(after: #1) Установить Ubuntu Server 12.04 x64 на виртуальный сервер ServerABC (ESXi #2); разбить HDD: root 2Gb, swap 2Gb, home все оставшееся; IP: 192.168.0.7; hostname: ABC.com; user: abc pass: abc
The work on project development and its planning is easily performed by a profile specialist. After that, the project goes to the manager, and the specialists continue to carry out their current direct responsibilities.
After preparation, we have in our hands several arrays of tasks, the fulfillment of which will lead us to the achievement of specific goals. We will use a kanban board as a visual control and management, and some kind of ticketing system (for example, trac) for tracking and detailed control.
Using these tools, we will prepare our projects for execution. In the ticket system for each project we will create a separate ticket in which we will place the prepared plan. Further, as work begins on each task, we will create sub-diploma to accompany its execution.
Since our plan has already been described in detail and placed on the ticket system (in the main project ticket), to visualize it on the board, it remains only to briefly rewrite each task on a sticker. Prepared stickers are placed on the board, grouping them by project.
Sticker example:
Preparation is finished and now we will consider a kanban-board, with which we will manage the development of events. In contrast to the "traditional" flow from left to right, in this stickers will go down the following stages, starting with the "pool":
To clearly indicate the employment of specialists and the impossibility of their participation in work on the planned projects, you can use magnets of a certain color, such as red. It is also possible to designate a green magnet that a specialist is free and can participate in any project. Often, green magnets hang on specialists for whom at a certain point there is no suitable task, and we would very much like to take them as soon as such a task is found.
PS Scrum and Kanban are not different approaches, Kanban is completely used for Scrum.
Comments
To leave a comment
Software and information systems development
Terms: Software and information systems development