woensdag 9 maart 2011

Switch (the book) and Agile/Lean/Kanban/Scrum

"Switch, change when change is hard" is a great book about change (see an earlier blog entry). Now lean/agile/kanban/scrum (LAKS) is all about continous improvement, and all improvement is change (although not all change is improvement!). So after having read the book I started wondering which of the guidelines in the book are reflected in the LAKS way of thinking/frameworks. After all, LAKS is good at continous improvement so there must be significant overlap with the guidelines in the book. Here's a first stab (from my limited experience with primarily scrum and kanban).

Direct the rider, find the bright spots

In the retrospective, which is a meeting held regularly, what went well is a typical item on the agenda. This serves to assert the positive, but also triggers an awareness of things that are working and can be extended and improved upon for even greater gain.

Similarly, in the daily stand up team members tell what they did. This is an opportunity to share their work amongst the team, and thus also communicate about things that went well, problems solved, etc. Thereby creating awareness of the bright spots.

Direct the rider, script critical moves

During the retrospective, the most pressing problem is identified and tackled by defining (and carrying) out one (and only one) small step that will lead to an improvement. Typically this is *not* a complete solution to the problem, but just a first small step in the right direction.

Also, during the daily standup any impediments are identified with the explicit goal of getting these resolved as soon as possible with the product owner. This is an example of a scripted action that should lead to improvements (ie removal of the impediment).

Direct the rider, point to the destination

One of the goals of LAKS is to stabilize the velocity and then improve it. Having the velocity visible in charts (like the burndown) for all the team to see (and also the variability in the velocity) is key to making sure the team knows what they are aiming at.

Also the iterative development process with frequent demos and constant interaction with the customers and/or product owners ensures that the software that is being developed (the final destination) is constantly being realigned and redefined, and is constantly in the fore front of everybodys mind.

Motivate the elephant, find the feeling

Feelings in IT? Never! Still, nothing like a weekly demo for customers to cause a developer te break out into a cold sweat. Fear and the desire to please are strong motivators to deliver good software on time. Also, regular interactions with the customer and/or product owner go a long way to fostering and understanding of why the customer wants what he/she wants. Generally, this understanding will lead to improved software being developed.

Motivate the elephant, shrink the change

Refactoring and test driven development are great examples of shrinking the change. If you have unit tests in place, then improving your code (refactoring) is a breeze and nothing to be afraid of any more. In fact, it becomes a pleasure and something you do because it makes you feel good.

In general, LAKS avoids trying to "get it right the first time". Instead the focus is on building a small part as simple and as fast as you can, and then improve from there. A big software project is chopped into smaller user stories, all broken down into even smaller tasks, each task written test driven so that refactoring is easy going forward.

In terms of processes, LAKS provides a starting point only; a bare framework and a minimal set of guidelines. The whole point of LAKS is to begin with something (anything) and improve upon it continously. Finally changing the process into something unique that fits your business. The guidelines or framework are not contained in a complicated 400 page manual but typically fit on one A4. I'd call that shrinking the change.

Motivate the elephant, grow your people

LAKS is all about the team, not the individual. Team members are encouraged to become more multi disciplinary so that they can help out whenever bottlenecks occur and can cover for each other during holidays and illness etc. This requires growing both technical as well as team player skills.

Frequent interactions with customers extend the domain knowledge of the team, thus enabling them to build better software. In addition, code reviews and peer programming allow team members to learn from each other.

Typically, team members can pick their own work from the current queue of prioritised tasks. They are thus more responsible and have greater control over their own work. This is most often conducive to personal growth.

Shape the path, tweak the environment

The focus on the team typically means scrum or agile teams will be working together in team rooms. This fosters communication and mutual understanding, opening the road to frequent minor improvements, often too small to mention or pinpoint.

LAKS is often about making things visible, think kanban or scrum board (information radiators). This means that team members are confronted every day by the work in progress and waiting for them. They literally see it on the walls of their team room. Having the work visible makes it easy to talk about it, and this often leads improvements being discussed right infront of the board.

Shape the path, build habits

LAKS is all about habits. We have the daily standup, the retrospective, test driven development, refactoring, peer programming, code review, scrum planning meetings, demos, and more. As we have seen above, all of these habits are conducive to improvement. After all LAKS is a process, and a process is nothing more than a collection of habits we have all agreed to build.

Shape the path, rally the herd

The team focus instead of the individual focus is one form of rallying the herd. Peer pressure tends to drive people to carry out improvements they might not have done solely for themselves.

Also, the large and active LAKS community is a great source of motivation to improve should you find the team beginning to flag in enthusiasm. Nothing like a good conference or open space to get a team fired up again about making improvements.

Geen opmerkingen:

Een reactie posten