Archive for the ‘Theory of Agile’ Category

An Introduction to General Systems Thinking

Thursday, April 20th, 2006

I recently completed reading An Introduction to General Systems Thinking by Gerald M. Weinberg. Since it was mind-blowingly fantastic, I thought I should probably write a brief review of it so you-all can check it out!

(more…)

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google
  • Furl
  • Facebook
  • BlinkList
  • YahooMyWeb

Follow the Principles and Adjust the Practices

Wednesday, April 12th, 2006

In “Built to Last : Successful Habits of Visionary Companies” Jim Collins repeatedly emphasizes that long-lasting successful companies have a very single-minded focus. But that focus is not stupid or blind. Rather, Collins uses the phrase “Preserve the core / stimulate progress”. This is also the essense of agility.

(more…)

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google
  • Furl
  • Facebook
  • BlinkList
  • YahooMyWeb

Connecting Vocabularies - Cycles of the Mind

Tuesday, April 4th, 2006

At the Coach’s meeting ten days ago, several of the attendees used a series of phrases to refer to the learning process or cycle that Agile Work promotes. These vocabularies all have a different slant or implication but they all map to each other fairly well.

(more…)

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google
  • Furl
  • Facebook
  • BlinkList
  • YahooMyWeb

Unused Features

Thursday, March 16th, 2006

Software projects have a really bad record. Here’s a part of that bad record: on average, 45% of features delivered are never used! This is yet another reason that Agile methods shine: do the highest value work first and stop when you’ve got enough. Can’t do that with waterfall projects!

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google
  • Furl
  • Facebook
  • BlinkList
  • YahooMyWeb

Work Item Backlogs as Queues - Agile vs. Lean

Sunday, March 12th, 2006

A recent discussion on the Scrum Development list (Start of Discussion) provides a good follow up to my parting words in The Art of Obstacle Removal about agile practices themselves becoming obstacles. I have excerpted a small amount of the discussion and added my own comments here.

(more…)

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google
  • Furl
  • Facebook
  • BlinkList
  • YahooMyWeb

Choice Quotes from Systemantics - Funny, But Scary Too

Friday, March 3rd, 2006

One of my favorite books of all time is Systemantics by John Gall. There is a new version of it called “The Systems Bible”. This book was my introduction in my early twenties to the topic of systems theory.

(more…)

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google
  • Furl
  • Facebook
  • BlinkList
  • YahooMyWeb

People vs. Process

Friday, January 27th, 2006

One of my favorite little management blurbs, seen on the door of an SVP at a major financial services company: “Processes don’t write software, people do!” And of course, the Agile Manifesto states: “… we have come to value: Individuals and Interactions over Processes and Tools…” Here’s an interesting little writeup about people and process. My own take is quite similar: a process can be more or less helpful, but only if people are willing to learn and change can true progress be made.

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google
  • Furl
  • Facebook
  • BlinkList
  • YahooMyWeb

The One True Metric

Wednesday, January 11th, 2006

Agile Work requires that we align our perception of reality in order to understand each other and do work that is considered valuable by everyone. One very blunt and seemingly simple way to do this is with metrics. But metrics need to be in context and that is the part that is hard to get right. Does your organization get it right?

(more…)

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google
  • Furl
  • Facebook
  • BlinkList
  • YahooMyWeb

Agile Work Uses Lean Thinking - Team Self-Organization

Tuesday, December 13th, 2005

