Apply Recursion Concepts to Agile Transformation

How does the computer science concept of recursion tie into an agile business transformation? Recursion reduces the complexity of change, so teams evolve at a speed that is balanced with their abilities and offers the best chance for success.

When a business initiates an agile transformation, the task can seem daunting. There are so many areas which may need improvements and where an agile framework needs to be applied. It may be hard to identify and prioritize the improvements.

By human nature, many teams will be resistant to change. For these types of reasons, it’s a good idea to break down the transformation into smaller, incremental steps. On the way to becoming agile, take an agile approach to determine where to focus the incremental changes: Recursion!

Agile uses an empirical model in an iterative process. An understanding of how things are working in the business needs to be realized in an open and transparent manner. This understanding needs to be inspected and analyzed. From this, an informed decision is made to adapt the business.

What is Recursion?

In the analog world, an example of using recursion involves a game with three wooden pegs. Some number of disks of increasing size are stacked on one peg, with the largest disk on the bottom of the stack. The purpose of the game is to move all the stacked disks from the initial peg to another peg. By the rules, you can only move one disk at a time, and you can never place a larger disk onto a disk of smaller size.

In computer science, a recursive function is a coded algorithm that calls itself. The computer science recursive concept solves the analog puzzle digitally by breaking down the movements into smaller subsets of actions. These actions are then executed with the same bit of code, simply the function to move a disk following the rules, building upon one another repetitively to complete the puzzle. A typical example which is used in a Computer Science 101 course involves the Tower of Hanoi.

This example of recursion helps to represent the idea of using a concept to lead to and from the same concept. In other words, the same concept is used within the larger version of the concept. It’s a brilliant and efficient way to code these types of jobs. Once this first step is completed, it is repeated, building upon itself.

Determine Where to Adapt

Initially, you may want to focus on adapting a process that is the least complex, as there may be best methods and guidelines that can be quickly adopted and implemented. Always consider the value the changes bring to the business.

With each iteration, you always need to consider the vision for the business with an understanding of the business processes. With this transparency, you can begin to break down what changes might be implemented. Make sure all the teams understand the vision and values of the changes. Engage with employees for an open and respectful discussion, working together with mutual purpose.

The recursive approach allows you to take small steps in an efficient and transparent manner, gradually applying improvements. Employee engagement with the advancements help guarantee the changes are lasting. Once a change is implemented, step back and look at the impact on the business, and then start the same process again.

Look at the data, analyze and make choices, and adapt. An agile coach can provide guidance and an understanding of where you may want to focus, and how to make changes with best practices.

Agile is not the Towers of Hanoi

Although the Towers of Hanoi nicely expresses the idea of recursion, it implies that at some point the job will be done. That is, all the disks will be moved from one peg to another. However, in applying agile, the business never comes to a state where we can say, “Our work is complete!”

Agile is a mindset and an expanding journey. Continual improvement is ever present in agile and is especially relevant in today’s modern digitized market and workplace where constant change is forced upon businesses at multiple levels.

With the idea of recursion and repetition behind your agile journey, you can reduce the complexity of the changes and see improvements evolve at a speed that is balanced with your employees and abilities, and with the best value for your business and the customer.

Love this post? Then subscribe to our mailing list!

We guarantee 100% privacy. Your data will not be shared.

 

Erik Major

Erik Major

 

Erik Major is a Product Owner, Systems Engineer, and Agile Advocate with a background in computer science, telecommunications, and SDLC.
Contact: erik.j.major@gmail.com
LinkedIn: http://www.linkedin.com/in/erik-major/