Whether we like it or not, or even whether we are aware of it or not, each of has a specific way of working – which includes how we act/react and interact with others, how we take decisions and which of our opinions influence those decisions, and last but not the least the emotions we experience in a given situation.
This keeps happening day after day, week after week, month after month, sometimes even year after year; as if we have been programmed to do so. Over a period of time it keeps changing but not necessarily by our intent or control.
With time our needs also keep changing, but our way of working does not remain aligned with those needs. Sometimes we don’t respond fast enough, other times we may overreact. Mostly this happens even without our knowledge, and we might see the disconnect when it is already too late to do anything about it.
What can we do about it? We have a choice. Either we let what is currently happening to continue as is, or we can learn to understand why we do what we do and use that awareness to change our current way of working appropriately to eliminate this disconnect.
For each of us what makes us happy can be different. But irrespective of our needs, when they are fulfilled, that makes us happy. This is true for us, this is also true for others. If we understand their needs and meet them wherever we can, they would do the same for us.
We and others are part of systems. If we learn to understand how the systems we are part of work, we will no more be prisoners of such systems; we will be in control.
For some time now I have been trying to learn how to do this, and it is giving me a much better understanding of my own as well as others’ way of working. As I do this day after day, I am uncovering better ways to align my way of working to my current & future needs. This is not a onetime activity, but an ongoing process and quite interesting.
If what is said above makes sense to you, and need help from my experience, please let me know by a comment below. I will get back to you and would love to help.
Over last 12 years or so that I have been closely associated with agile, I was pained to see teams so narrowly focused on one agile method and often ignoring good aspects of the other methods that they missed a great opportunity to benefit from them. What follows is an attempt to borrow useful parts from different agile methods like Scrum, Kanban, Lean, and Scaled agile and express them in a language that is not tightly bound to the practices of these methods. It is focused on the intent by looking at why we do what we do.
01 – Team composition and maturity
A closely knit small group keeps working together for a long period. Members have a good rapport and work together as a team despite being at different locations. Team is empowered to take decisions it is capable of taking. There is greater emphasis on team performance rather than on individual performance. Members proactively raise potential risks and are capable of saying “No” when needed.
02 – Agile tool support
A good agile management tool is made available. Information in the tool is kept up to date as & when events/changes are happening. During meetings and discussions, the agile tool status is referred to. Board design, alerts, and notifications facilitate communication and collaboration. Trends are visible and exceptions are revealed through a dashboard and reports.
03 – Preparation & planning for successful completion
For each requirement, the team knows the required end-date and completion criteria early enough to ensure timely completion. The definition of ready is in place and the requirements are clear to break down in tasks so as to start execution early enough to ensure timely completion. Based on past performance, team knows its capacity to deliver both in terms of output (size) and input (efforts). The team is aware of its dependencies & risks that might delay the completion. Team backlog contains items required to fulfill higher-level commitments as well as the work required to enhance team capabilities.
04 – Successful execution despite uncertainties
Based on the commitments made, the stories are categorized into must-have and good-to-have, where the proportion of good-to-have is adequate to cover the extent of uncertainty. While calculating available capacity for the current iteration, planned leaves and anticipated absenteeism is taken into account. There is a clear agreement on the nature & timing of changes that can be accepted by the team, and it is adhered to despite the pressures of the situation. At any time, the team is aware of commitments made and capacity available to meet them, to help identify items at risk of not getting completed in time. On a daily basis, the team identifies options to match remaining work to remaining capacity, and comes up with actions to mitigate the risks.
05 – Sharing and Alignment
Before start of a major milestone/release the team gets a chance to participate in discussion with the client to know about important functional and non-functional aspects and the expected business benefits. The team is involved in tentative breakdown of the total work of a milestone/release into a set of iterations based on priority and capacity available, which can be progressively refined. The whole team is part of the grooming/sizing discussions with the client and uses the opportunity to get clarity about upcoming work, thus saving time of the iteration planning meeting. The whole team participates in the daily review & re-planning meeting to be aware of dependencies and risks to timely completion. The whole team participates in the iteration-end demo and retrospection to understand the improvement needs and plans.
06 – Continuous learning
The team has a culture of open and frank discussion, so that the real issues surface and are constructively sorted out. The team makes use of every group interaction (grooming & sizing, iteration planning, daily standup, demo, and retrospective) as an opportunity to learn from experience and keep improving. The identified improvements are planned and tracked with same rigor as the work items. The agreed upon improvements are religiously practiced till they become a habit. Checklists are used to keep reminding us of necessary steps till it becomes a habit.
07 – Better Quality
Individuals and teams give themselves credit only for fully integrated and tested software. Quality enhancing activities are identified as explicit tasks and effort required is considered while sizing which reflects in velocity. Continuous integration is in place and is designed to catch mismatch between dependent parts of the system at the earliest. Continuous refactoring is in place as stories in the team backlog for improving the code base without changing the external behavior. Once every two weeks a demo of the current state of the full system is given to all the stakeholders including development management, business owners, and customers / customer proxies.
08 – Better productivity
Baseline velocity is correctly established by considering all necessary tasks (functional & non-functional) for successful completion during sizing of stories. The team continuously looks at every effort spent against value added, so that non-value-adding activities can be eliminated. The team is always on the lookout for all automation possibilities, not just test automation, but any activity / task that can be automated. The team knows their information needs and takes proactive steps to ensure that such information is available in time with required clarity. The team identifies dependencies and helps build a culture of commitments and promises, so that no time is wasted in repeatedly checking for completion by others.
09 – Better Agility
Team backlog is prioritized, and ready with enough items to keep working, so that no time is wasted in back & forth discussions. The team is aware of its dependencies & risks that might delay the completion. Each stage in the flow knows what the previous stage (within the team or outside) has completed its work so that smooth flow can be maintained. Team members keep a watch on items that are blocked or moving slowly so that immediate help can be sought from others. Team members keep a watch whether a queue building between stages so that upstream resources can help downstream to balance the capacity.
10 – Team leader
Team leader acts as a team backlog owner and provides an effective interface between the team and the other stakeholders. Team leader keeps a close watch on Quality, Productivity, and Agility to ensures that team’s work is aligned with business needs. Team leader helps the members to take decisions, and progressively delegates appropriate decision-making to let the team become self-organizing. Team leader protects the team from undue outside interference to ensure smooth and uninterrupted flow of work. Team leader has a good grasp of agile and effectively guides the team in using appropriate practices consistent with team’s context.
The 10 areas cover different aspects of the work of software development. The statements under each of these areas help trigger possibilities normally missed out. In my consultancy work, it is helping me guide the project teams to come up with better improvement actions.
Early this week I was at a conference in Bangalore. Here is the experience for the day and my take away from it.
At the company guest house where I was staying, I was told that it would take an hour to reach the conference hotel. Since the registration was to start at 8:30 am, I decided to leave by 7:30. It was a pleasant surprise to be there in 35 minutes flat, probably because the traffic was thinner than normal. When I went to the registration area I noticed that the registration team was preparing and were ready by 8:15. Some people were already there and more kept walking in and patiently waited for the registrations to start. I did the same.
But coming from agile background I know the importance of managing queues and maintaining flow. Whereas here the registration team was ready and waiting for time to turn 8:30 and so were the attendees. It was a funny sight, as if an invisible wall was stopping the flow and building potentially lengthening queues behind it. I am sure from their past experience the organizers had good reasons to do so. But I started wondering what would happen if the barrier was removed and flow started. May be the conference hall was getting ready and people walking in would have disturbed the arrangements; maybe not. Those registering could wait either in registration area, or go up to the conference area but wait when they saw the conference hall door is closed. But at least there would be shorter queues at the registration.
At 9 am the conference started and first item on the agenda was a keynote by Joshua Kerievsky about modern agile. It was an excellent session and as I listened and came to know about the four guiding principles one by one, I couldn’t help but to see the experience of a few minutes before in this light.
First principle of modern agile is – Make People Awesome.
This includes both the customers and our own people. Here the attendees were the customers, and the registration team our people. Were either of them being awesome? Could they have been more awesome if neither of them had to wait even though they could start?
Second principle is – Experiment and Learn Rapidly.
Trying out something different would reveal early the potential problems of taking an alternate route. And if there were no major issues, it could become one more option for future.
Third principle is – Make Safety a Prerequisite
I think it was safe enough to try out a different way. The people involved would understand.
Fourth principle is – Deliver Value Continuously
Stopping our people from delivering value when they were in a position to do so interrupted the value flow
Just before lunch I took a session which was about how our opinions (assumptions + beliefs + values) shape our way of working, which in turn affects our decisions, actions, interactions, and even emotions. Naturally at the back of my mind was a thought whether the opinions of the people involved in the morning incident had anything to do with their way of working? And if so, can this happen in other parts of our life and work in a similar situation. The validation of this possibility came soon after.
At lunch I joined a group which were sharing their experiences about agile at work. As expected most of them were practicing Scrum. I popped in a question whether they sometimes start work on the stories of the next sprint if those are clear enough and developers have slack towards the end of current sprint? One person said they never are in that situation. So I asked if they were in that situation, would they do it. He thought for a moment and said “But Scrum doesn’t allow it”. It was probably his assumption, because to the best of knowledge the Scrum guide does not anywhere say so. My next question to the group was whether they would like to do it if allowed. Another person responded that it will create problem with measurements because there will be effort variance as well as uneven velocity from sprint to sprint. At this point the group dissolved as everybody was keen to have the desert before rushing back for the next session.
When I looked back over the day, I realized that we often tend to live in separate compartments and don’t take learning & insights from one compartment to the other. Morning incident was separate, the modern agile keynote was separate, my session was separate, and discussion over lunch was separate. How nice it would be if we allow the insights from one compartment flow smoothly to the others.
One of the key practices of WoW framework is “Separate facts from fiction”. We often tend to mix the two, and in this confusion take decisions which may turn out to be harmful.
The easiest way to take care of this is to start using a new language construct regularly while thinking as well as when we speak. When we think something to be a fact, we should use “I know xxxxx”, immediately followed by questioning ourselves “How do i know it?” The response we get would be in the form “because of yyyyy”. So the complete sentence would be “I know xxxxx because of yyyyy”. Once it comes out in the open, it is so easy to decide whether what we thought as a fact is actually a fact. Quite often it turns out to be just our assumption.
Many a times our mind plays tricks on us and assures us something is a fact, when in reality it is a mere assumption. We believe our mind, and without thinking further go ahead and act as if it is a fact. The changed way of thinking and speaking helps us to go around our mind and see the reality as is.
Here is an example.
Recently on a Saturday, I had to take my personal laptop to a service center for some repairs. I had gone there a couple of times earlier as it was quite close to our previous home, and knew the people there well. After driving all the way, when I reached there I found some other outfit. On enquiring I came to know that the service center had moved very close to our new home. By the time I drove back, it was already closed. Disappointed I returned home and had to wait till Monday because they are closed on Sunday. Some urgent work I had planned to complete on the weekend could not be. I felt so bad about it. All this could have been avoided if I had adopted the new way.
I thought I knew they will be there as before. But actually it was just an assumption. I had their contact number and could have called them. But that option did not occur to me because implicitly I was sure the service center would be there. How I wish I had used the simple language construct and saved myself all the trouble.
Initially we may feel little awkward to use such formal constructs, especially while talking to others. But trust me it is a very powerful way to bring clarity about how our opinions and facts get mixed up. If we are speaking to another person, it is worth spending a few minutes to explain why we will be using this construct to get him/her on the same page.
On the other hand when we believe something to be an assumption, it is so easy to check by saying “I assume xxxxx because of yyyyy”. Saying it to ourselves or preferably to others will make it clear whether our assumption is true or false. If true it is no more an assumption and can be considered as a fact. But more often this will lead to further assumptions which are to be handled in the same way. We may also find the assumptions are a result of our firmly held beliefs which similarly need to be questioned.
Here is an example.
A new colleague at work had promised to complete his work by Friday evening. Based on past experience of dealing with people, I assumed that there is a possibility that he may not have completed his work. So I made alternate arrangements. But he actually had, and not only that but even mailed me to inform that the work is complete and the place where he had kept the document for my review. It was a pleasant surprise. It confirmed that my assumption was a fact. Then I realized that in spite of past experience, I still believed that the new person whom I did not know well would complete it on time. This belief came from my natural inclination to trust people unless proven otherwise. This has its advantages as well as disadvantages. Another person in exactly same situation would have thought and acted quite differently, if he was inclined to distrust people till proven to be trustworthy.
Once we start practicing the new way regularly, we see how our assumptions are influenced by our beliefs, which in turn are shaped by our values and inclinations. Underlying beliefs and values have a strong influence on how we act/react, how we interact, and more importantly how we take our decisions.
After we are comfortable and keep practicing it regularly till it becomes a habit, we can modify it to a more natural way, without of course losing the benefit of questioning. Each person can decide when and how it is to be changed, though sometimes it just happens.
Once we see the power of separating facts from fiction, we realize the risks we carry with unquestioned opinions. There is no time to waste and postpone it.
But next question is when can we practice it? Fortunately life provides so many opportunities. If we notice something happens as expected, but often reality goes against our expectations. That is an opportunity to practice it. Even when things go as expected, it is good to ask ourselves whether there are any factors which were responsible for this and in case those factors are no more there in future to help us. This leads us to see the risks which we tend to neglect otherwise.
If you are curious to know more WoW framework see it at https://wayofworking.org
Once we understand what WoW is, next question that comes to our mind is where do we start? One simple way I have found quite useful is to separate facts from fiction (our opinions) by calling out what we think they are, followed by verifying them. For example.
I Know (fact) and ask ourselves (how do I know)
I (assume / believe / value) and ask why do I have (that opinion)
A real life scenario will make that clear.
Situation: Lack of self-organization
Team unable to take decisions though capable of taking
E.g. who will work on which task?
Team Member-1: Nobody told me which task to work on.
Q: Who is supposed to tell you?
A: I assume scrum master will tell.
Q: Why do you assume so?
A: I believe it is Scrum master’s responsibility.
Q: Have you asked her?
A: No, but I will check, and then ask the right person.
Team Member-2: I am new to this project.
Q: Did you ask other team members?
A: No. I know they also wait for the team leader to tell them what to work on.
Q: What if the team leader is not in office?
A: We wait till he comes.
Q: Don’t you think you could save time if team knew which items who should work on?
A: True. That is what we used to do in our previous project. Team leader would assign tasks in the agile tool.
Q: Have you suggested that in this project?
A: No, I believe this is the way this team works, so I should do the same.
Q: Would you like to suggest it to the team leader?
A: I assume he would not like a junior member of the team do so.
Q: Would you like to try it and see what happens?
A: That’s a good idea. If it works I will make a good impression on the team leader.
Team Leader: I am accountable for the results so can’t take any risk till the team matures.
Q: Do you know whether team is immature, or you are assuming it?
A: I know they are immature.
Q: How do you know?
A: I believe it takes years of experience to become mature, as I have.
Q: Do you think all those who have many more years of experience are more mature than you?
A: Of course not. I know quite a few who are not as good as me.
Q: So length of experience is not the only criteria for maturity?
A: Hmm, I guess so.
Q: How about allowing them to take some decisions which you think they are capable of? This may help them mature more quickly.
A: It may work, it may not. But too much is at stake because my promotion is being considered at present.
Q: So you value looking good more important than being effective?
A: When you put it that way, could be that is what is holding me back. On second thought, I think by helping the team become matured may actually help me show better performance and bag that promotion.
We can enroll our team members / peers to ask us such questions and in turn we can help them by asking such questions. After some time it becomes a habit and we start asking ourselves these questions.
Q: What the heck is WoW?
A: WoW is an acronym or short form for Way of Working.
Q: Okay, so what is Way of Working?
A: Way of working is our repetitive patterns of behavior.
Q: Can you give more details please?
A: Sure, it is a framework I am putting together based on what I have noticed in my life and work all these years. The framework has a core, and guidance to support the use the core.
Q: Can you tell us more about the WoW core?
A: Yes, it starts with what we can readily observe provided we pay attention, like our actions / reactions. Interactions, as well as the emotions we are currently experiencing. We soon start realizing that in a given situation we tend to repeat the same behavior again and again by rote. It so happens because consciously or unconsciously we decided to behave in a given way, and over a period of time it has become a habit or second nature for us. Even to the extent that when we get in a similar situation with different people or in a different context, we start experiencing the same emotions. That is the power of our habits.
Q: Talking about habits and their power on us, why do you think we need them?
A: I believe the nature has endowed us with this wonderful capability to save lot of load on our mind of constantly making decisions. Instead we can make a decision once and save it in our system for automatic use thereafter. It not only frees our mind to focus on more important things but also leads to an increase in our productivity and agility.
But there a flip side to it. We become so comfortable with our habits, both physical and mental, that we don’t realize the world around us is constantly changing and moving away from the one that existed when the habits were formed. Bigger the gap, greater is the need to change the outdated habits. But we are not even aware of this gap.
Q: What do you think is the solution?
A: I have noticed that we are both an observer and the observed at the same time. These two are distinct roles with their own purpose, but often seem to get mixed up. It is the job of the observer in us to critically keep watching not just what is happening around us, but also what is happening within us. If the observer performs its job faithfully, the observed in us would be free to enjoy all the variety in nature and beauty of life as it unfolds. It can completely live in the present moment, fully experiencing the emotions and then be able to move on without any attachment to the past. I feel the great philosopher Jiddu Krishnamurthi was talking about the observer in us when he said “Be choicelessly aware”. The observer should stay away from getting involved in the experiencing and emotions, and resist any temptation to make any hurried decisions before being completely aware of the current reality. Differing the choice till the present is authentically observed, allows the most appropriate decision to emerge on its own.
Q: The role habits play in our lives is clear, but what influences our decisions?
A In WoW everything leads to our opinions. They are our filters through which the reality reaches us. They can take different forms. These could be assumptions which are open to change based on our experience. They could be beliefs with which we form an emotional attachment. That makes it difficult to change the beliefs because we feel challenged and don’t want to give them up easily. The opinions can also be in the form of relative values where we prefer something over something else. For example, some people tend to trust others unless proved otherwise. There are others who start with distrust till proven wrong.
These three types of opinions, assumptions beliefs and values, have a hierarchy. If our assumptions are at variance with our beliefs, our beliefs will override our assumptions while taking a decision.
Q: Taking this “Why” questioning a step further, why on the same subject our opinions are often different from those of others?
A: I think it is because the nature needs diversity for survival. We see such abundance of variety all around us. So each of us is endowed with certain natural inclinations. These inclinations influence what opinions each of us forms and get reinforced with experience.
Q: Enough of concepts and theory. Please explain what is in it for me?
A: Good question J
All of us know that life is uncertain. It can be as simple as finding a traffic jam on way to work, when we are already late. Or it can be as profound as coming to know about someone we knew well and met just yesterday is no more.
Our opinions, which include our assumptions beliefs and values, create a wall behind which we live. The reality outside gets filtered and twisted before it reaches us. We are guided by our perception of reality, while the future is shaped by the reality as it exists. Bigger the gap greater the uncertainty. So the question is how we prepare ourselves to manage these uncertainties.
Best way would be to take steps that can eliminate such uncertainties. Which means that we work on the wall that separates us from reality and try to make it as clear and transparent as possible. Some of things that I find useful are,
- Separate facts from fiction (Opinions) by calling out our assumptions/beliefs/values for verifying their validity, and to encourage others to do same.
- Be aware of our emotions, experience them fully and then move on without attachment.
- Be aware of others’ way of working as well, because it affects us. When we become so aware, we may find many tips which we can see if what works for others might work for us as well.
Q: Oh, so it is not enough for me to be aware of my own working, but I need to be aware of others’ way of working as well?
A: Absolutely. We need to go beyond ourselves because we are all connected. As a matter of fact, systems are everywhere. Each of us can be viewed as system. We work in teams or groups. Each of them is also a system. Those in turn are part of an organization. Which is a system. Our family is a system. Our friend circle is a system. The society we live in is a system, and so on.
We are part of multiple systems, either participating in or interacting with them. So we need to understand how systems work. Some systems are simple like those which follow Newton’s laws, but many are complex especially those involving humans, having their own laws and patterns of behavior. We become prisoners of systems we don’t understand. When that happens, our options get limited. We can’t accurately predict which way the system will go. That is the other cause of uncertainty.
Understanding systems, especially complex human systems, is part of the WoW guidance which with its 7 principles and many generic solution patterns helps us to minimize uncertainties.
Q: I am curious to know more about the WoW guidance. Can you throw some light on it?
A: WoW guidance is a vast subject. But I can certainly mention the 7 WoW principles which are so universal in nature that they can be applied to a vast variety of situations.
- Know and care for real needs (Needs, not wants. Logically know and emotionally care)
- Allow work & information flowing (Be a river, not a pond)
- Maintain the heartbeat (Adjust the system clock to a natural rhythm)
- Make it simple (Remove all the noise and clutter from the system)
- Balance automation & innovation (Use automation to let our attention focus on innovation)
- Use governance with autonomy (Restrict freedom only for protecting real needs of the stakeholders)
- Grasp complex systems principles (Accelerating & balancing loops, delays, and leverage)
With this taken care, time to get back to WoW core and see how the systems perspective can help us to prepare ourselves better for the uncertainties of life. Once we know that we are part of multiple systems, either participating in or interacting with them, we realize that we have the power to choose which system(s) we want to be part of, and which systems we don’t want to be part of. This realization gives us tremendous power to be in control of our lives.
Q: Can we do anything more as individuals?
A: I would like to mention one important point. We are always advised to take a stand and stick to it, which often leads to a blind faith, and there can be others with similar blind faith for the other side of the issue. People taking such rigid positions has led to so much violence in the world. Why not try to sit on the fence and keep seeing on both sides. This liberates us and we are free to take a decision on its own merit based on the situation we are in.
Q: You talked of preparation to minimize uncertainties, but do we also need to prepare ourselves for things when they go wrong?
A: Oh yes. That reminds me of Murphy’s Law which says “Anything that can go wrong will go wrong, and at the worst possible time”. Is that why at work a new urgency always comes on Friday afternoon when we are getting ready to leave for the weekend?
We can deal better with the unexpected by preparing ourselves with the following,
Details are part of the WoW guidance.
Q: Just last one question. Any quick suggestion for how do we start practicing WoW in our teams?
A: Yes. Every working day if we notice, we have series of small successes and failures. But what we do with them? Nothing much. If it appears to us as a success, we pat ourselves on our back and move on. But that moment has hidden possibilities to prepare ourselves for future by asking ourselves the question, “What made us successful?” The answer will provide us the factors which may change or vanish in future thus creating a risk of failure. Once we see this, we can start preparing ourselves to manage even when those factors are absent.
Similarly with every failure, however small, rather than just feeling bad about it and giving excuses or finding faults with others, we can ask “Why did we fail, and how much does it matter?” This will help us to get away from the negative emotions of the moment and start thinking logically about what we can learn from it and improve for future.
Try it out and see if it helps.
As I am putting together the WoW framework and one of its early practitioners, let me share my perspectives and experiences while using it.
To begin with I started closely observing various situations I passed through during the day, starting right from the time I got up in the morning, and continuing till I went to sleep at night. Initially it was very difficult to be an observer, while simultaneously being intimately part of the reality that was unfolding. But by constantly reminding myself that I am also an observer, slowly I started getting it. It was a very different and interesting experience to be in two roles at the same time. But it was also motivating when I started seeing things I was blind to earlier.
I have always found “Why?” to be a very powerful question to reveal the hidden connections. I started doing that with everything I was observing. For example, when I found that I tend to repeat same behavior in a given situation again and again, I asked myself why possibly I may be doing so. After some time I realized that without my being aware, I seem to have decided to choose one of the many behavior options in that situation. Over time it had become a habit and I had even stopped thinking about it.
So next question was “Why did I do that?” Probably at that time it was a right choice. But I had never tried to look at it again to see whether it was still a valid choice. My mind just kept giving same instructions based on what had worked so far.
I noticed that what I observed with my actions also applied to my interactions with others. It was just a copy of earlier behavior in a similar situation. My mind had gone to sleep and was just mechanically repeating its instructions.
One day I had a startling experience. I met a person who had a great resemblance with someone I know well, and for some reason dislike him. Surprisingly I felt the same dislike for the person I had just met for the first time. Something in me established a non-existent connection and reproduced the same emotion. When it became clear what was happening, I could now keep it aside and deal with the new acquaintance without any bias. As it turned out, he was a nice person and we had a good relationship thereafter.
As I started understanding the decisions behind the actions & interactions, the next “Why” was about the decisions themselves? Soon it started becoming clear that our assumptions beliefs and values (which collectively I like to call as opinions), are the source of everything else. They are the key to understanding our visible behavior. Let me give a few real life examples.
Yesterday I had gone to a path lab to get blood reports. The sample was taken previous night. But yesterday evening I was told that the report is not yet received. Some waiting and further questioning revealed that the person at the report desk assumed it was yesterday’s sample and kept looking at reports for the day only, while it was lying there all along in another bunch of reports. Surprisingly even though I had mentioned it, the assumption that it was report for the same day was so strong that her mind had blocked out date of sample.
This example clearly shows the power of our assumptions. But even more interestingly it highlights the need to understand not just our ways of working, but also be watchful for others’ way of working that directly impacts us.
Another example that I come across again and again shows us the power of our beliefs. Majority of us believe that those who are senior to us and / or have more years of experience are more knowledgeable and mature. This belief is so strongly ingrained, especially with us Indians, that we never even question it though the stark reality sometimes is quite the opposite. Add to this the value attached to respecting the elders, and we have a deadly cocktail. I enjoy watching the TV serials for this same reason. They are a reflection of our social and cultural ethos. One such current serial on Sony TV recently had an episode where an elderly person behaved during a marriage ceremony which resulted in completely spoiling relationship between the two families. But not a word was said just because he could not be questioned being an elder. How unfortunate that we never even think of reviewing such beliefs and values.
It is so important to know our opinions, and see how they are influencing our decisions, which in turn lead to our repeated behaviors. Unless we do that there is no hope of having any permanent change for better. From time to time, we may decide to change our actions & interactions, but often they turn out to be like New Year resolutions. For a couple of days our enthusiasm will keep it going, but soon the old habits bring us back to square one.
I will keep coming back with more insights and more examples about the WoW approach for our life and work. Stay tuned.
I find it a lot easier to share my thoughts through a real life example.
All of us have travelled by train sometime or the other. Let us visualize two rail stations A & B 100 kms away from each other. A train leaves station A exactly every two hours travelling at a speed of 50 Kms / Hr, reaching station B after exactly 2 hours. (Sounds like Tokyo subway?).
This is Scrum with 2 week sprints, start and end on predefined days, making sure that those who got in at station A reach station B on time. Very disciplined predictable and dependable for those who can book in advance, reach station A on or before time, and wait till the next scheduled train to arrive.
Life is not so simple.
How about those travelers living much before station A, or between station A and B? They have to make their own arrangements to reach station A.
How about those who want to get off after station B? They have to make their own arrangement to travel from station B to their destination.
How about those who want to get off between station A and B? They have to first wait till station B, feeling bad that they can’t get off as they pass their destination, and then make their own arrangement to travel back with resultant delay.
How about those who could only decide at the last moment and have a critical urgency to reach their destination on time? They obviously had no time to make an advance reservation.
Is there a solution?
How about a train that keeps going round and round, and people can dock-on and dock-off from their respective places? That’s Kanban.
Sounds chaotic? Yes it is. Anybody could just board at their own sweet will and inconvenience others who are already in. So we need some discipline; and some planning; and some visibility into the past present and the future. And an automated system for planning and sharing information to all concerned helps.
Such a system is Agile, or more specifically Holistic Agile, which to start with must clearly know for each person, or a group of persons, where they want to get off and when. That helps to start backward planning. The train’s capacity to carry the passengers is known. What is required is the available capacity for additional persons to get on board without inconvenience to anybody. For this we need a rule that no standing is allowed. A person can get in if and only if there is a vacant seat. Heard of WIP limit from Kanban? This will of course mean some empty seats from time to time. But a slack is always better than people stacking on top of each other. Those inside could move about interacting and helping others onboard.
For capacity planning we could consider stops every hour (or every 50 Kms away), and plan capacity for this duration. Something like virtual mini-sprints of a week each. Within these every 10 Kms or so away, the system needs to know number of vacant seats. Even better if information of seat availability in each compartment is being continuously monitored by the system. Such information would be greatly useful to those who are responsible to decide how many and which people should be allowed to get in.
For a start this is good enough. In subsequent posts we will try to apply this specifically software development supported by good agile tools.
Most people say they are doing Agile when they are actually doing Scrum. This is because Scrum is the most widely used agile method; with a good reason. Scrum provides a complete framework that includes roles, ceremonies and artifacts. Over last 20 odd years of its existence, it has matured and scaled to large projects.
However Scrum does not provide sufficient guidance to the teams about how to manage their work within a sprint. There is no guidance on when to start work on which story / task. It does not provide guidance on how to keep the work moving smoothly without interruptions.
It mainly focuses on capacity utilization and relies heavily on burn-down chart to anticipate the risk of spill-overs. But there are cases where in spite of available capacity there is just not enough time for quality work before the due date. Hence there is a need to look beyond Scrum for help on these challenges.
Scrum is not the only agile method. There are others like Kanban and Lean. Kanban came from manufacturing, especially Japanese auto industry, and was pioneered in software development 10 years back.
Kanban is a light-weight method and is commonly used where the 2-3 week batch mode of Scrum doesn’t fit very well. Such situations include support activities, projects in maintenance mode, or anywhere the requirements come in at random and with a short completion time.
So a common approach is to choose between either Scrum or Kanban, but not both together. However there is an area of Scrum, single iteration or sprint, within which the Kanban principles can be considered for improving the execution effectiveness.
Expected benefits of introducing Kanban within a sprint are,
• Improved Agility –Measured as turn-around time (Elapsed time from the start to finish)
• Higher Productivity – Average velocity per person per week
• Better Quality – Reduced defects and rework
Kanban relies on pull mechanism to decide when to start an activity, and has just three simple principles.
• Limit the work in progress – Complete the work-in-hand before taking up the next task.
• Observe and manage the queues – Long queues introduce an inherent delay to every item. Lengthening queues indicate a capacity imbalance.
• Identify and remove the bottlenecks – Worst bottleneck decides the system throughput. Removing it reveals the next worst.
How Kanban principles help each improvement area:
Limit WIP: Pull system allows JIT re-prioritization (Agility). Uninterrupted attention reduces setup time (Productivity). Focused attention helps do a thorough job reducing defects and rework (Quality).
Manage Queues: Short queue reduces waiting time for all items in the queue (Agility). Reduced waiting time minimizes spill-overs (Productivity). Reduced waiting time provides more testing time before the due date (Quality).
Resolve bottlenecks: Removing bottlenecks Improves flow throughout the system (Agility). Improved flow results in higher capacity utilization (Productivity). Absence of a bottleneck means no need to compete for getting beyond it in hurry (Quality).
For best results it helps to follow a step-by-step implementation. The suggested steps are,
Set up the board to clearly visualize the work:
By default a board normally contains just three states – To Do / In Progress / Done. But the total span of a team’s work typically contains multiple stages. Visualizing them on a board as different columns helps to clearly see the flow. Further breaking the stages in pairs of doing & waiting clearly separates WIP and Queues.
Put in place data discipline:
The team will take some time to ensure that the data in the tool is in sync the with ground reality. But it is important to achieve this discipline to get reliable data for measurement and analysis.
Modify board design to facilitate measurements:
Initial measurements on live data will reveal areas of high variability. The board design would be modified through setting up swim lanes and filters to reduce this variability.
Baseline the current agility / productivity / quality:
Before we can measure the improvements, the current level needs to be captured.
Agility would be measured as the elapsed time between given points in the flow. Agile tools like JIRA provide powerful reports for cycle times and cumulative flow.
When doing Scrum, the productivity and quality measures would be in place to baseline the current levels.
Keep measuring and improving:
After the successful completion of first 4 phases, the teams can start reaping the benefits. Areas of improvement and the extent of benefits achieved will vary from project to project. There is no out of the box solution; but there are available pointers to indicate possible areas of improvement. Continuous improvement needs to become an iterative activity, with a short feedback loop.
Scrum is the most widely used and powerful framework. Its power can be further enhanced by understanding and applying a few Kanban principles. The best place to start is within each sprint.
There is a misconception that agile is just about processes, and primarily for software development. This is a narrow view and as long as we see it that way, we deprive ourselves of the real benefits of Agile.
Agile is much more than that. It is an approach and a way of working (Agile Method). It is a way of thinking and a state of mind (Agile Mind). In short,
Agile = Agile Method + Agile Mind
Even in software development, it is not limited to a few processes but can be applied to all processes. In fact once the Agile is used fully for software development, it will start being used in all our walks of life. After all, it is one life and can’t be compartmentalized.
In next few weeks, let us explore this line of thought in detail.