This third and final installment of the “Agile Work Uses Lean Thinking” series introduces Team Self-Organization from a lean and agile prespective. Find out what lean practice relating to people is not commonly used in agile methods… (Previous installments are Empirical Process Control and Queuing Theory. A polished version of all three articles will appear soon as a downloadable PDF.

(more…)

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google
  • Furl
  • Facebook
  • BlinkList
  • YahooMyWeb

Salutogenesis and Agile

Tuesday, November 15th, 2005

Twenty-five years ago American-Israeli Medical Sociologist, Aron Antonovsky developed the theory of salutogenesis. As opposed to the traditional pathogenic model of medicine focused on the study of disease, salutogenesis is the study of health. Since then, his work has been integrated into the field of public health and health education. This asset or strength based type of approach to individual or institutional development has been found in other fields such as organizational development and community development. In organizational development the field of Appreciative Inquiry and in community development the Asset Based Community Development model share the essential premises of salutogenesis. Quoting Garmezy, Antonovsky highlights the medical professions focus on deficits:

our mental health practitioners and researchers are predisposed by interest, investment and training in seeing deviance, psychopathology and weakness wherever they look.

This type of approach to work based on weakness and deficit can be found in most of our organizations. It seems to me that although Agile exposes inefficiencies and problems in organizations, it’s focus never-the-less is to build on strengths and assets. It is in this light that I have been thinking about Antonovsky’s work and what it can offer to Agile.

Antonovsky came to this theory of salutogenisis when he carried out a study on Israeli women going through menopause. He found that there were a number of women who, according to all indications of the pathogenic model, should be suffering severe symptoms (because they faced severe stressors which cause illness). But they were not suffering at all. To his surprise he discovered that these women happened to be survivors of concentration camps. He found certain qualities in these women that resulted in what he called a higher “Sense of Coherence” than the other women.

Sense of Coherence is made up of three factors; comprehensibility, manageability, and meaningfulness.

Comprehensibility means that whatever happens to a person, she is able to make sense of it and understand it, that is, the challenge is in some way “structured, predictable, and explicable.” Manageability means that either the resources are available to one to meet the demands posed by the stimuli,or one has a way to find them. Meaningfulness involves having a sense of meaning in the important areas of one’s life or recognizing “these demands are challenges, worthy of investment and engagement.”

Antonovsky found meaningfulness to be the motivational factor of the three, although he also found that all three mutually reinforce one another. For example if one has a high sense of comprehensibility but is low on the other two, one ends up not having the motivation to find resources and soon after this causes comprehensibility to be lost. If one is high on meaning and missing the other two, Antonovsky explains that there is a good chance to find the other two.

The theory of Salutogenisis may provide researched and proven reasons why Agile is so empowering for people. This research may also provide more insight into how to deepen Agile experiences to higher levels of empowerment. Agile methods help people to make sense of the market place by allowing for iterative delivery and adaptive planning, thus increasing their level of comprehensibility. Iterative delivery, adaptive planning and the concept of amplifying learning are all conducive to increased sense of manageability. Because people spend most of their time at work, it is quite important that they feel a sense of meaning in their work. The concept of empowering the team and the practice of self-organized teams and appropriate metrics can contribute to increased sense of meaning in one’s work.

Salutogenic food for thought for the Agile practitioner:

Antonovsky associated comprehensibility with consistency which he defined as “the extent to which one’s work situation allows and fosters the clarity of seeing the entire work picture and ones place in it, provides confidence in job security, and supports communicability and feedback in social relations at the workplace”.

How can the concept of consistency be promoted in Agile projects?

Manageability is related to under load/overload balance which is defined as “the availability of resources to the individual and to the collectivity within which there is interaction to get the job done well” and “…the extent to which the work situation has room for allowing potential to be utilized in substantively complex work.” The opposite of the former results in overload and the opposite of the latter is a situation of under load.

How can Agile projects guard against overload? How can an Agile coach and Agile teams fully utilize the capacities of its members?

Meaningfulness is closely associated with participation in shaping outcomes. Antonovsky explains beautifully the relationship between these two concepts:

When others decide everything for us-when they set the task, formulate the rules, and manage the outcome-and we have no say in the matter, we are reduced to objects. A world thus experienced as being indifferent to what we do comes to be seen as a world devoid of meaning.

In light of the concept of meaningfulness how can the principle of self organized team and shared decision making be deepened in Agile work?

Reference:
Antonovsky, Aron (1988). Unraveling the Mystery of Health: How People Manage Stress and Stay Well (Jossey Bass Social and Behavioral Science Series)

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google
  • Furl
  • Facebook
  • BlinkList
  • YahooMyWeb

Asset Based Community Development and Agile

Sunday, November 13th, 2005

http://www.stfx.ca/institutes/coady/text/about_publications_occasional_citizens.html.

What Is ABCD?

It is an approach to community-based development, based on the principles of:

* Appreciating and mobilising individual and community talents, skills and assets (rather than focusing on problems and needs)
* Community-driven development rather than development driven by external agencies

It builds on:

* Appreciative inquiry which identifies and analyses the community’s past successes. This strengthens people’s confidence in their own capacities and inspires them to take action
* The recognition of social capital and its importance as an asset. This is why ABCD focuses on the power of associations and informal linkages within the community, and the relationships built over time between community associations and external institutions
* Participatory approaches to development, which are based on principles of empowerment and ownership of the development process
* Community economic development models that place priority on collaborative efforts for economic development that makes best use of its own resource base
* Efforts to strengthen civil society. These efforts have focused on how to engage people as citizens (rather than clients) in development, and how to make local governance more effective and responsive.

http://www.synergos.org/globalphilanthropy/02/abcdoverview.htm

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google
  • Furl
  • Facebook
  • BlinkList
  • YahooMyWeb

Agile Work Uses Lean Thinking - Empirical Process Control

Wednesday, November 9th, 2005

This is Part 2 of a 3 part series.
Part 1
Part 3 - not posted yet :-)
Some work processes cannot be perfectly controlled nor perfectly defined. There may be non-linear interactions between steps in a process or there may be creative input from a human required. Processes with these qualities require empirical process control.
The basic attribute of empirical process control constitutes a continuous cycle of inspecting the process for correct operation and results and adapting the process as needed. A simple example of this is detecting impending failure of equipment by constantly monitoring the operation of that equipment. For Agile Work, the book Agile Software Development with Scrum provides an excellent chapter about this topic of Empirical Process Control.

