User:Hamzah2018/sandbox

Agile Kanban Method

Inroduction
Software Project Management (SPM) is the concept that involves knowledge, techniques, and tools, which are essential needed for managing the development process of software projects. SPM is a sub-discipline of project management in which software projects are planned, implemented, monitored, and controlled. In addition, in order to deliver the software on the time, a software project manager is responsible for planning and scheduling the process of Software Development Projects (SDPs).

Kanban Method
The concept of Kanban has been introduced at Toyota in 1947, however, recently has gained an increasing momentum in domain of Software Engineering (SE). Kanban term has taken from Japanese term, which means ‘signboard’. It is a visual process management system that can manage knowledge and work with considering the Just In Time (JIT) delivery, whereby JIT does not overload team members. Beside of that, Kanban method can focus on removing bottlenecks and waste, along with reducing waiting times, which lead to increase the number of throughputs.

David J. Anderson, described Kanban as “an approach to incremental, evolutionary process, and systems change for organizations”. Moreover, Kanban method can enhance understanding, visibility, and controlling the workflow. It can help the management by identifying the bottlenecks during the development process of software projects .. Furthermore, Kanban method uses the pull system as core approach in order to expose the problems of system process, and to stimulate collaboration for continuously improving the system. Kanban is vital method for managing workflow and controlling waste. The works in traditional methods look as a chain, whereby the work of one member is given to another. This may cause lags in the development cycle in case of next member has problems related to others member work, thus this member is being overloaded. However, Kanban method does not push the work tasks to members, but it utilizes the pulling system. All team members must have only one task to work on at a specific time. After finishing that task, team member can pull another task. Recently, Kanban method is gaining increasing attention and popularity, due to its numerous advantages that make it performs better than other methods in terms of managing software projects .. However, some studies have revealed that Kanban method still having challenges prevent its adoption in SDOs. Therefore, the advantages and challenges of Kanban method will be discussed further in the subsequent subsections, after presenting an introduction to Kanban board, Kanban principles, and Kanban practices.

Kanban Board
Kanban method has a board that used to visualize the workflow and monitor the project progress by showing the activities of the development process and keeping WIP in control. Kanban board also gives developers the ability to concentrate on few tasks. Thus, resources and time waste would be reduced due the switching process between the tasks in Kanban board. Kanban board is considered as the key aspect of Kanban method, where the development process can be tracked. Typically, Kanban board is vertically divided into different columns or stages. Each stage refers to the task state. Each task is represented by a card that attached on the board in the stage to represent the task‘s current state. On Kanban board, cards are moved from left side to right side based on the changes of task's state. Figure 1 shows a Kanban board.