This page is designed to help avoid the most common challenges for scrum teams. Additionally, it will introduce powerful methods beyond Scrum that will help larger Scrum implementations.
Benefits of Scrum
Scrum provides many benefits, including:
- Cross-functional teams help to minimize partially-done work because the all people who are needed are on the team and available when they are needed. There is no need to wait on them.
- The use of cross-functional teams reduce the amount of paperwork required for communication and handoffs. In fact, there are many fewer hand-offs between teams.
- By incrementally building and releasing, the team is less likely to be building extra features that are not required. The Product Owner and the team communicate quickly about what is being done and can stop anything that is not needed, that is not going to produce Business value.
- There is less task-switching because the team focuses on finishing one work item before going on to the next thing.
- They make Acceptance Test-Driven Development and Test-Driven Development easier because developers and testers and analysts are all part of the same team.
- Defects are more likely to be caught because the team is building in small increments. There is a shorter cycle between when a defect is created and when it is fixed, which lowers the cost of the fix.
Cross-functional teams make cross-team collaboration more effective. When people are organized simply according to function, they primary interests and relationships are with their peers within their function (UI, mid-tier, database, etc.); communication with other functions requires crossing significant boundaries. Putting people into cross-functional teams creates different loyalties and social relationships. For example, a UI person will naturally be motivated to work with their teammates; at the same time, since they are still part of the UI community, sharing ideas with other UI professionals will still go on.
The challenges with Scrum
Often times organizations struggle trying to implement scrum. Some of the challenges with Scrum are as follows:
- It is not always possible to form teams.
- The roles are unfamiliar.
- There is too much change demanded right away.
- Management is not included.
- IT environments and product environments with heavy maintenance costs could not accommodate the flexibility demanded.
The real world challenges organizations face often preclude a by-the-book scrum implementation, and Scrum gives little guidance on how to adjust.
Improving upon Scrum
To address these challenges, Leanban brings Lean Thinking to Scrum. Lean Thinking helps guide framework customization to address the particular circumstances of an organization. In a nutshell, Lean Thinking suggests:
- Attend to the entire development cycle (from concept to consumption of the software)
- Eliminate waste
- Remove delays in the workflow
- Only work on the most important items
- Respect the people doing the work but include management in the process
- Build quality in
- Manage the workflow explicitly and with limits on how much work can be taking place at any one time
This is a “Scrum within Lean” mindset which differs from the classic “Lean within Scrum” mindset (which says that Scrum has a few Lean principles incorporated into it). This shift makes all the difference.
The biggest changes in team behavior are:
- Focus on delivering business value
- Make all work visible
- Use explicit workflow
- Manage work-in-progress with either limits or coordination methods
- Use Acceptance Test-Driven Development
- Use continuous integration
- Automate testing
- Take a holistic view
Here are some of the challenges that arise in classic Scrum which can be minimized or eliminated altogether with Leanban:
- Challenges at the team level
- Many stories incomplete at the end of a sprint
- Testing not being completed at the end of a sprint
- Inability to handle the interruptions that occur during the sprint
- Estimation takes too long
- Lack of predictability of business value delivered
- Difficulties with distributed teams
- Inability to create the requisite cross-functional teams
- Starting too many things too soon
- Many, many more
- Challenges when multiple teams are involved
- Lack of predictability of business value delivered
- Inability to scale
- Significant thrashing when multiple teams attempt to integrate their work
- Inability to achieve alignment of stakeholders on what to build next