In human processes like those to which Agile Work applies, the frequency of inspecting and adapting must match the needs of the process. Many projects occur in the context of constant change. This constant change makes long-term planning a wasteful effort. Rather, short-term planning with constant feedback provides a simple inspect and adapt cycle. This cycle can play out at different levels: daily for a team, monthly for a client of the team. The team inspects and adapts daily at the level of the tasks that it is performing. The client inspects and adapts monthly at the level of the team’s actual delivered results.

Both lean and agile methods claim to increase both speed and quality. Many people believe that there are four constraints in a system that can be controlled: speed (or schedule, or time to market, or process cycle time), quality (number of defects), scope (how much functionality), and cost savings (how much to spend on the work). Frequently, management believes that one has to trade off between these four constraints; spend more money, get more scope; lower quality, go faster. But in fact, lean and agile strongly support the idea that as you increase quality, you also increase speed… you just have to do it right.

In Agile Work, increasing speed and quality is done in three ways. First, increase the frequency and quality of communication among team members so that errors are detected early or avoided altogether. Second, drive the work with the creation and execution of automated testing. No work is done without a test in place to check if it is done correctly. This constant testing means that work is always defect-free and therefore very little time/money is spent on fixing defects. Third, eliminate wasteful work steps or obstacles to performance of work. This last one is difficult to do an bears closer examination.

Wasteful work is done in every process, no matter how efficient. Lean tells us that there are several types of waste in a manufacturing process. Those types of waste have analogies in Agile Work. For example, documenting something you plan to do instead of just doing it is wasteful. Another example is waiting while someone completes work that you depend upon. Any step or task that does not add value to the final product of an effort is waste. This standard is very high and most organizations have about 80% of their efforts going into wasteful tasks. An organization that has done an initial cut of wasteful work might stand at about 50% waste. The leanest organizations, such as Toyota, stand at about 20% waste.

Agile work eliminates waste in the form of barriers or obstacles that come up when a team is trying to go fast. Sometimes this is in the form of waiting for another group to do something for the agile team… an outsourced request for service. Sometimes waste is in the form of corporate standards or policies around documentation of work. The Process Facilitator role in an agile team has responsibility for working with the team and others to help overcome these obstacles.

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google
  • Furl
  • Facebook
  • BlinkList
  • YahooMyWeb

Agile Work Uses Lean Thinking - Queueing Theory

Friday, November 4th, 2005

Queueing theory describes the statistical and theoretical behavior of queues. In a queue system, there are two basic parts: work items and worker units. Worker units perform some work upon work items. The streaming of work items through worker units composes a queueing system. The time it takes for a work item to enter the system to exit the system is the process cycle time. From the study of real queueing systems and from simulation of queueing systems, researchers have shown there are some simple methods for creating an efficient queueing system that minimizes process cycle time.

One method for making a queueing system more efficient relates to the size of work items and how this relates to worker unit utilization levels and process cycle time. Queues behave in a very interesting way in relation to utilization and process cycle time. As utilization of a worker unit approaches 100%, process cycle time goes up very quickly. Not only that, but the more variability there is in the size of the work items, the worse this effect becomes. With a queue with work items that are all the same size, the worker units can maintain a very high level of utilization and the process cycle time is not significantly affected. However, with a queue with work items that are many different sizes, a worker unit will slow down significantly and process cycle times become worse even with relatively low levels of utilization.

Lean and Agile both use these ideas. Lean applies these ideas to manufacturing and other production processes and Agile applies these ideas to project work.

In Agile, iterations are used to create consistently small sized units of work that are then taken on by a team. In other words, the work items are designed to be exactly the size of an iteration and the worker unit is the Agile team. Since iterations are typically much smaller than the size of the overall project and since each iteration is always the same size, this allows the team to achieve very high levels of utilization while maintaining extremely short cycle times (the length of the iteration or release). Compare this to the waterfall approach to project management where the work is only finally delivered at the very end of a long process and you can see that not only do you have a very long cycle time, but each project will be highly variable in size and therefore it will be hard to get good utilization out of teams (think resource planning and leveling).

