Scrumban
(→Main Idea) |
|||
(129 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | '' | + | Scrumban is a '''project management framework''', developed for project and task tracking, mainly used by software development teams.<ref name=one>K. Bhavsar, V. Shah and S. Gopalan.(2020) [https://www.researchgate.net/publication/339042026_Scrumban_An_Agile_Integration_of_Scrum_and_Kanban_in_Software_Engineering/citations "Scrumban: An Agile Integration of Scrum and Kanban in Software Engineering"], Software Project Management</ref> In a global, uncertain, unpredictable, highly competitive and fast-changing marketplace, long term scope is difficult to define. A contextual framework is necessary for an effective adoption and tailoring of development practices in response to the changing needs of the environment. That is why new trends are emerging in '''project schedule management'''. Scrumban is an on-demand scheduling system or adaptative planning -defined plan but adaptable priorities- for project management, as a result of the addition of '''Lean''' features to an '''Agile''' framework (Scrum).<ref name=two>Project Management Institute, Inc.. (2017). Guide to the Project Management Body of Knowledge (PMBOK® Guide) (6th Edition). (pp. 177). Project Management Institute, Inc. (PMI). Retrieved from |
+ | https://app.knovel.com/hotlink/toc/id:kpGPMBKP02/guide-project-management/guide-project-management | ||
+ | </ref> | ||
+ | |||
+ | Agile approaches such as Scrum are dominant tools in software development today. However, problems such as poor preparation and project management, and insufficient understanding still exist in software projects. In response to them, new concepts such as Scrumban that incorporate principles of contemporary Lean thinking are proving to be a solution for continuous improvement in software projects by providing an end-to-end focus, unique to the Lean methodology. Scrumban is a useful framework for managing software projects as it results in a continuous and smooth flow of value-creating activities throughout the entire development process, and it emphasizes the continuous movement of valuable work, instead of a sequence of discrete tasks. It is reported that flow techniques demonstrate higher productivity in comparison to time boxed sprints in the Scrum method, which interrupt the fluent flow of work. <ref name=three>Dennehy, D., & Conboy, K. (2018). Identifying Challenges and a Research Agenda for Flow in Software Project Management. Project Management Journal, 875697281880055. doi:10.1177/8756972818800559</ref> | ||
+ | |||
+ | Scrumban was created to be an improved version of [[Scrum]], which maintains its fundamental characteristics and incorporates principles from [[Kanban]]. Contrary to what its name could suggest, it is not exactly a 50-50 mix between Scrum and Kanban, but an adaptation starting at Scrum and ending at a more evolved framework. <ref name=four>Corey Ladas.(2009) [https://www.researchgate.net/publication/234815689_Scrumban_-_Essays_on_Kanban_Systems_for_Lean_Software_Development "Scrumban - Essays on Kanban Systems for Lean Software Development"], Software Project Management</ref> Due to the acquisition of Kanban features, Scrumban has proven to be more appropiate than Scrum in terms of project management, due to time saving, quality improvement and waste minimization. <ref name=five>https://www.researchgate.net/profile/Mashal_Alqudah/publication/329506016_An_Empirical_Study_of_Scrumban_Formation_based_on_the_Selection_of_Scrum_and_Kanban_Practices/</ref> | ||
+ | |||
[[Category:Project Management]] | [[Category:Project Management]] | ||
[[Category:Software Project Management]] | [[Category:Software Project Management]] | ||
+ | [[Category:Project Schedule Management]] | ||
[[Category:Complexity]] | [[Category:Complexity]] | ||
+ | [[Category:Agile]] | ||
+ | [[Category:Lean]] | ||
+ | |||
+ | |||
+ | |||
= Main Idea = | = Main Idea = | ||
===Introduction=== | ===Introduction=== | ||
− | |||
− | |||
The idea was first introduced by '''Corey Ladas''', a pioneer methodologist in the area of software development, who published in 2009 the book “Scrumban: Essays on Kanban Systems for Lean | The idea was first introduced by '''Corey Ladas''', a pioneer methodologist in the area of software development, who published in 2009 the book “Scrumban: Essays on Kanban Systems for Lean | ||
− | Software Development”. Corey Ladas defined Scrumban as a transition method for teams using Scrum. Scrumban arises from some limitations detected at Scrum throughout the years and feedback from practical experience, which will be commented later. As an overview, some of the | + | Software Development”. Corey Ladas defined Scrumban as a transition method for teams using Scrum. Scrumban arises from some limitations detected at Scrum throughout the years and feedback from practical experience, which will be commented later. As an overview, some of the key Scrumban practices are the following <ref name=six>Ellis, George. (2016). Project Management in Product Development - Leadership Skills and Management Techniques to Deliver Great Products. (pp. 251, 252, 253, 254). Elsevier. Retrieved from |
+ | https://app.knovel.com/hotlink/toc/id:kpPMPDLSM4/project-management-in/project-management-in | ||
+ | </ref> : | ||
+ | |||
+ | <u>''Visualization''</u>: The working board is available at all times for all individuals. | ||
+ | |||
+ | <u>''WIP limits''</u>: Each phase of the development process has a limited amount of work or quantity of tasks. | ||
− | <u>'' | + | <u>''Flow management''</u>: It is easy to see when a task is stuck as the flow is visual. |
− | <u>'' | + | <u>''Clear rules''</u>: There are no defined roles, the Team decides how to manage interactions. |
− | <u>'' | + | <u>''Feedback''</u>: Implemented through the entire organization, focused on increasing value and reducing waste. |
− | <u>'' | + | <u>''Continuous improvement''</u>: Value is created by the collective ideas from every individual. |
− | |||
− | To sum up, Scrumban arose with the goal of overcoming weaknesess of Scrum, in order to transform it to a more profitable framework, combining the best of Agile and Lean methods. Therefore, in order to understand Scrumban | + | To sum up, Scrumban arose with the goal of overcoming weaknesess of Scrum, in order to transform it to a more profitable framework, combining the best of '''Agile''' and '''Lean''' methods. It combines the prescriptive nature of Scrum to be Agile and the process improvement from Lean to guarantee high delivered quality standards. Therefore, in order to understand Scrumban it is helpful to have some basic knowledge of both Scrum and Kanban concepts. A brief introduction of Scrum and Kanban is exposed next, prior to explaining Scrumban into detail. |
Line 32: | Line 48: | ||
===What is Scrum?=== | ===What is Scrum?=== | ||
− | [[File:scrumframework1.jpg|thumb|right|400px|Scrum framework overview.<ref name= | + | [[File:scrumframework1.jpg|thumb|right|400px|Scrum framework overview.<ref name=seven>Straughan, G. (2017) [https://www.developmentthatpays.com/scrumban "Development That Pays: Scrumban"], Software Project Management </ref>]] Scrum is a '''software development framework''', the most well-known among all. It has been a popular framework in software development teams since the early 1990s. At teams using Scrum, participants select items (loads of work) of high priority from the Product Backlog, a list with tasks assigned to the team. The Development Team must complete those assessments within the duration of a work cycle, called Sprint. The selected item is called Sprint Backlog. One of the main goals of the framework is to make each Sprint more effective than the previous one. Once a Sprint ends, completed items are delivered and non-completed items are returned to the Product Backlog. <ref name=seven/> |
Line 38: | Line 54: | ||
'''''Teams''''' | '''''Teams''''' | ||
</span> | </span> | ||
− | In most of the cases, from 3 to 9 people. <ref name= | + | In most of the cases, from 3 to 9 people. <ref name=eight>Alexander, M.(2020) [https://monday.com/blog/rnd/the-beginners-guide-to-scrumban/ "The beginner's guide to Scrumban"], Software Project Management</ref> The digit can vary depending on the organization or specific project, but in general the number of team members is small, which is appropiate for carrying out small-medium sized projects. |
Line 44: | Line 60: | ||
'''''Roles''''' | '''''Roles''''' | ||
</span> | </span> | ||
− | Individuals at teams have different roles, which are the Scrum Master, Product Owner and Development Team. <ref name= | + | Individuals at teams have different roles, which are the Scrum Master, Product Owner and Development Team. <ref name=seven/> There is a hierarchy at the organizations in terms of management and decision making. |
Line 56: | Line 72: | ||
'''''Work cycles''''' | '''''Work cycles''''' | ||
</span> | </span> | ||
− | Teams using Scrum work in 1-to-4-week periods or cycles, called | + | Teams using Scrum work in 1-to-4-week periods or cycles, called Sprints. These periods last for 2 weeks in most of the cases. The Sprint terms are fix and the tasks must be delivered within the defined timeslot. |
− | + | ||
Line 63: | Line 78: | ||
===What is Kanban?=== | ===What is Kanban?=== | ||
− | [[File:Kanbanprinciples.PNG|thumb|right|400px|Kanban set of principles overview.<ref name= | + | [[File:Kanbanprinciples.PNG|thumb|right|400px|Kanban set of principles overview.<ref name=seven/> ]] The first Kanban system was introduced by Taiichi Ohno for Toyota Automotive in 1940s.<ref name=nine>https://www.digite.com/kanban/what-is-kanban/#:~:text=It%20all%20started%20in%20the,every%20stage%20of%20production%20optimally.</ref> Kanban is a continuous process, unlike sprints in Scrum. It is a '''set of principles''' applicable to a broad diversity of situations. In this case, work items are pulled directly from the Product Backlog. Each of the columns from the board has a strict limit of Work In Progress (WIP). This is to ensure items are pulled throughout columns within the minimum time. A column with empty spots is an indicator to pull items from the previous column. In a Kanban context, products are delivered as soon as they are done. Continuous revisions are made to guarantee the process gets more efficient and effective in order to improve the quality of the results. The results of the work delivered by the team are always subject to improvement, no matter how good they are. |
Line 69: | Line 84: | ||
'''''Teams''''' | '''''Teams''''' | ||
</span> | </span> | ||
− | + | There are no limitations in teams size. Kanban features are applicable to a wide range of projects and contexts. | |
Line 75: | Line 90: | ||
'''''Roles''''' | '''''Roles''''' | ||
</span> | </span> | ||
− | + | No specifications about roles of team members. Although one -or a few- individuals may take the role of coaches, in general terms there is not a defined hierarchy within teams. | |
Line 87: | Line 102: | ||
'''''Work cycles''''' | '''''Work cycles''''' | ||
</span> | </span> | ||
− | + | There are no time-based iterations, the workflow is continuous. The delivered quality is in all cases subject to improvement, and therefore tasks are not subject to beginning and ending dates. | |
− | + | ===Benefits of Scrumban=== | |
− | + | ||
− | + | ||
− | === | + | |
In Corey Ladas' words, Scrumban is a more evolved framework than Scrum, overcoming its limitations. These limitations, set out in the following sections, have been the subject of speech by some of the experts in the methodology. | In Corey Ladas' words, Scrumban is a more evolved framework than Scrum, overcoming its limitations. These limitations, set out in the following sections, have been the subject of speech by some of the experts in the methodology. | ||
Line 100: | Line 112: | ||
'''Ken Schwaber''', co-founder of [[Scrum]], publicly made the following statement: | '''Ken Schwaber''', co-founder of [[Scrum]], publicly made the following statement: | ||
− | :''“I estimate that 3 out of 4 organisations using [[Scrum]] will not obtain the expected benefits out of the framework. (…) Scrum exposes the inefficiencies or dysfunctions within the product development practices at an organisation. The intention of Scrum is to make them visible in order to solve them, but unfortunately many organisations change Scrum to adapt to those inefficiencies instead of solving them.”''<ref name= | + | :''“I estimate that 3 out of 4 organisations using [[Scrum]] will not obtain the expected benefits out of the framework. (…) Scrum exposes the inefficiencies or dysfunctions within the product development practices at an organisation. The intention of Scrum is to make them visible in order to solve them, but unfortunately many organisations change Scrum to adapt to those inefficiencies instead of solving them.”''<ref name=ten>Reddy, A. (2015) ''The Scrumban [r] evolution: getting the most out of Agile, Scrum, and lean Kanban.'' Addison-Wesley Professional. |
+ | </ref>. | ||
− | '''Mike Cohn''', an Agile-Scrum community leader, also criticized Scrum teams for not being focused on finding innovative solutions to the challenges they face. Cohn was not critical at the Scrum framework itself, but at the increasing mentality among practitioners, which he considers prioritizes a safe approach for completing the tasks rather than promoting innovation. <ref name= | + | '''Mike Cohn''', an Agile-Scrum community leader, also criticized Scrum teams for not being focused on finding innovative solutions to the challenges they face. Cohn was not critical at the Scrum framework itself, but at the increasing mentality among practitioners, which he considers prioritizes a safe approach for completing the tasks rather than promoting innovation. <ref name=ten/> |
− | Although Scrumban also has some limitations which will be exposed later, the application of Kanban features really make Scrumban an efficient project management framework | + | Although Scrumban also has some limitations which will be exposed later, the application of Kanban features really make Scrumban an efficient project management framework in terms of complexity management. The following chart<ref name=one/><ref name=four/><ref name=ten/> exposes some of the limitations of Scrum, how Kanban principles tackle them and the resulting features at a Scrumban framework. |
<span style="font-size:20%"> | <span style="font-size:20%"> | ||
{|class="wikitable" style="margin: auto;" | {|class="wikitable" style="margin: auto;" | ||
− | |''' | + | |'''Limitation of Scrum''' |
− | |''' | + | |'''Input from Kanban''' |
− | |''' | + | |'''Benefits of Scrumban''' |
|- | |- | ||
|No lead time management | |No lead time management | ||
| | | | ||
− | Just-In-Time | + | Just-In-Time. |
| | | | ||
− | Decisions are | + | Decisions are made and work is done when is needed |
|- | |- | ||
|No indicators of work items in process at a time | |No indicators of work items in process at a time | ||
Line 131: | Line 144: | ||
No limitations in team member quantity | No limitations in team member quantity | ||
| | | | ||
− | Variety of roles in a team is not limited | + | Variety of roles in a team is not limited, neither the scale of the project |
|- | |- | ||
− | |No workflow management within | + | |No workflow management within Sprints |
| | | | ||
Work Flow Management (WFM) | Work Flow Management (WFM) | ||
Line 155: | Line 168: | ||
= Applications = | = Applications = | ||
+ | The purpose of establishing a framework is to align resources and processes to the organization’s strategies and objectives. Adaptive frameworks like Scrumban ensure alignment with environmental competitiveness and confront increasing complexity associated with goal attainment and decision making. <ref name=eleven>Project Management Institute, Inc. (PMI). (2019). Standard for Risk Management in Portfolios, Programs, and Projects. (pp. 27). Project Management Institute, Inc. (PMI). Retrieved from | ||
+ | https://app.knovel.com/hotlink/toc/id:kpSRMPPP01/standard-risk-management/standard-risk-management | ||
+ | </ref> Although Scrumban framework might not be as widely known as Scrum yet, the increasing demand for digital products-services and the high competition that companies face are key factors for the implementation of Scrumban at software development projects. The new framework is an interesting tool to be considered by executives and managers for their teams, especially in the case of new technology-based firms (NTBFs), also known as '''start-ups'''. According to an study, many entrepreneurs apply Lean concepts and Agile approaches combined at project management for the development of new products, as they provide sets of practices which support a proactive search for new opportunities<ref name=twelve>Sońta-Drączkowska, E., & Mrożewski, M. (2019). Exploring the Role of Project Management in Product Development of New Technology-Based Firms. Project Management Journal, 875697281985193. doi:10.1177/8756972819851939</ref>. | ||
− | + | As mentioned previously, Scrumban -just like its core methodology Scrum- is a software management framework, which is especially directed to software development teams, although it could also be used for the management of other types of projects. Esentially, there are 2 potential situations in which Scrumban could be implemented. On the one hand, at organizations or teams currently working with Scrum which are trying to overcome its limitations or upgrade the method. This is the most likely situation. On the other hands, organizations which have never worked with Scrum or Scrumban. Although these teams might not be able to recognize the differences between Scrum and Scrumban, and probably will require more time to dominate the new framework, they are perfectly up to start to use Scrumban without previous Scrum experience. | |
− | + | Scrumban framework is especially useful at projects that evolve the product incrementally in operational or maintenance environments <ref name=two/>, as well as in situations where Scrum teams have workflow, resources and processes issues. | |
− | |||
− | |||
− | |||
− | |||
− | + | == Implementation of Scrumban in a team or an organization == | |
+ | As mentioned before, Scrumban was conceived as a pathway from Scrum to a more evolved working environment.<ref name=four/> At an organisation, teams which have experience working with Scrum are more likely to understand Scrumban framework from the very beginning. However, it a relatively easy method in terms of implementation <ref name=six/>. In order to get the most out of it, there is a set of recommended activities for Team Managers to introduce the new working environment and organise their teams. <ref name=ten/> Although these activities are especially conceived as a transition Scrum-Scrumban, they can also be helpful for Team Managers of teams without previous Scrum experience. | ||
− | |||
− | |||
− | + | ===Helpful kickstar process activities=== | |
− | + | ||
− | === | + | |
Line 184: | Line 193: | ||
<u>''1. Introductory Remarks''</u>: Two important factors all team members should know before beginning: | <u>''1. Introductory Remarks''</u>: Two important factors all team members should know before beginning: | ||
− | * The transition to Scrumban does not mean a significant change in team roles or current responsibilities. | + | * The transition to Scrumban does not mean a significant change in team roles or current responsibilities. The specification of this point is important in order to avoid possible barriers caused by fear to change. |
* Every team member must understand and agree with his or her purpose at the team. | * Every team member must understand and agree with his or her purpose at the team. | ||
− | <u>''2. Stakeholder Evaluation''</u>: Service orientation is a relevant factor in Scrumban framework. One of the first activities is to identify stakeholders and any pain they could have. In order to achieve a continuous improvement, it is highly important to get stakeholders to work with the team, together in the same direction. | + | |
+ | |||
+ | <u>''2. Stakeholder Evaluation''</u>: Service orientation is a relevant factor in Scrumban framework. One of the first activities is to identify stakeholders and any pain they could have. In order to achieve a continuous improvement, it is highly important to get stakeholders to work with the team, together in the same direction. The following activities could be helpful for this stage: | ||
+ | |||
+ | [[File:stakeholderevaluation.jpg|thumb|right|200px|Stakeholder evaluation example. Own creation, inspired by <ref name=ten/> ]] | ||
* To visualize the power and influence of each stakeholder, using cards of different sizes. | * To visualize the power and influence of each stakeholder, using cards of different sizes. | ||
Line 200: | Line 213: | ||
These tasks create a clear vision of what parts are more powerful and the current status of relationships; enabling a better understanding of the work to be carried out in order to find a common solution. It is a helpful activity to prioritize a pain solving approach. | These tasks create a clear vision of what parts are more powerful and the current status of relationships; enabling a better understanding of the work to be carried out in order to find a common solution. It is a helpful activity to prioritize a pain solving approach. | ||
+ | |||
+ | |||
<u>''3. Defining purpose and success criteria''</u>: High levels of performance are most likely to be achieved by teams who have a common and well-defined purpose. Previously to beginning to work, the Team Leader should ask the following question: “Why does our Team exist?”. After that, the team will discuss about the answer. When everyone agrees with the answer, it is time to begin the following activity. | <u>''3. Defining purpose and success criteria''</u>: High levels of performance are most likely to be achieved by teams who have a common and well-defined purpose. Previously to beginning to work, the Team Leader should ask the following question: “Why does our Team exist?”. After that, the team will discuss about the answer. When everyone agrees with the answer, it is time to begin the following activity. | ||
+ | |||
+ | |||
<u>''4. Identifying how work is done''</u>: The objective is to understand in a realistic way the situation of the team. What work is requested, who makes the demands (internal or external clients), how demands are communicated, which is the frequency and quantity of orders, etc. This activity is also helpful to categorize the types of work of the following activity. | <u>''4. Identifying how work is done''</u>: The objective is to understand in a realistic way the situation of the team. What work is requested, who makes the demands (internal or external clients), how demands are communicated, which is the frequency and quantity of orders, etc. This activity is also helpful to categorize the types of work of the following activity. | ||
+ | [[File:closedsystemworkflow.jpg|thumb|center|300px|Analysis of the workflow. Own creation, inspired by.<ref name=ten/> ]] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | <u>''5. Understanding Work types (tasks)''</u>: The Team Leader should ask the following questions to the team and let them some time to think and answer them. What types of work have more value for our clients and/or partners? What types of work have a higher and lower demand in quantity? What types of work are more urgent? What types of work are more aligned with the team’s purpose? What types of work are less aligned with the team’s purpose? After considering these questions, work types could be classified according to the following categories. | ||
+ | |||
+ | * By source. (E.g. a specific product, maintenance items or retail banking.) | ||
+ | |||
+ | * By size. Tasks can be differentiated in terms of effort. | ||
+ | |||
+ | * By results. (E.g. a product launch or analysis reports.) | ||
− | + | * By type of flow. (E.g. development, maintenance or analysis.) | |
− | * By | + | * By risk profile. (E.g. standard work, urgent work, compliance with regulations.) |
− | * By | + | * By relevance. Special consideration for those tasks with higher magnitude for the organization. |
− | |||
− | |||
− | |||
− | + | <u>''6. Basic Management''</u>: If the team to which Scrumban is being introduced has been using Scrum before, GetScrumban game is an interesting tool to better understand those new features. <ref name=ten/> The game simulates how a software development team using Scrum can broaden its current capabilities, overcome common challenges or create new ways to improve agility. The game experiments with principles such as pulling system vs. work assignment, evolving adjustments vs. radical change, delay costs vs. subjective prioritization, different service classes vs. a single workflow, or a continuous workflow vs. iterations (Sprints). | |
− | |||
===Creation of the work board=== | ===Creation of the work board=== | ||
− | Once the kickstart activities are completed it is time to create the working tool. | + | Once the kickstart activities are completed it is time to create the working tool. The board used in Scrumban looks similar to the one used in Scrum. This board can be both physical -using a cardboard and post-its- and digital -using applications such as SwiftKanban. <ref name=nine/> |
:<u>'''''Step 1.'''''</u> The board in a Scrumban framework has several columns, where developers will put notes. Each note refers to a task or work to be done. Each column refers to the phase in which the work is. The notes will advance throughout columns, from left to right. The objective is they can reach the final column within the minimum time, but without establishing time limits. Columns can be defined, from left to right, as '''To do''', '''Ready''', '''Designing''', '''Developing''', '''Testing''', and '''Done'''. | :<u>'''''Step 1.'''''</u> The board in a Scrumban framework has several columns, where developers will put notes. Each note refers to a task or work to be done. Each column refers to the phase in which the work is. The notes will advance throughout columns, from left to right. The objective is they can reach the final column within the minimum time, but without establishing time limits. Columns can be defined, from left to right, as '''To do''', '''Ready''', '''Designing''', '''Developing''', '''Testing''', and '''Done'''. | ||
Line 238: | Line 263: | ||
− | [[File:process123.jpg|thumb|center|800px|From left to right, steps 1, 2 and 3.<ref name= | + | [[File:process123.jpg|thumb|center|800px|From left to right, steps 1, 2 and 3. Content obtained from <ref name=seven/> ]] |
− | :<u>'''''Step 4.'''''</u> The following step is to define a minimum | + | :<u>'''''Step 4.'''''</u> The following step is to '''define a minimum amount of work''' in the To Do phase. This limit will be a meeting activator. Instead of arranging meeting every certain period, the team will reunite whenever the work To Do is above the line. In other words, team meetings are triggered by the work itself. This rule allows to close the workflow circle, and guarantees the team is always on the look for new tasks and activities to improve the quality of the work under development. At the same time, it maintains all team members active and busy. |
− | :<u>'''''Step 5.'''''</u> The next step is to reorder continuously tasks in columns. The most relevant or urgent tasks will be reordered to the top of the columns, in order to prioritize them and make them flow throughout the board within the minimum time. | + | :<u>'''''Step 5.'''''</u> The next step is to '''reorder continuously''' tasks in columns. The most relevant or urgent tasks will be reordered to the top of the columns, in order to prioritize them and make them flow throughout the board within the minimum time. |
− | :<u>'''''Step 6.'''''</u> A couple of important aspects to understand Scrumban are the following. On the one hand, work is not assigned sistematiacally to team members. Unlike in Scrum, teams must not early bind work. The goal of the method is to ensure a good workflow and always maintain all members active, that is why an individual will not be in charge of a task from beginning to end. On the other hand, time estimations must not be made. The quality of the delivered work is more important than the timeslot in which it is done. | + | :<u>'''''Step 6.'''''</u> A couple of important aspects to understand Scrumban are the following. On the one hand, '''work is not assigned''' sistematiacally to team members. Unlike in Scrum, teams must not early bind work. The goal of the method is to ensure a good workflow and always maintain all members active, that is why an individual will not be in charge of a task from beginning to end. On the other hand, '''time estimations must not be made'''. The quality of the delivered work is more important than the timeslot in which it is done. |
− | [[File:process456.jpg|thumb|center|800px|From left to right, steps 4, 5 and 6.<ref name= | + | [[File:process456.jpg|thumb|center|800px|From left to right, steps 4, 5 and 6. Content obtained from <ref name=seven/> ]] |
− | |||
− | |||
− | |||
= Limitations = | = Limitations = | ||
Line 261: | Line 283: | ||
===Weaknesses of Scrumban=== | ===Weaknesses of Scrumban=== | ||
− | Like any other management method, tool or framwork; Scrumban also has some limitations. In this case, mainly because the fundamentals of Scrumban are | + | Like any other management method, tool or framwork; Scrumban also has some limitations. In this case, mainly because the fundamentals of Scrumban are those of Scrum, there are some weaknesses that Scrumban has inherited from Scrum <ref name=one/>. These are basically limitation from Scrum which Kanban principles have not solved. On the other hand, there are also some potential weaknesses in Scrumban caused by an inappropiate understanding of the framework when switching from Scrum. |
− | * | + | * Although Scrum '''teams size''' are suitable for small-medium sized projects, they limit progress at big scale projects. Kanban principles do not solve this inconvenient because as they do not especify an standard team size.<ref name=one/> |
− | * | + | * At Scrum Sprints, '''external stakeholders''' do not participate and this fact often implies progress issues and completion of tasks. Kanban does not especify stakeholders' contribution at tasks. <ref name=one/> |
− | * Role | + | * '''Roles''' at teams working with Scrum are limited. Role specification is essential for development teams and Kanban does not especify team roles either. |
− | * | + | * In an Scrumban framework, Team Managers have '''fewer control''' than in Scrum <ref name=thirteen>https://ora.pm/es/blog/scrumban/</ref>. Individuals choose tasks for themselves. There is higher equality among all individuals and it is harder to track the effort of contribution of each person. |
− | |||
− | |||
− | + | It is especially important for Team Managers to recognize these limitations or weaknesses of Scrumban framework in order to consider how they could affect their specific project. Once they have been detected it is easier to anticipate and come up with solution to tackle them. In fact, every project is different and the described limitations could affect in a higher or lower extent to the project. Clarifying them and ensuring team members to be aware of them is a good way to minimize their impact. | |
− | |||
= Annotated bibliography = | = Annotated bibliography = | ||
Line 305: | Line 324: | ||
:-I would like to make a special mention to Gary, whose content regarding Scrumban, both in his YouTube channel and his website (Development That Pays) was very useful for me to understand the concept at the very beginning. I highly recommend his contribution to everyone who has never heard about Scrum and Scrumban before. | :-I would like to make a special mention to Gary, whose content regarding Scrumban, both in his YouTube channel and his website (Development That Pays) was very useful for me to understand the concept at the very beginning. I highly recommend his contribution to everyone who has never heard about Scrum and Scrumban before. | ||
+ | |||
+ | |||
+ | |||
+ | |||
= References = | = References = | ||
<references /> | <references /> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ''Made by Xabi Martínez de Zabarte (s210323)'' |
Latest revision as of 16:46, 27 February 2021
Scrumban is a project management framework, developed for project and task tracking, mainly used by software development teams.[1] In a global, uncertain, unpredictable, highly competitive and fast-changing marketplace, long term scope is difficult to define. A contextual framework is necessary for an effective adoption and tailoring of development practices in response to the changing needs of the environment. That is why new trends are emerging in project schedule management. Scrumban is an on-demand scheduling system or adaptative planning -defined plan but adaptable priorities- for project management, as a result of the addition of Lean features to an Agile framework (Scrum).[2]
Agile approaches such as Scrum are dominant tools in software development today. However, problems such as poor preparation and project management, and insufficient understanding still exist in software projects. In response to them, new concepts such as Scrumban that incorporate principles of contemporary Lean thinking are proving to be a solution for continuous improvement in software projects by providing an end-to-end focus, unique to the Lean methodology. Scrumban is a useful framework for managing software projects as it results in a continuous and smooth flow of value-creating activities throughout the entire development process, and it emphasizes the continuous movement of valuable work, instead of a sequence of discrete tasks. It is reported that flow techniques demonstrate higher productivity in comparison to time boxed sprints in the Scrum method, which interrupt the fluent flow of work. [3]
Scrumban was created to be an improved version of Scrum, which maintains its fundamental characteristics and incorporates principles from Kanban. Contrary to what its name could suggest, it is not exactly a 50-50 mix between Scrum and Kanban, but an adaptation starting at Scrum and ending at a more evolved framework. [4] Due to the acquisition of Kanban features, Scrumban has proven to be more appropiate than Scrum in terms of project management, due to time saving, quality improvement and waste minimization. [5]
Contents |
[edit] Main Idea
[edit] Introduction
The idea was first introduced by Corey Ladas, a pioneer methodologist in the area of software development, who published in 2009 the book “Scrumban: Essays on Kanban Systems for Lean Software Development”. Corey Ladas defined Scrumban as a transition method for teams using Scrum. Scrumban arises from some limitations detected at Scrum throughout the years and feedback from practical experience, which will be commented later. As an overview, some of the key Scrumban practices are the following [6] :
Visualization: The working board is available at all times for all individuals.
WIP limits: Each phase of the development process has a limited amount of work or quantity of tasks.
Flow management: It is easy to see when a task is stuck as the flow is visual.
Clear rules: There are no defined roles, the Team decides how to manage interactions.
Feedback: Implemented through the entire organization, focused on increasing value and reducing waste.
Continuous improvement: Value is created by the collective ideas from every individual.
To sum up, Scrumban arose with the goal of overcoming weaknesess of Scrum, in order to transform it to a more profitable framework, combining the best of Agile and Lean methods. It combines the prescriptive nature of Scrum to be Agile and the process improvement from Lean to guarantee high delivered quality standards. Therefore, in order to understand Scrumban it is helpful to have some basic knowledge of both Scrum and Kanban concepts. A brief introduction of Scrum and Kanban is exposed next, prior to explaining Scrumban into detail.
[edit] What is Scrum?
Scrum is a software development framework, the most well-known among all. It has been a popular framework in software development teams since the early 1990s. At teams using Scrum, participants select items (loads of work) of high priority from the Product Backlog, a list with tasks assigned to the team. The Development Team must complete those assessments within the duration of a work cycle, called Sprint. The selected item is called Sprint Backlog. One of the main goals of the framework is to make each Sprint more effective than the previous one. Once a Sprint ends, completed items are delivered and non-completed items are returned to the Product Backlog. [7]
Teams
In most of the cases, from 3 to 9 people. [8] The digit can vary depending on the organization or specific project, but in general the number of team members is small, which is appropiate for carrying out small-medium sized projects.
Roles
Individuals at teams have different roles, which are the Scrum Master, Product Owner and Development Team. [7] There is a hierarchy at the organizations in terms of management and decision making.
Meetings
Each sprint begins with a Sprint Planning Meeting arranged by the Scrum Master, to which all members of the team are called. Other stakeholders may also be part of the Sprint Planning Meetings. Daily Scrums or short meetings are also held every day, where all team members reunite.
Work cycles
Teams using Scrum work in 1-to-4-week periods or cycles, called Sprints. These periods last for 2 weeks in most of the cases. The Sprint terms are fix and the tasks must be delivered within the defined timeslot.
[edit] What is Kanban?
The first Kanban system was introduced by Taiichi Ohno for Toyota Automotive in 1940s.[9] Kanban is a continuous process, unlike sprints in Scrum. It is a set of principles applicable to a broad diversity of situations. In this case, work items are pulled directly from the Product Backlog. Each of the columns from the board has a strict limit of Work In Progress (WIP). This is to ensure items are pulled throughout columns within the minimum time. A column with empty spots is an indicator to pull items from the previous column. In a Kanban context, products are delivered as soon as they are done. Continuous revisions are made to guarantee the process gets more efficient and effective in order to improve the quality of the results. The results of the work delivered by the team are always subject to improvement, no matter how good they are.
Teams
There are no limitations in teams size. Kanban features are applicable to a wide range of projects and contexts.
Roles
No specifications about roles of team members. Although one -or a few- individuals may take the role of coaches, in general terms there is not a defined hierarchy within teams.
Meetings
Daily Standup meetings where all team members are present.
Work cycles
There are no time-based iterations, the workflow is continuous. The delivered quality is in all cases subject to improvement, and therefore tasks are not subject to beginning and ending dates.
[edit] Benefits of Scrumban
In Corey Ladas' words, Scrumban is a more evolved framework than Scrum, overcoming its limitations. These limitations, set out in the following sections, have been the subject of speech by some of the experts in the methodology.
Ken Schwaber, co-founder of Scrum, publicly made the following statement:
- “I estimate that 3 out of 4 organisations using Scrum will not obtain the expected benefits out of the framework. (…) Scrum exposes the inefficiencies or dysfunctions within the product development practices at an organisation. The intention of Scrum is to make them visible in order to solve them, but unfortunately many organisations change Scrum to adapt to those inefficiencies instead of solving them.”[10].
Mike Cohn, an Agile-Scrum community leader, also criticized Scrum teams for not being focused on finding innovative solutions to the challenges they face. Cohn was not critical at the Scrum framework itself, but at the increasing mentality among practitioners, which he considers prioritizes a safe approach for completing the tasks rather than promoting innovation. [10]
Although Scrumban also has some limitations which will be exposed later, the application of Kanban features really make Scrumban an efficient project management framework in terms of complexity management. The following chart[1][4][10] exposes some of the limitations of Scrum, how Kanban principles tackle them and the resulting features at a Scrumban framework.
Limitation of Scrum | Input from Kanban | Benefits of Scrumban |
No lead time management |
Just-In-Time. |
Decisions are made and work is done when is needed |
No indicators of work items in process at a time |
Work In Process (WIP) limits |
Work overload is avoided |
Restricted team size |
No limitations in team member quantity |
Variety of roles in a team is not limited, neither the scale of the project |
No workflow management within Sprints |
Work Flow Management (WFM) |
Internal workflow managed by assigning state to each work item (In Progress, Done) |
No vision about internal state of work |
Work In Process (WIP) |
Visualization of work items that are active and in process |
Limited iterative approach |
Continuous integration/Continuous Delivery (CI/CD) |
All work and processes are subject to a continuous improvement |
[edit] Applications
The purpose of establishing a framework is to align resources and processes to the organization’s strategies and objectives. Adaptive frameworks like Scrumban ensure alignment with environmental competitiveness and confront increasing complexity associated with goal attainment and decision making. [11] Although Scrumban framework might not be as widely known as Scrum yet, the increasing demand for digital products-services and the high competition that companies face are key factors for the implementation of Scrumban at software development projects. The new framework is an interesting tool to be considered by executives and managers for their teams, especially in the case of new technology-based firms (NTBFs), also known as start-ups. According to an study, many entrepreneurs apply Lean concepts and Agile approaches combined at project management for the development of new products, as they provide sets of practices which support a proactive search for new opportunities[12].
As mentioned previously, Scrumban -just like its core methodology Scrum- is a software management framework, which is especially directed to software development teams, although it could also be used for the management of other types of projects. Esentially, there are 2 potential situations in which Scrumban could be implemented. On the one hand, at organizations or teams currently working with Scrum which are trying to overcome its limitations or upgrade the method. This is the most likely situation. On the other hands, organizations which have never worked with Scrum or Scrumban. Although these teams might not be able to recognize the differences between Scrum and Scrumban, and probably will require more time to dominate the new framework, they are perfectly up to start to use Scrumban without previous Scrum experience.
Scrumban framework is especially useful at projects that evolve the product incrementally in operational or maintenance environments [2], as well as in situations where Scrum teams have workflow, resources and processes issues.
[edit] Implementation of Scrumban in a team or an organization
As mentioned before, Scrumban was conceived as a pathway from Scrum to a more evolved working environment.[4] At an organisation, teams which have experience working with Scrum are more likely to understand Scrumban framework from the very beginning. However, it a relatively easy method in terms of implementation [6]. In order to get the most out of it, there is a set of recommended activities for Team Managers to introduce the new working environment and organise their teams. [10] Although these activities are especially conceived as a transition Scrum-Scrumban, they can also be helpful for Team Managers of teams without previous Scrum experience.
[edit] Helpful kickstar process activities
1. Introductory Remarks: Two important factors all team members should know before beginning:
- The transition to Scrumban does not mean a significant change in team roles or current responsibilities. The specification of this point is important in order to avoid possible barriers caused by fear to change.
- Every team member must understand and agree with his or her purpose at the team.
2. Stakeholder Evaluation: Service orientation is a relevant factor in Scrumban framework. One of the first activities is to identify stakeholders and any pain they could have. In order to achieve a continuous improvement, it is highly important to get stakeholders to work with the team, together in the same direction. The following activities could be helpful for this stage:
- To visualize the power and influence of each stakeholder, using cards of different sizes.
- To visualize the degree in which each stakeholder involved supports the initiative. Draw a center point, and place the cards used before around, at different distances from the point. The closer to it, the bigger support from each stakeholder.
- To visualize the frequency of relationships among stakeholders. Draw different line types linking stakeholders’ cards. The thicker the line, the stronger the relation. Discontinuous lines mean sporadic relations.
- To visualize the quality of relationships among stakeholders with special symbols. As an example, a circle could mean a friendly/healthy relationship, a triangle a neutral/weak relationship, a cross an adversarial relationship.
These tasks create a clear vision of what parts are more powerful and the current status of relationships; enabling a better understanding of the work to be carried out in order to find a common solution. It is a helpful activity to prioritize a pain solving approach.
3. Defining purpose and success criteria: High levels of performance are most likely to be achieved by teams who have a common and well-defined purpose. Previously to beginning to work, the Team Leader should ask the following question: “Why does our Team exist?”. After that, the team will discuss about the answer. When everyone agrees with the answer, it is time to begin the following activity.
4. Identifying how work is done: The objective is to understand in a realistic way the situation of the team. What work is requested, who makes the demands (internal or external clients), how demands are communicated, which is the frequency and quantity of orders, etc. This activity is also helpful to categorize the types of work of the following activity.
5. Understanding Work types (tasks): The Team Leader should ask the following questions to the team and let them some time to think and answer them. What types of work have more value for our clients and/or partners? What types of work have a higher and lower demand in quantity? What types of work are more urgent? What types of work are more aligned with the team’s purpose? What types of work are less aligned with the team’s purpose? After considering these questions, work types could be classified according to the following categories.
- By source. (E.g. a specific product, maintenance items or retail banking.)
- By size. Tasks can be differentiated in terms of effort.
- By results. (E.g. a product launch or analysis reports.)
- By type of flow. (E.g. development, maintenance or analysis.)
- By risk profile. (E.g. standard work, urgent work, compliance with regulations.)
- By relevance. Special consideration for those tasks with higher magnitude for the organization.
6. Basic Management: If the team to which Scrumban is being introduced has been using Scrum before, GetScrumban game is an interesting tool to better understand those new features. [10] The game simulates how a software development team using Scrum can broaden its current capabilities, overcome common challenges or create new ways to improve agility. The game experiments with principles such as pulling system vs. work assignment, evolving adjustments vs. radical change, delay costs vs. subjective prioritization, different service classes vs. a single workflow, or a continuous workflow vs. iterations (Sprints).
[edit] Creation of the work board
Once the kickstart activities are completed it is time to create the working tool. The board used in Scrumban looks similar to the one used in Scrum. This board can be both physical -using a cardboard and post-its- and digital -using applications such as SwiftKanban. [9]
- Step 1. The board in a Scrumban framework has several columns, where developers will put notes. Each note refers to a task or work to be done. Each column refers to the phase in which the work is. The notes will advance throughout columns, from left to right. The objective is they can reach the final column within the minimum time, but without establishing time limits. Columns can be defined, from left to right, as To do, Ready, Designing, Developing, Testing, and Done.
- Step 2. The following step is to define Work In Progress (WIP) limits. Consists in defining a maximum number of positions for each column, or said in other words, a maximum amount of work in a same phase. This restriction enables the pull system from Kanban. This means tasks will be automatically pulled through columns -to the right- whenever a position is left empty. Thanks to it, a constant and well organised workflow is ensured.
- Step 3. Afterwards, the 3 columns of the in-progress phases are divided into 2 subcolumns, defined as In Progress and Done.
- Step 4. The following step is to define a minimum amount of work in the To Do phase. This limit will be a meeting activator. Instead of arranging meeting every certain period, the team will reunite whenever the work To Do is above the line. In other words, team meetings are triggered by the work itself. This rule allows to close the workflow circle, and guarantees the team is always on the look for new tasks and activities to improve the quality of the work under development. At the same time, it maintains all team members active and busy.
- Step 5. The next step is to reorder continuously tasks in columns. The most relevant or urgent tasks will be reordered to the top of the columns, in order to prioritize them and make them flow throughout the board within the minimum time.
- Step 6. A couple of important aspects to understand Scrumban are the following. On the one hand, work is not assigned sistematiacally to team members. Unlike in Scrum, teams must not early bind work. The goal of the method is to ensure a good workflow and always maintain all members active, that is why an individual will not be in charge of a task from beginning to end. On the other hand, time estimations must not be made. The quality of the delivered work is more important than the timeslot in which it is done.
[edit] Limitations
[edit] Weaknesses of Scrumban
Like any other management method, tool or framwork; Scrumban also has some limitations. In this case, mainly because the fundamentals of Scrumban are those of Scrum, there are some weaknesses that Scrumban has inherited from Scrum [1]. These are basically limitation from Scrum which Kanban principles have not solved. On the other hand, there are also some potential weaknesses in Scrumban caused by an inappropiate understanding of the framework when switching from Scrum.
- Although Scrum teams size are suitable for small-medium sized projects, they limit progress at big scale projects. Kanban principles do not solve this inconvenient because as they do not especify an standard team size.[1]
- At Scrum Sprints, external stakeholders do not participate and this fact often implies progress issues and completion of tasks. Kanban does not especify stakeholders' contribution at tasks. [1]
- Roles at teams working with Scrum are limited. Role specification is essential for development teams and Kanban does not especify team roles either.
- In an Scrumban framework, Team Managers have fewer control than in Scrum [13]. Individuals choose tasks for themselves. There is higher equality among all individuals and it is harder to track the effort of contribution of each person.
It is especially important for Team Managers to recognize these limitations or weaknesses of Scrumban framework in order to consider how they could affect their specific project. Once they have been detected it is easier to anticipate and come up with solution to tackle them. In fact, every project is different and the described limitations could affect in a higher or lower extent to the project. Clarifying them and ensuring team members to be aware of them is a good way to minimize their impact.
[edit] Annotated bibliography
The references provided next may be consulted for further reading on the topic of software project management framework Scrumban.
- Ladas, C. (2009) Scrumban: Essays on Kanban Systems for Lean Software Development. Lean Series. Seattle WA: Modus Cooperandi Press.
- -First book explaining the fundamentals of Scrumban, written by the methodologist who first conceived the method. Ladas explains how agile methodologies such as Scrum have helped software developers to be more efficient, while at the same time there is still room for more benefits. Lean methods such as Kanban can make these processes even more powerful and profitable. The author provides essays for real-world cases to give teams the background to create more robust practices.
- Bhavsar, K. et al. (2020) Scrumban: An Agile Integration of Scrum and Kanban in Software Engineering, International Journal of Innovative Technology and Exploring Engineering (IJITEE), vol. 9, issue 4. ISSN: 2278-3075.
- -This recently published paper exposes how emerging software engineering technologies seek an Agile process and framework for their management at an organisational level. The authors explain the limitations of Scrum, and how the formation of hybrid framework Scrumban can be a solution to the challenges of Scrum, considering as well the limitations of Scrumban.
- Reddy, A. (2015) The Scrumban [r] evolution: getting the most out of Agile, Scrum, and lean Kanban. Addison-Wesley Professional.
- -The author explains the role of Kanban as a catalyst to increase the value of existing software development processes, augmenting the benefits of Scrum. It is a comprehensive, coherent and practical book in order to help teams to implement Scrumban and get the most out of it.
- Straughan, G. (2017) "Development That Pays: Scrumban", Software Project Management
- -I would like to make a special mention to Gary, whose content regarding Scrumban, both in his YouTube channel and his website (Development That Pays) was very useful for me to understand the concept at the very beginning. I highly recommend his contribution to everyone who has never heard about Scrum and Scrumban before.
[edit] References
- ↑ 1.0 1.1 1.2 1.3 1.4 K. Bhavsar, V. Shah and S. Gopalan.(2020) "Scrumban: An Agile Integration of Scrum and Kanban in Software Engineering", Software Project Management
- ↑ 2.0 2.1 Project Management Institute, Inc.. (2017). Guide to the Project Management Body of Knowledge (PMBOK® Guide) (6th Edition). (pp. 177). Project Management Institute, Inc. (PMI). Retrieved from https://app.knovel.com/hotlink/toc/id:kpGPMBKP02/guide-project-management/guide-project-management
- ↑ Dennehy, D., & Conboy, K. (2018). Identifying Challenges and a Research Agenda for Flow in Software Project Management. Project Management Journal, 875697281880055. doi:10.1177/8756972818800559
- ↑ 4.0 4.1 4.2 Corey Ladas.(2009) "Scrumban - Essays on Kanban Systems for Lean Software Development", Software Project Management
- ↑ https://www.researchgate.net/profile/Mashal_Alqudah/publication/329506016_An_Empirical_Study_of_Scrumban_Formation_based_on_the_Selection_of_Scrum_and_Kanban_Practices/
- ↑ 6.0 6.1 Ellis, George. (2016). Project Management in Product Development - Leadership Skills and Management Techniques to Deliver Great Products. (pp. 251, 252, 253, 254). Elsevier. Retrieved from https://app.knovel.com/hotlink/toc/id:kpPMPDLSM4/project-management-in/project-management-in
- ↑ 7.0 7.1 7.2 7.3 7.4 7.5 Straughan, G. (2017) "Development That Pays: Scrumban", Software Project Management
- ↑ Alexander, M.(2020) "The beginner's guide to Scrumban", Software Project Management
- ↑ 9.0 9.1 https://www.digite.com/kanban/what-is-kanban/#:~:text=It%20all%20started%20in%20the,every%20stage%20of%20production%20optimally.
- ↑ 10.0 10.1 10.2 10.3 10.4 10.5 10.6 Reddy, A. (2015) The Scrumban [r] evolution: getting the most out of Agile, Scrum, and lean Kanban. Addison-Wesley Professional.
- ↑ Project Management Institute, Inc. (PMI). (2019). Standard for Risk Management in Portfolios, Programs, and Projects. (pp. 27). Project Management Institute, Inc. (PMI). Retrieved from https://app.knovel.com/hotlink/toc/id:kpSRMPPP01/standard-risk-management/standard-risk-management
- ↑ Sońta-Drączkowska, E., & Mrożewski, M. (2019). Exploring the Role of Project Management in Product Development of New Technology-Based Firms. Project Management Journal, 875697281985193. doi:10.1177/8756972819851939
- ↑ https://ora.pm/es/blog/scrumban/
Made by Xabi Martínez de Zabarte (s210323)