Connecting the Moving Dots
11 October 2017
In an Agile environment, there is more value in adjusting to change compared to following a plan. In other words, it makes sense to respond to the current situation by pivoting if necessary. The end goal may remain the same, but the plan to get there will fluctuate in an Agile environment.
Deviating from the course
Agility, by definition, means that we allow for such needed course corrections and deviations. They mean that, at any given moment, key components of the system are moving in different directions. Unless those course corrections are accounted for, potential damage and conflict can occur. Imagine a flock of birds in which each flyer independently decided to slightly change course and ignore the other birds around them. The result would be chaos. Instead, flocks of birds maintain stability when each bird is aware of the other birds around them. Frequent connections must be made between items that have deviated from their original course in order to continue in a unified and productive path.
Put simply, not adjusting to change can be dangerous. Failure to connect the dots can result in the disarray of competing objectives and resources. And rest assured that there are methods to connect the moving dots.
Connecting the moving dots
The daily Scrum is a chance for teams to connect and review the previous day’s events. They also prepare for the next day. By taking a view of past and future position and plans, the team can adjust as necessary, particularly if there are roadblocks requiring a change in direction.
Sprint planning is a chance for the product owner to measure progress and pivot based on the current situation. It’s a chance to fight the challenges associated with inertia. What may have been pressing and prioritized in the past may have since become unnecessary.
Retrospectives allow the team the figure out what they need in order to be more effective. These meetings can cause eureka moments that awaken a team to the next level of performance. They allow for ownership and accountability to have full sway. “Kaizens” offer a natural way to correct course in an ongoing way so the team can keep heading in the right direction.
The Scrum of Scrums is a meeting that allows multiple teams to connect with each other and make decisions based on what other teams are doing. In larger programs, teams have to connect with each other in order achieve goals that are bigger than any one team’s goals. To do this, teams must know what each team is doing so they can adjust properly.
Even the product itself can deviate from the plan. Software can change rapidly, and when it is modified by multiple teams, the code must be integrated between the teams to verify the functionality of the whole system. Teams that fail to integrate their software with the rest of their program frequently do so at their own peril. Since the code changes so rapidly, it is likely that the longer periods of time between integration will result in larger merges to a severely deviated code base. This, in turn, results in more defects, longer development time, and redesign. Continuous integration practices require frequent integration, where code is combined and tested at least daily, from each team toward the whole.
These Agile practices can help overcome pitfalls that may occur in a flexible and moving environment. The dangers are clear, but so are the solutions.
Opinions represent those of the author and not of Scrum Alliance. The sharing of member-contributed content on this site does not imply endorsement of specific Scrum methods or practices beyond those taught by Scrum Alliance Certified Trainers and Coaches.
Current rating: 4 (1 ratings)
The community welcomes feedback that is constructive and supportive, in the spirit of better understanding and implementation of Scrum.