The Theory of Constraints, which is nicely introduced in The Goal by Eli Goldratt, presents some additional basic techniques for making improvements in efficiency of a process. The basic idea is that one can always find a slowest point or constraint in a process by finding out where there is a buildup of unfinished work. For example, if two people are cleaning a kitchen, one washing dishes and the other drying, if the number of wet washed dishes keeps building up, then the constraint for the process is the person drying. In more complex processes either in manufacturing or in creative work such as software development, it is sometimes more difficult to see where the constraint is. Typically, if you find that you have people waiting for work that is coming from someone else, then that someone else is a constraint and means can be found to improve their efficiency. In Agile, the focus on resolving the constraint would be to provide that person extra training or get other members of the team to assist in the work. Agile tends to shy away from a mechanistic perspective on efficiency.

Finally, in any queueing system there is some point at which work enters the system. This point of entry is very important because it can be used to control the utilization levels of worker units in a queue. In Agile Work, this control is accomplished through backlog management, iterative delivery and adaptive planning. All possible requests, features, constraints, improvements for a project are put into a master Work Item List. This list is strictly prioritized in descending order by a person empowered with this responsibility (called the Product Owner). This list of work items becomes the basis for deciding what work the team will do each iteration. The process of managing this list and how the work is chosen for this iteration allows the customer/client to prioritize important things to be delivered quickly and allows the team to work on consistently sized work units (iterations) and therefore achieve very high levels of utilization. In queueing theory this process is referred to as the gating function in that it provides a gate that lets work items into the system. All work must go through this gate or work item list management process in order for the team to function effectively. If the team is interrupted with work that has somehow skipped the gate it will seriously reduce the efficiency of the team(e.g. a senior sales person comes to the team and declares that it must work on X, it’ll only take a day, a potential client really needs this, surely that won’t hurt?).

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google
  • Furl
  • Facebook
  • BlinkList
  • YahooMyWeb

Agile, Cognitive Scripts and Diversity

Tuesday, November 1st, 2005

Steve L. Robins, Professor and Diversity Trainer speaks about Unintentional Intelligence:
M1 (mindlessness) + M2 (multiple redundancy messages) = UI (unintentional Intelligence)

He explains that cognitively we can only do one thing at a time. Our brain writes cognitive scripts for what we do, so we can be efficient by not having to spend time thinking carefully about everything. We do this for anything from breathing, brushing our teeth and driving. We have very good cognitive scripts for complex tasks.

M2 (multiple redundancy messages

Because of this state of mindlessness, if we get the same message over and over again we have no defense against it. We can brand products, concepts, professions (i.e. a nurse is a woman a doctor is a man)… we brand people, race. We can get 13 year old girls to want to kill themselves because they are not thin enough.

Robins did the following experiment with us to demonstrate this point: He told us to repeat the word “top” ten times and after the tenth time he asked us the following question, which we were supposed to answer without thinking: “What do you do when you get to a green light?” We all said stop. He went on to point out that if with such a simple exercise he could get us to give the wrong answer, when we all knew the right answer, then a lot of different kind of beliefs about different races can also affect us even if they are not true.

Robins went on to talk about how to change these pattern: Neurons in the brain are connected by synapses, every time we act the body releases a protein in the synapses that when repeated solidifies the pattern down in our brain. In order to form new patterns a person has to have a chance to practice that pattern over and over again.

In our working cultures we have all kinds of cognitive scripts related to how we see and value diversity and these are formed partly by the multiple redundancy messages sent to us by our culture, our own lack of knowledge and experience of different perspectives and ways of seeing the world (because we tend to naturally associate with people who are like us) and our organizational culture that generally tends to value a certain kind of personality over another.

So what does this have to do with Agile? Well, so much of agile is about innovation and amplifying learning. Corporate cultures are not typically examples of thriving places that value diversity (and I don’t mean just having affirmative action programs, but beyond that, having a working culture that allows people to bring their diversity into the work place and rewards it). Diversity is a direct challenge to our mindless orientation towards work. It can challenge us to be more mindful, and mindfulness is an important basis of amplifying learning and being innovative.

I find the concept of cognitive scripts a helpful one for my own approach to Agile Work. Part of the work of a Process Facilitator is to help people to become conscious of their cognitive scrips, nurture diversity in the group so that cognitive scripts can be challenged to give birth to innovation. The key to this kind of change is for the Process Facilitator to work closely with team members to create repeated opportunities for this kind of interaction so that new cognitive scripts can be written.

It is helpful for the Process Facilitator to work with team members to reflect on the relationship between multiple redundancy messages as they relate to Agile Work. For example when starting an Agile project, beginning by reflecting on the fact that Agile Work transforms our competitive orientation towards work into a collaborative orientation. An examination of the multiple redundancy messages we receive in popular culture and corporate culture about these two orientations may be very useful for team members to become conscious of, if they are to make this shift in thinking and practice. As an exercise, a Process Facilitator could simply ask the team to list examples of corporate and media messages that support competition and those that support collaboration.

Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Propeller
  • StumbleUpon
  • Reddit
  • Fark
  • Slashdot
  • Blogsvine
  • Google