Loading

Scrumban


In the recent years, the software engineering has undergone and still undergoing through many changes, to deliver the quality product, to its users, in a minimal time. One of these significant changes, is the greater degree of inclination towards, adopting the agile methodology, to carry out the software development.

Scrum is one of the best approach of implementing the agile process. However, one of the main and significant limitation, possessed by the scrum, is the absence of flexibility and easiness, to carry out few or more changes and maintenance, throughout the whole development process. This brings the evolution of one more agile approach, namely "Scrumban".

What is Scrumban?

It is one of the methodology of agile process, which extracts and makes use of the best features, inherited by the 'Scrum' and the 'Kanban'. It may be seen as a mixed hybrid version of the scrum and the Kanban agile approach, which adopts and implements, best features of both the said approaches, and to make the best use of the agile development process.

Basically, the concept of scrumban, is being introduced, to overcome the limitation, possessed by the scrum, as stated in the introductory paragraphs. Kanban framework was seen as an alternative to scrum framework, to fill the deficiency of maintenance mechanism in the development process. However, Kanban framework lacks in planning feature, to manage the entire development process. This gives birth, to the scrumban framework. Before, diving deep, in the pool of scrumban, let's have a small overview of the constituents of scrumban, i.e., Scrum and Kanban.

Scrum

It is an established and standard framework for the purpose of agile methodology of software development, where features to be incorporated in the software product or tasks to be carried out, are being listed, prioritized and maintained in the product backlog. A scrum framework, consists of product owner, scrum master and development.

Tasks to be performed or features to be added, is being extracted from the product backlog, for each sprint, with the help of the product owner, and thereafter sprints are being executed, for their corresponding listed work, by the self-organized development team, under the supervision of a scrum master, to deliver shippable product, through small and multiple sprints or iterations, with a view to improve the process or the product quality, through retrospective process, after each iteration.

Kanban

Kanban framework emphasizes on the change management and the maintenance process, to bring incremental and continuous improvement, in the process of software development, rather focusing on software project. One of the advantages of using Kanban, is that it may accommodate new features or changes, depending upon its capacity. Further, it provides the feature of visualizing the development workflow, to track the features to be incorporated or small tasks to be executed, with the help of columns and "Work in Progress or WIP" concept.

Scrumban Methodology

Scrumban involves short multiple iterations, which is one of the features of the scrum framework, in order to provided ease, to the developers, to manage and adapt the changing requirements and conditions, in an effective and efficient manner. Further, it comprises of a dashboard or a visual board, as used in the Kanban framework, to visualize and manage the tasks for each iteration.

Scrumban, unlike scrum, is a pull-based framework, where developers or development team, are not being assigned with any task or item, rather they pull out the items from the product backlog, to consider for each iteration, through on demand planning and meetings. These items in the form of user stories are added to the visual board, so as to manage, prioritize and execute these user stories. Further, Scrumban is equipped with the Work in Progress(WIP) Limit features, which is used to keep iterations short and introduces a planning trigger, to plan next for the iteration, in the event, when the WIP goes beyond its limit.

Below given, are some of the key aspects and elements of a scrumban methodology.
  • Iteration: Short iterations, to adapt and implement changes, in an easy and effective manner, where the duration of each iteration, depends upon the number of user stories, assigned to that particular iteration, and the velocity factor, reflecting capability of the team to execute the number of user stories, in complete iteration.
  • On-demand planning: Planning is based on the demand, and is being initiated, only after the planning trigger, goes beyond the limit, where these limits, may be seen as the number of tasks, being left to execute, in the "To Do" section of the visual board.
  • Prioritization: During planning, items are added to "To Do" section and is being prioritized by the numbers in the ascending order, which assists the developers, to determine, which items, needs to be executed, first and which of them could be process later.
  • Bucket Size Planning: This type of planning, involves the usage of 3 bucket system, which is used to represent planning, done at three different levels. 1st bucket with the name of 1-year, is used to provide the long term planning of the software project, such as objectives, scope, goals of the software development, etc. After that, comes 2nd bucket, with the name of 6-months, which is used to reflects the essential and main requirements of the software project. 3rd bucket of 3-month duration, comes in existence, when the plans are to be implemented, where the main requirements are refined, divided and clearly defined into sub smaller task, to be executed by the development team.
  • The Visual Board: The Board or scrumban board is used to monitor the progress of the process, by making use of a board, depicting 3 different types of columns, namely, "To Do","Doing" and "Done". "To do" column reflects the items to be executed, "Doing" section, shows the items being in the process of execution, and "Done" section imparts the items, which has been completed.
  • To Do Doing Done
    ABC
    DEF
    GHI
    JKL
    MNO
    PQR
  • WIP Limit: Work in progress or WIP Limit is used to decide the strength of the items, under the "Doing" section, by keeping in account, team strength, velocity and many such things.
  • Development Team
    It is a self-organized, but less-cross functional team, which does defines the specific number of members, along with assignment of roles and responsibilities. Based on the pull mechanism, team or the team member, chooses the items, to be executed, in a particular iteration.
  • Pull Mechanism
    Unlike scrum, where tasks are being assigned or pushed to the team, for each iteration, Scrumban enforces pull mechanism, where team members are free, to choose items from the "To-Do" section, to plan, what to do next.
  • Feature Freeze
    This features, ensures that no additional features or items could be added, keeping in account, the project deadlines.
  • Triage
    It is used to manage the after-effect of the feature freeze, where important and essential features are considered, skipping other less important functionality, to be implemented, keeping in view, the meeting of the deadlines.

In nutshell, it may be stated that the development, along with its maintenance, on demand and timely basis, ensures the fruitful results of the agile software development projects. The usage and implementation of the scrumban framework, may prove to be beneficial, for fulfilling the need of adapting changes and performing the maintenance, along with the development, in an effective manner.