Practical Agile Transformation framework -  Start with a vision

“You should not do Agile, You should be Agile”. This is the most used buzzword by agile coaches to promote agile values. After +10 years in the agile world, I think this is a wrong approach too. 

Sometimes as an Agile coach, we are trying to sell our service, “We deliver agile coaching service to firms that help them to be Agile”. 

Based on my experience, most agile transformation failed because we did not have the right direction. Setting “Doing Agile” or “Being Agile” as a goal is not a good objective for a change program. 

This kind of change programs is buzzword centric. Agile mindset helped us to create “Customer-centric” products, but why we define a change program “buzzword-centric”? for example, “We want to implement OKR”, “We want to implement Scrum”, “We want to adopt agile”. 

So, you will hire a buzzword-coach, Trainer and she will teach us how to do this. And people will show resistance against the buzzword. 

Outcome-centric vs Buzzword-centric

A Customer-centric or Outcome-centric change program, see the change from lens of the customer and not service provider(Like agile coach). Let’s see an example.

Charles Revson, the founder of Revlon, said:

In the factory we make cosmetics; in the drugstore we sell hope.

Maybe as an agile consultant/trainer/coach, I want to sell my service to companies, but a company doesn’t want to be agile, they want to be able to do awesome things. We think agile will help them to reach the right competencies to do awesome things. 

A customer-centric change program, will focus on the outcome and not just implementing different frameworks or practices or even values

Factful Agility Framework

I did not want to create another framework, I think we have enough frameworks. But based on my experience we have 2 main issues:

1- Most of the time an alone tool cannot solve our problems and in the real world we need to mix different tools.

2- There are lots of tools out there, and it makes it hard to choose them and mix them.

After working with +15 companies and +100 teams, I tried to create a container for these tools, That makes it easy to use them or choose them. I call this container “Factful Agility Framework”.

Some tools like, “Toyota Kata”, “Agile Fluency Model”, “Agenda Shift”, “Comparative Agility”, “Evidence-Based Management Guide”, and my own tools like “Change JTBD”, “Coaching Canvas Card”.

Explore: Start with the outcome

Let’s draw an outcome-based agile change program:

How to start an agile transformation program?

We used to dive into the agile frameworks and start to implement one of them and mostly scrum. But in the Factful Agility Framework, we start to explore, “Why our customer need to be agile?”

Start with “How we want things to be”

There are various reasons to be agile. We should help managers to find their own reason. 

I created a game to help them to do it faster and easier. I called this game “Change JTBD(Jobs-to-be-done)”

1- Print or write the following cards on sticky notes: (You can add your own cards too)

2- Invite key stakeholders of the change program to a workshop.

3- Ask them to prioritize these cards based on current reality.  

You can use dot voting for prioritization. Ask the group to cast their votes by placing a dot next to the items they feel the most strongly about. They may use stickers or markers to do this. As a rule of thumb, giving each participant five votes to cast works well.

Participants cast their votes all at once and they may vote more than once for a single item if they feel strongly about it. Once all the votes are cast, tally them, and if necessary make a list of the items by their new rank.

This prioritized list becomes the subject of discussion and decision making. In some cases, it may be useful to reflect on ideas that didn’t receive votes to verify that they haven’t been left behind without cause.

The result should be something like the below image:

4- Now categorize items by the Agile fluency model. Let’s map this card to agile fluency zones:

5- Explain the agile fluency model to workshop attendees. You can use this video too. 

6- Select the right Target

The Important part of this game is selecting the right target. In our example, based on votes, the second zone, Delivering is a suitable target for us.

Similarly, while each zone has value, each zone also brings challenges. Investing in more than you need could incur organizational backlash, and could even poison people’s perception of agile ideas in general.

Think of fluency as a ride on a bus. When you get on a bus, you buy a ticket for the zone that you want to reach. A zone that’s further away isn’t inherently more valuable; it just costs more and takes longer to get to. Sometimes you’ll buy a bus ticket for the suburbs, because you want to go to a big box store. Sometimes you’ll buy a ticket for downtown, because you want to see a play. Neither is inherently better — it all depends on what you need that day.

7- Create a transformation poster 

Now ask attendees to draw a poster with the following statements: 

1- How things are today 

2- Possible Solutions

3- How we want things to be (Use fluency model)

In this example, Agile fluency is a tool that helps you to set the right target.

8- Determine Key metrics

We need some lagging and leading metrics that show our progress against targets. These are quantitative targets. 

We can create a dashboard to visualize these metrics during the exploit.

We don’t need tons of metrics, we just need a few ones that make quantitative targets more clear and measurable. 

I mapped some of the popular metrics with agile fluency zones that you can use them:

Something like this:

Now we have a shared changed vision and a good reason for the change. It shows the direction.

In the next stories, I will share how to go the next steps, “Understand” and “Explore”. 

Please leave a comment for this story as feedback, Is this useful for you or not? Why we should continue if it’s not valuable 🙂 

Regards

Asad

About the Author:

Asad Safari is an Enterprise Lean/Agile Coach. He has worked as an Agile coach for more than 10 years with several enterprises and startups. He has more than 14 years of experience in the IT industry as a Software Developer, Tester, and finally an agile practitioner. You can follow Asad on Twitter and LinkedIn.

Real Agile transformation case study, with Agile Fluency Model

Omid is a WealthTech company based on A.I (artificial intelligence) that offers intelligent wealth management solutions to customers(B2B and B2C). When I was invited to join this company, they typically expected me to implement scrum, but based on my experience implementation of scrum should not be a goal. We need to answer this question, really why should we implement Scrum? Actually what problem does it want to solve by implementing Scrum? In many cases, we do all scrum ceremonies but our stakeholders (Managers, Developers, and customers) are not happy with the result!? We can call it Fake Agile.

How did we start the Omid agile transformation journey?

At the Omid, I tried to use the Agile Fluency Model to promote agility. This model describes how to enable your teams to produce the results you need and achieve the success they crave. The Agile Fluency model has three basic steps for agility(The Agile Fluency Improvement Cycle):

1- Discover opportunities

2. Diagnosing(Understand System)

3. Exploit opportunities.

First step: Discover opportunities 

Generally, in this step, we tried to understand what the concern of the organization is. The word. What is the challenge facing the organization that thinks it needs a different approach? 

About the Omid Company, we tried to discover the opportunity during the first week by talking to technical members, product managers, and senior executives. The important point here is that everybody will tell their story and viewpoint to you. As a coach, you need to understand what the underlying issues are. For example, if daily standups are not held on time, this may not be an underlying issue. 

Let’s come back to Omid, Omid had made rapid growth in a short time, and in this growth stage, they developed many components and systems. But systems were so fragile and any changes in the system broke many things in other parts. 

This fragility caused a lot of bugs and a high rate of bugs has slowed the development of new features. At the same time, it hurts the trust level to technical members, why it takes too long to develop a small feature? Why our team is so slow? Do we need to hire some experienced developers? This fade of the trust itself had also caused problems in human relations. Even the technical guys looked at each other and their ability with suspicion. (This guy is so slow and I think we need to fire him…)

Even more so, financial profits had reduced due to the lack of proper progress of the projects, and in some cases, bugs had caused many financial losses for the company.

This is a very important point that we find the main challenge and not simply involve in malady symptoms or signs. The manager might say that I must bring a new technical force, Scrum master might say that scrum meetings aren’t held properly and so on. In this case, the main challenge was so hidden for stakeholders. Managers thought their teams were so lazy, and development team members thought they had lots of unplanned issues during sprints and they need a process to handle unplanned works. 

The identified opportunity in Omid

Improving the quality of the system to maximize customer satisfaction, stakeholders and especially team members.

While quality was our first challenge, at the same time it could also become an opportunity that led us to soar. 

Fluency zone selection based on opportunity/challenge:

The Agile Fluency model is not a maturity model, usually, in a mature model the more is better, but in this model which we have four zones, each zone has its own benefits and costs. Each zone represents a fully-mature choice. Similarly, while each zone has value, each zone also brings challenges. Investing in more than you need could incur organizational backlash, and could even poison people’s perception of agile ideas in general.

Summary of the different fluency zones:

The Focusing zone represents agile fundamentals, and fluent teams provide noticeable benefits to transparency and teamwork. Although Focusing fluency doesn’t include sustainable technology practices, it’s a great way to demonstrate success and create buy-in for further investment. It’s also a good fit for teams, such as some digital agencies, that don’t maintain their software long-term.

For teams that need to modify and enhance their software for more than a few months, Delivering fluency is often a better choice. This zone represents agile sustainability. Delivering teams have low defects, high productivity, and are responsive to business requests. Fluency here is a valuable leap forward for most teams. 

Organizations that wish to set the pace of change in their market, or who see the threat of market disruption on the horizon, will benefit from choosing the Optimizing zone. Optimizing represents the promise of agile: innovative business agility. Although it has dramatic payoffs, it also requires disruptive changes to organizational structure. Making those changes is often easiest in small, nimble organizations. 

Leaders who want to innovate management theory and practice, particularly in small- to mid-size organizations, may find the Strengthening zone to be the best fit for their teams. This zone is a possible future of agile. Cutting-edge agile practice appears to be moving in that direction. However, be cautioned that this zone requires researching cutting-edge management theory and inventing new ways of working.

(source)

Based on the chosen opportunity/challenge for Omid, we targeted the second zone, Delivering, but we also had a look at the Optimizing area that if sustained, could be our future Target, but the main focus of the course was on the Delivering zone.

Why the Delivering zone selected?

The main metric of this area, as defined by the Fluency Agility model, is: “The team can release their latest work, at minimal risk and cost, whenever the business desires.” And the other benefit is “The team has low defect rates, so less time is wasted fixing bugs and more time is invested in making improvements” On the other hand, “Low defect rates and technical debt are beneficial to job satisfaction and morale, improving retention and productivity.”

Well, these items were exactly what we needed for the opportunity we had discovered. So based on this, the second zone was selected. Important point: The Delivering area is based on the Focusing zone. That means you should also be practicing this area along the path. Well in the first week we had discovered the opportunity, and we had chosen our target, now it’s time to conduct the Diagnostic.

Second step: Conduct the Diagnostic

Agile Fluency Diagnostic is a tool for facilitators of the Agile Fluency model. This tool will help you to determine the distance between you and the zone that you targeted or in simpler words, works like a GPS to determine where you are right now and what path to reach the chosen target. 

The diagnosing of Omid teams were run in a workshop, and the results were prepared for the team and senior managers in a report. The most important function of this report is that management knows what to do to support the team on the journey, and the team itself knows how to take the path.

Third step: Exploit the opportunity

In the first step we selected our target, in the next step, we realized where we were and now it is time to move on and exploit the opportunities. This is actually the coaching phase for teams and managers.

For the first zone, we asked managers to provide the following things (the First zone was the basis of our original Target):

  • Create the right environment that focused on high efficiency (Especially team room.). 
  • Make sure that someone with expertise in the business field and familiar with customer values is available and acts as the team’s business representative. 
  • Try to overcome the obstacles of effective teamwork such as competitive rankings, individual rewards. 
  • Train managers to create the right teamwork environment and instead of managing people, seek to manage work systems.

Managers did good cooperation in all cases, for example breaking teams into product teams was one of the things we did, or the product team members sat together at the common table, or the managers instead of tracking work’s progress from individuals, tried to ask the team. Finally, we breakdown our technical department to different 5 product teams.  

At the team level, the team also started the scrum and kanban processes, sprint planning meetings, sprint review and retrospectives started. Physical boards and lots of scrum and kanban practices…

This zone was so great but was not enough for us. Unfortunately, many companies are stopping at this point, but this zone was not our targeted zone. The main target was the Delivering zone. 

Most of the manager doesn’t have a problem with spending money, but one of the biggest investments the organization will make is time. We were so lucky that we had the support of the CEO, and he was willing to trust and made the investment. This investment meant a decrease in the team’s capacity to execute new futures for several months. 

At the team level, a lot of work had to be done. The main thing was that some parts of the system had to be refactored, some parts had to be written from scratch, tests (different types had to be added to the system), but there’s a big trap here, Unlimited refactoring or over-engineering. To prevent this trap, we used a simple technique. We checked out over 100 recent bugs in the Jira. Bugs are usually good things to identify fragile components. Then, based on this evidence, we began to prepare a prioritized list of technical debts.

During sprints and based on priorities, teams started to refactor different parts and add different levels of automatic tests (unit or integration tests). Don’t forget this point, refactoring is not our goal, we should have known that this refactors would reduce bugs rate and increase the quality level? In simple words, if we couldn’t measure something, we couldn’t improve it. In the beginning, we added a bug report widget to our application that users and testers could report bugs, and these bugs were recorded automatically in Jira. The numbers in the first weeks were incredible, 30 to 45 bugs in a week.

The must crucial step in change process is to create a sense of urgency

When the first time development team members saw the above chart, it was unbelievable to them, “We really have so many bugs?” Sometimes you need to bring the real situation to the forefront to create an urgency sense, that’s all. We defined a challenge with the team, who wants to bet? Do you think we can decrease this number under four?

Team Challenge: 40 to four. Participate in this challenge 🙂

The number was visualized on a big TV in front of the teams. Now in each sprint and in any deployment, team looking to reduce that number. That means, the refactor was not because of the refactor or Uncle Bob said to write clean code, but it’s for improving quality and customer satisfaction.

Look at the impact of your work and go ahead with more power.

In this company, we had some internal users, that we called the traders, who use our application to increase the wealth of their customers. One of the interesting things we discovered was that we involved them in our daily standups. At the end of the daily standup meetings, we were calling one of them, and asking them two questions: 

1. How many bugs did you record today? 

2. In your opinion, the quality of the system is better than yesterday or not?

These questions let us knew our customer/user’s feelings about our application and at the same time it creates a really great empathy for developers. They are looking to make their customers happy with high-quality software, so any refactor or improvement should help us to reach this goal. 

The initial list of technical debts was not a fixed list and was changing during sprints. But the result was incredible. In four months, the teams were able to bring this number down to almost below 4, it has also begun working on new features too.

Actually, our technical debts list did not just contain refactoring, but also there were other technical things too, such as adding microservice monitoring, adding health checks services, and documenting important parts of the system, and so on. Or other initiatives like separating the test environment from production or create a beta-customer environment. After observing the results and reducing the bug, human relationships also improved extremely.

What was a significant result?

As I said at the beginning, the problem with the company was not the use of scrum, what the company needed was a high-quality product that would make these:

1) Make adding features easy

2) Led to customer satisfaction 

3) Developers are proud of the quality of their work.

Reported bug chart

Tangible results over five months for business:

1) Extremely reduced technical debt and the increase of the ability of the team to handle feature development 

2) Increased a tangible level of trust between team members and leaders 

3) Increased company profits due to the ability to attract and retain previous customers

Because my main beneficiary in this project was the CEO, I asked him to express their opinion on the outcome of the project in one sentence:

“You dear Asad did it well. A deep understanding of human relationships, rooting for issues rather than dealing with the foliage, continued presence in teams, and tremendous experience and understanding of the problems of teamwork in Iran, made the previous challenges that were in Omid disappeared completely. Thank you very much. “

What is the future of Omid?

Transformation is an endless journey that will have many ups and downs. Especially there is a great distance to the fluency point, so I was at the beginning of this journey with Omid’s guys and I hope this path will continue in the future by guys themselves.

Be agile and good luck

Asad Safari

Two ways for better planning and estimating


-“How is it possible to better estimate sprint backlog issues?”

-“Why do you need a better estimation?”

-“You know, In the sprint planning meeting, the team fills the sprint with lots of issues, but in the middle or at the end of the sprint we have to remove lots of them from our sprint’s plan.”

-“With better estimations, Why do you think the same thing won’t happen again?”

All over the world, most software development teams are using Scrum. They have accepted it that software development is a complex thing. So something like waterfall not works in the complex domain, and you need a tool or method or practice to solve this complex problem.

Based on my experience, most of these teams are looking for a magical way to have an accurate plan for their sprints.

In this story, I would like to share my own experience with these teams and share Factful planning framework, a tool that helps you to have

better plannings and estimations.

Problem

The main problem is that we forgot the “Problem.” At the first level, we need to check some understood assumptions. Scrum (n): A framework within which people can address complex adaptive problems.

In theory, everybody has accepted that: First. Scrum is a framework, Second- A framework to address complex problems. However, in real-world, the people act with Scrum as a project management technique. The big problem with this idea is that they forget uncertainty.

In the complex domain, you need to accept uncertainty as a reality, and you can’t ignore it.

Is it possible to plan and estimate in this uncertain world? I suggest you “Factful planning framework.”

Determine the uncertainty level with uncertainty matrix

The first thing is that the uncertainty level of product backlog items is not the same. Any item has a different level. You can determine this level with uncertainty matrix.

Uncertainty matrix is a simple tool to help you to understand your backlog’s items uncertainty level. This matrix has two dimensions.

1- What: What we should do?

2- How: How we should do it?

Grab one of your product backlog items, and look at this issue, first think about “What” dimension. Answer the following question:

Do you(or your team) know what you should do for this issue?

1- Yes, We are sure about detail, and we need to do it

2- Yes, But we are not sure about the details.

3- No, details are unknown

After, “what” dimension, think about “How” aspect. Let’s answer this question:

Do you(or your team) know how to do it?
1- Yes, We are sure about to do it(We have already experience about it)
2- Yes, But we are not sure.
3- No, we need to test different things.

After that, you can choose uncertainty level for your backlog item, for example, 2–3, it means 2 in what dimension and 3 in How aspect.

Factful planning in the scrum events

Let’s think about this example; you have a high priority item with 3–3 uncertainty level. Because this item is a top priority, you select it as one of the current sprint backlog items in the sprint planning meeting, and you ask the team to estimate it.

How should the team estimate this unknown item with a high level of uncertainty? What is the value of estimation when it is wrong?

So, Uncertainty level will help you think about the main idea of Scrum again, “Address the complex problem.”

Factful sprint planning

The first idea is to do not select items with uncertainty level 3(What or How) to implement it in the current sprint. Try to choose items with uncertainty level of 1 or 2.

What about the third level of uncertainty?

Why should we not select them for current sprint? It’s impossible to estimate this kind of items. When you choose them as committed items to current sprint, our stakeholders will think, you need to finish them in this sprint, and this is part of your commitment.

Strategies for the third level of uncertainty

Answer this question: “What can we do in this sprint to create knowledge to decrease the uncertainty level of this item?

With remembering the uncertainty, the team, instead of being committed to doing unknown issues, they will try to create knowledge and increase the certainty level.

Practices to increase certainty in “What” dimension:

1- Design Sprint

2- Talk with customer

3- Create MVF (Minimum valuable feature)

4- Take time to break down it and write acceptance criteria(like grooming meeting)

5- Functional Spikes

So, you are trying to increase the certainty level in what dimension. I met some teams that they don’t have any communication with their customers.

In some cases, just small talk with a customer can decrease the uncertainty level. Sometimes you need to create a prototype or some methods like design sprint. Sometimes you don’t have time to break down product backlog’s items or write acceptance criteria for them? Maybe you need grooming or refinement meetings.

Spike

Based on Agile Dictionary definition, Spike is a task aimed at answering a question or gathering information, rather than at producing a shippable product.

Sometimes a user story is generated that cannot be well estimated until the development team does some actual work to resolve a technical question or a design problem. The solution is to create a “spike,” which is some work whose purpose is to provide the answer or solution.

Functional Spike, This kind of spikes trying to answer a question in the functional aspect. Ex. “Do we need this button here or not?”. A functional spike can be something like that “Prototyping of asset management console.”

Practices to increase certainty in “How” dimension:

1- Technical Spike

Like functional Spike, This is a very simple program to explore potential solutions. For example, “Which library is good for SNMP scanning.”

This kind of spikes will help us to explore solutions and decrease uncertainty.

“What” vs. “How”

If you have an item with uncertainty level 3–3, What is your priority? Based on my experience, you need to start with “What,” Because “How” really depends on the requirement, and we need to determine our technology based on our requirements.

What about change?

Don’t make wrong; we can’t ignore the change. Uncertainty level can be changed over-time based our knowledge about business and technology. This practice is a simple tool to remind you about reality, “Uncertainty.” Instead of taking lots of time for an accurate plan or estimate, work hard to create knowledge at the right time.

Factful sprint review

One of the other practices of Factful planning is “Demo for.” Like the uncertainty level, you need to add a new property to your backlog’s items, “Demo for.” You need to determine at the end or during the sprint, Who should see the result of this item? Who should provide feedback to us?

In some cases and in real-world, items with uncertainty level 1–1, don’t need any specific feedback from the customer, and this can be accepted or rejected it by our product owner. But other items with higher uncertainty level needs real customer feedback.

You can not write a general thing as a demo for, like “somebody from marketing.” If you are building a feature for the internal inventory system, you need to write something like that “John, head of inventory and Sara inventory software user.”

Why “Demo for” practices?

1- sometimes, we have different items for different segments. With this practice, we know that we should get feedback from the right person.

2- Don’t waste your time to get feedback for some 1–1 item. (They will make our review meeting so dull)

3- You can send an invitation letter to them, to join you and make themselves available for you. They have time for preparation and set the meeting on their calendar.

4- You will not forget to get feedback.

Why do I call these practices Factful planning?

We need to learn to separate fact from fiction when forming our opinions. The organization can be both bad and better. Progress comes bit by bit, But without facts, our minds are occupied by feelings. This practice is part of my factful agility toolbox.

Asad Safari



About the Author:

Asad Safari is an Enterprise Lean/Agile Coach. He has worked as an Agile coach for more than 7 years with several enterprises and startups. He has more than 14 years experience in the IT industry as a Software Developer, Tester, and finally an agile practitioner. You can follow Asad on Twitter and LinkedIn.

OITO vs OKR

A big company asked me to help them to implement OKR. I tried to understand why they are looking for a goal-setting system? Based on my observations and interviews, I found the following objectives: 

1- More focus on meaningful and valuable work 

2- Better alignment in the entire company

We started with training, most of the guys were happy about the new thing. After that in an iterative approach, we helped them to set their Objectives and Key results.

Now each team has 3–4 objectives and 3–4 key results assigned to any objective. Everything looked good and we knew there is room for improvement, for example, teams need to set ‘Value oriented’ key result or set personal OKRs … But they need time to practice it and we should let them try it and learn more … learning by doing. 

I remember that our objective from using OKR was “More focus on meaningful and valuable work”. To validate this idea, I tried to ask from teams, “What a special thing that you want to achieve in 3 months?”. Their answer made me surprised “Yeah we have some projects and we need to finish them …. start X project too”.

It was my mistake. I told them, each team should have 3–4 objectives. So, they did it. We need to have 3–4 objectives with some measurable key results. and mission has done 🙂

for example:

1- Increase customer satisfaction

2- Increase technical quality 

3- Improve team agility

The problem was, They have 3–4 general OKRs, But most of the teams did not think that we need to have some big achievements and we need to work together as a team to reach it. 

So I tried to help them to fix it. In one of my old clients, we had the term “OITO”, “One Important Thing Only”. What is your OITO? It means “What is your one important thing only in this quarter?”.

So, I did not want to use “OITO” in this company, “Hey guys, forget OKR and we want to use OITO”. But I tried to test it with one OKR for each team but a meaningful one. “Hey, you don’t need to convert your business as usual to OKR, You can do them in this quarter, But what is your one important thing only in this quarter?”

For testing this idea, We started with just one team that we think they don’t have so meaningful objectives. I designed a workshop based on “Celebration-5W” an so we invited all team members to a 2 hours workshop.

“Hey, welcome to our review meeting, We are going to do a different thing today. Let just forget your team objectives for 2 hours. ”

It’s some months from now, and you’re celebrating! Isn’t it wonderful to see everyone together like this? And you deserve it: over this period, you, your teams, and your entire organization have achieved far more than anyone would have thought possible. 

What makes this celebration so special? We’re going to explore that via some time travel and the classic journalistic questions of Who, What, When, Where, and Why, otherwise known as the five W’s.

“Let’s create a celebration journal together” 

Imagine… You’re celebrating! 

  • Celebrating meaningful accomplishments, objectives, goals 
  • Celebrating with everyone who helped make it happen: colleagues, suppliers, customers, … 
  • Reminding each other how you were stretched and why it was all worth it

You can use the following template for your journal or be creative and create your own:

What are you celebrating? (Key accomplishments, objectives, goals)

When are you celebrating? (The timeframe required for this significant challenge)

Who is celebrating with you? (Organisational scope/identity; others involved or supporting)

Why is this important? (The Why of the whole endeavor, not just the celebration)

So I think this is a great technique to think about meaningful accomplishments, objectives, goals. For my current client, I would like to review their OKRs to find their OITOs, and I think “Celebration-5W” can help us to do it.

I will share the next steps of OITO with you, How to convert it to projects and tasks, But I need your feedback about this, Please let me know is it valuable to continue or not. 

Asad Safari

Why SAFe is a wrong solution

I’m an Enterprise Agile coach in a big company with more than 30 software development teams. In recent days, one of the scrum masters told me, “I’ve read some articles about SAFe 4.6, and it seems a cool agile framework. I think we need to use SAFe in our company and …”.

I asked him, “Wow looks great, and think about this idea, What’s the #1 struggle we have in our company that we want to solve it with SAFe 4.6?”

“Hmm, You know, we have collaboration problem. There are lots of dependencies between departments and it makes everything slow and … The SAFe has a PI planning meeting and lots of roles and we can resolve our dependencies and create better alignment.”

“ People don’t want quarter inch drills. They want quarter inch holes”

Based on my observation and experience, Most of the companies try to use SAFe to create better alignment, collaboration and resolve dependencies.

People Don’t want SAFe, They want keep all teams align and deliver value faster

This story is not about that SAFe is a bad or good tool, SAFe has lots of good things but for our job, I think it’s a heavy and wrong solution. We can create better alignment with less cost and in a more effective way.

Why it’s heavy?

There are lots of roles, ceremonies, layers, artifacts and…. Many Agile practitioners think that SAFe is not Agile.

Dave Snowden: “SAFe is to Agile as Six Sigma is to Innovation and Sharepoint is to Knowledge Management A refusal to realise that the world is complex and an attempt to impose inauthentic order to development.”

Or based on Ron Jeffries, “If everyone in the organization were to read the fine print in SAFe, then the organization might very slowly evolve to the level of effectiveness that real Agile provides. That’s not going to happen. Managers and executives are too busy to read the fine print. They are too busy doing their job to study how to do their job. They will too easily fall into old patterns of management behavior, and when they do, SAFe will be installed in a fashion that won’t just fail to support Agile, but that will suppress it.

Why SAFe is the wrong solution for creating alignment?

In SAFe there’s an event called: PI planning. It’s a kind of secret sauce for SAFe to create alignment and resolves dependencies. The following image is a result of a good PI planning. (They call it program board which created after 2 days PI planning meeting)

I think this image is a terrible thing. Most of the SAFe consultants say, “It will solve your dependencies…”. Visualizing dependencies is a great thing, but you need to resolve it. Some of the dependencies, will not be resolved by just talking in a PI planning meeting. “We will do it for you on sprint 2…”.

The best question or action in this state is “Why we have these dependencies?”. I got the following things as the root cause in our company:

1- No real Cross-functional teams

2- Structure issues

3- Depended business domains

Something like the Spotify model:


https://blog.crisp.se/wp-content/uploads/2012/11/SpotifyScaling.pdf

For resolving dependencies, just talking about them in the PI planning is not a good solution. You need to change the structure of the organization, create real cross-functional teams based on small business domains.

Asad Safari

Create a real agile team with Fogg behavior model


As an agile coach, I try to help and empower companies to find their own way and move forward in their agile transformation. But there are companies that just hire me to hold a 2–3 days agile/scrum workshops for them.

I want to tell the story of one of these workshops for a company that we call it “Manko”(Not a real name). All team members, Team leads and managers participated in the workshop. There was a different type of people with different ideas and beliefs about agile:

1-Agile is a great thing and we need to follow it 2- Agile is a new fad and this trainer try to sell his gold hammer to us 3- No idea about agile and curious to learn new thing.

In my courses, I always try to reach the following goals and help the teams to stick to the change after my workshop.

1- Awareness(Why we need to change?)

2- Desire(Everyone or part of them has the desire to take part in and support the change.)

3- Knowledge (What is the Agile and different frameworks, and how they work?)

At the end of my workshops, I try to measure my result with these questions(Do they have the motivation and enough knowledge to start the change? ). 

For “Manko” case, at the end of the workshop, everybody was happy and they told me, “We will start to practice from tomorrow and …”. It was so exciting for me. 

After a while, I asked them “What is going on there?”, And in response, “Yeah, we are so busy now but trying to write user stories on Jira but developers didn’t update it … Some days we have daily standups, hmmm, not regular and…”. 

It was so surprising for me, Why such motivated guys could not succeed in their change plan? 

I thought we just need motivated guys to be able to change, and motivation can drive the change. But it was a wrong hypothesis.

The Fogg Behavior Model shows that three elements must converge at the same moment for a behavior to occur: Motivation, Ability, and a Trigger. When a behavior does not occur, at least one of those three elements is missing.

Based on this model, We have Motivated guys but low Ability and no Prompt or Trigger

Maybe you think that Why they don’t have enough ability? Why your course didn’t make them be able to work agile. 

We need to understand the difference between Knowledge and Ability. In a 2–3 days training course, You can just create knowledge for them and not the ability. Even simulations or any kind of games cannot create Ability. 

Ability comes from daily and real work. Once the knowledge(theory) is in place, then the individual needs to be supported during the actual performance (practice). They need to do it and make mistakes and learn and repeat and practice. 

For example, you are trying to write user stories together with all team members. But you don’t know how to write or breakdown stories for your real project in the banking industry. It will create frustration for team members and as a result, they will put it away 🙂 

Cognitively Demanding (Mental Effort) — People probably already have a lot to think about, so any new behavior that they are trying to take shouldn’t increase their cognitive burden too much.

So based on the Fogg model, We need to make teams be able to change their behavior. 

Hire Scrum Master/Agile Coach For fostering ability:

  • Coaching or role-modeling in the real work environment
  • Access to right tools
  • Give Feedback
  • Co-Working with a team, for example, breaking down stories together

Trigger or Prompt

Ability and Motivation are not enough to change behavior. We need to a trigger too. There are three types of the trigger, each aimed at a slightly different audience.

SPARK

The spark is a trigger that comes with added motivation. It’s perfect for those who have the ability but lack the motivation. 

Our training course sometimes works as Spark trigger. When it comes to training, a spark should help a learner see the Epic Meaning in the behavior you’re asking of them. They want to know why it’s important, and it’s up to you to make them care.

FACILITATOR(our case)

A trigger that is applied when there is high motivation but low ability. It seeks to simplify the task. As an illustration, suppose that you’re trying to eat healthier but you’re not very organized. You can sign up for a newsletter that is delivered every Sunday morning to your inbox with easy-to-make, delicious recipes for healthy meals. This will prompt you to sit down with the newsletter and plan your meals for the upcoming week, right there and then.

I think in our case Scrum Master or Agile Coach can be a great trigger for the team. She can work with them daily, Send them small pieces of training, Show them how to do a task(Like breakdown story),….

For example, I was an Agile Coach in a big enterprise, We tried to use OKR in company level. We held training courses for teams about OKR. Some of them started to write their Objective and Key results in the company’s confluence. So I started to check their pages, and comment for them. 

  • “Hey, Vahid, How do you want to measure this key result “Improve the speed delivery?, Do think we have any number to measure? like Deployment count per week?” 

Or I shared good OKRs as good internal examples to other teams in our social messaging groups. 

Or One-on-One mentoring with managers to check their OKRs. Giving feedback to them …

SIGNAL

They are ready to change. They have the motivation, they have the ability, all they need is the starting gun to fire and they’ll get going. This is just a prompt that serves as a reminder. It can be something as simple as a post-it note.

Scrum masters and Agile coaches can create ceremonies or some reminders for teams to act as a signal. For example, weekly meetings for checking and tracking OKRs. 

Conclusion

I think, for sticking on agility, companies need to hire or develop empowered Scrum masters or Agile coaches or any kind of agile practitioner. 

Agile coaches/Scrum master need to understand, three elements must converge at the same moment for a behavior to occur: Motivation, Ability, and a Trigger. 

If your team is not motivated about agility, let them know about the meaning and philosophy of Agile, you can ask help from external agile coaches/trainers. 

If your team doesn’t have the ability and it makes them frustrated, act as a facilitator and mentor, Work with them, Create a product backlog together. Create a safe space to learn by doing. (Company and senior leader should support you in this stage). 

Sometimes you need to act a simple reminder. Ask questions “Hey, When do you want to do grooming meeting in this sprint?”


Maybe you like:


About the Author:

Asad Safari is an Enterprise Lean/Agile Coach. He has worked as an Agile coach for more than 7 years with several enterprises and startups. He has more than 14 years experience in the IT industry as a Software Developer, Tester, and finally an agile practitioner. You can follow Asad on Twitter and LinkedIn.

Jobs To be done in the real world

If you are trying to understand or learn about Jobs-to-be-Done and you are looking for real-world cases, there are a few real cases like“McDonald’s Milkshake”, and it’s difficult to find other examples.

In my previous article, I introduced a tool for agile coaches “Coaching canvas”. I tried to use the Jobs-to-be-done technique to create and introduce this canvas. In this post, I want to share my story with JBTD.

“People don’t want to buy a quarter-inch drill. They want a quarter-inch hole!”

This is the essence of the jobs to be done. Your customers are not buying your products, they are hiring them to get a job done. (CLAY CHRISTENSEN)

So it is necessary to understand the job that customer want to get done. most of the time we just think about our product and we fall in love with it but our customer or the user just think about her job.

Charles Revson, the founder of Revlon, said:

In the factory we make cosmetics; in the drugstore we sell hope.

In my last experience, I tried to test JBTD with coaching canvas. Coaching canvas is a tool for coaches that they can frame problems and solutions in a good format. But it’s not the main job that agile coaches want to get done. Agile coaches don’t need another tool, they want to help teams to be agile and looks valuable for them and organizations.

They “hire” this tool to make progress.

So based on this idea I started my article with this title “How to avoid imposter syndrome for Agile Coaches”. Why imposter syndrome? You know agile coaches want to help teams to be agile and looks valuable. But sometimes they are are not successful to get this job Done, and in psychological aspect, most of them will feel imposter syndrome (I’m not valuable for organization and kind of frustration).

https://justinjackson.ca/what-is-jobs-to-be-done

In the classic definition of JBTD, we have different types of jobs:

Functional Jobs — the core tasks that customers want to get done

Emotional Jobs — how customers want to feel or avoid feeling as a result of executing the core functional job

Social Jobs — how customers want to be perceived by others

Something like this:

An agile coach wants to help teams to be more agile (Functional Job) She wants to look valuable in the organizations (Social Job) and Don’t feel imposter syndrome (Emotional Job).

There are lots of different canvases out there, but they hire a Coaching Canvas to get their job done.

Based on my experience, Emotional and Social jobs are over Functional jobs. But unfortunately most of the time we ignore these aspects. Over 40 billion photos have been shared on Instagram, Why people would like to share their photos? Instagram clocks up 3.5 billion likes every day.

But in the new definition of JBTD, 3 types of jobs are not a useful idea. Alan Klement, With respect to Jobs, no objective test can be created to say, “This is a social Job. That is not a social Job.” If I buy a Ferrari to impress other people, is it a “social” Job because I reference other people? Or should we rephrase it as insecurity, making it a “personal” or “emotional” Job? Take it from me, don’t waste your time trying to dissect Jobs into different types. It’s about as productive as trying to answer, “How many angels can dance on the head of a pin?”

I agree with Alan, categorizing jobs to 3 different categories is not a useful activity.

In another part of Alan’s story, “JTBD is not a framework, method, lens, or methodology. It’s not something you do. It’s something you learn.” Its purpose is to help you describe demand, not to tell you what to do about it. JTBD is about understanding what-is. It is not about creating what-should-be.

In my story, I learned about agile coaches demand and I tried to explain it with JBTD theory.

“An agile coach wants to help teams to be more agile, She wants to look valuable in the organizations and Don’t feel imposter syndrome.”


Maybe you like:


About the Author:

Asad Safari is an Enterprise Lean/Agile Coach. He works as an Agile coach for more than 7 years with several enterprises and startups. He has more than 14 years experience in the IT industry as a Software Developer, Tester, and finally an agile practitioner. You can follow Asad on Twitter and LinkedIn.

More about Coaching Canvas

In my previous story, 5 Steps to avoid Imposter syndrome for Agile Coaches, I tried to share my experience with coaching canvas and how to use it. After that, I got really great feedback from different coaches.

So I decided to share more examples. Please share your experience and your story with coaching canvas too.

Click here for Download examples of Coaching Canvas

Asad Safari


Maybe you like:


About the Author:

Asad Safari is an Enterprise Lean/Agile Coach. He works as an Agile coach for more than 7 years with several enterprises and startups. He has more than 14 years experience in the IT industry as a Software Developer, Tester, and finally an agile practitioner. You can follow Asad on Twitter and LinkedIn.

5 Steps to Create an Agile Structure


Talking about an agile organization, we actually mean a number of teams that drive the organization forward. A non-agile organization is like a warship. Even though our carrier is strong, but has little flexibility. Agile organizations are like small — line war boats moving toward the mission and goals of the organization. Being small helps to reach out to high flexibility.

Indeed, teams are the most basic fundamentals of the agile structure. Those with three main features: Being small, cross-functional, and having self-organization.

In my opinion, cross-functional and self-organizing, are highly depended on factors like “team” and “small”. We tried to do some experiments in one of the units of my client(Part of the biggest bank of the middle east) and this story is to share my experience.

In this unit, ­managed by Vahid Ramin, we concluded that the current structure was not suitable for agility (like a warship), so we decided to change the composition. (A nice characteristic of Vahid is his courage to make changes and perform experiments which, in my opinion, is one of the characteristics of the agile leaders).

What was the situation?

The group’s name was Audit & Inspection, because most of their systems were for the bank’s Audit & Inspection department. But over time, a lot of new projects were being allocated to the group. Projects from different business areas, from “Customer master data management” to “Open banking platform”. To carry out these projects, new people were added to this group, so the group was growing up. The number is approximately about 12 to 60 people (warships).

This big group did not have the concept of the team (there was no agility core). It was just a number of people trying to finish lots of project at the same time, Lots of dependencies, redo-works, hand-overs, etc. We were trying to carry out the agile ceremonies on the big group, but events such as Sprint Planning or Review were completely useless. The problem was it was so boring or ineffective.

What happened to the situation?

1. Discovering teams using business area

The first thing to do was to identify business domains, for example, a bunch of work related to inspection systems, with the scope of monitoring and detecting transaction infraction.

You may ask why do you need to find business areas? In fact, one business unit should follow a specific area. But over time many projects were assigned to this group, projects in different areas. We were forced to discover these categories because there was no specific pattern.

2. Assigning people to areas of business

The next step was to allocate existing people based on business domains. In this process, we tried to seek team members and team leaders help (the team leaders themselves were also identified in this process based on leadership skills). At this level, there was a try to have teams be under 7 or at last 9 so that the rule that groups must be small was obeyed.

3. Identity Symbols for teams

In my opinion, this is a very important step in the team building process. Like branding for a company, teams also need an identity. I got this idea from Jurgen Appelo, Management 3.0 practices. An Identity consists of the name, logo, slogan, etc.

It is very hard to have a sense of belonging to a group when the group doesn’t have a clear name and image.

If we want a person to feel part of a group and balance the needs of the group against his or her own needs, the group will need a name and image that is at least as strong as that people. 

Being a member of a group is a great feeling. Creation of small identities in the team form can help in empowering the sense of belonging to a small group, while at the same time it helps the larger group.

The names and logos which were chosen in collaboration with people themselves:

Logo and Name of teams

4. Mission over backlog and to-do list

The steps above are good, but not enough. In fact, in addition to daily tasks, teams need larger goals. At this point, it was declared, based on the scope of the business being discovered, that teams have a clear mission to answer the question “Why are we here?”.

In assigning a mission, it was tried not to focus on tasks or activities, but to think about the impact of things. What is the result of our daily activities?

Teams with mission

Let’s have an example. Imagine the team’s mission is to reduce “Transaction Infraction” in a bank which is beyond a daily basis. The team has to reduce the number of financial violations. It is about doing a meaningful job. Now, team members have a great reason for celebrating… If I was one of them, I would have enjoyed it 🙂

5. Repeat and repeat and repeat

The repetition of the names and mission in different events is the secret of survival otherwise, they will soon be forgotten. In this situation, team leaders, managers, and product owners play an important role.

Next step is to show it in different places, for instance, on mug or badge of team members.

Is it over?

In fact, this is the beginning of a great change. We are always learning. When teams grow or some parts do things that are not in the same direction or there are dependencies on other teams, it could be a sign of birth (creating another new and small team).

For example, the Orka did not exist at the beginning. The Oxygen team had two large baskets, one to develop open banking platform, and second to provide information services to different groups and companies.

Due to team expansion, one of the baskets was broken down and a new team called “Orka” was created. In this new team, there are people from different groups (operations, data, etc.) to complete an end-to-end process. First, speed up service delivery, and secondly, reduce hand-over.

What is the next step?

The next step is to move on toward our meta — Cross-functional and self-organized teams. Teams with minimal hand-overs that can move toward their mission.

Summary

The basis of agile organizations is small teams, teams with a mission and a distinct identity. The task of the organization’s leaders is to define a mission for the teams, remove the obstacles they face, and help them achieve their goals.

Asad Safari


Maybe you like:

5 Steps to avoid Imposter syndrome for Agile Coaches

Effective estimating with estimation board


About the Author:

Asad Safari is an Enterprise Lean/Agile Coach. He works as an Agile coach for more than 7 years with several enterprises and startups. He has more than 14 years experience in the IT industry as a Software Developer, Tester, and finally an agile practitioner. You can follow Asad on Twitter and LinkedIn.

Effective estimation with estimation board


There are many arguments about estimating in an agile community. Do we need to use story points, man/hour, ideal man/day, or even #NoEstimation? Today most agile teams are trying to use the story points as the main unit for estimating.

What is the story point?

Story points are a unit of measure for expressing an estimate of the overall effort that will be required to fully implement a product backlog item or any other piece of work.

When we estimate with story points, we assign a point value to each item. The raw values we assign are unimportant. What matters are the relative values? A story that is assigned a 2 should be twice as much as a story that is assigned a 1. It should also be two-thirds of a story that is estimated as 3 story points.

By Mike Cohn

But the main problem is how to assign a story point to an item? This is 5 story points, but how?

Planning poker is dead, Long live Planning Poker

Based on Mike Cohn’s article, Planning Poker is an agile estimating and planning technique that is consensus-based. Each estimator is holding a deck of Planning Poker cards with values like 0, 1, 2, 3, 5, 8, 13, 20, 40 and 100. The values represent the number of story points.

The estimators discuss the feature, asking questions of the product owner as needed. When the feature has been fully discussed, each estimator privately selects one card to represent his or her estimate. All cards are then revealed at the same time.

The problem is exactly here. “Each estimator privately selects one card to represent his or her estimation”, But in the real world, estimators forget the relativity of points. In my experience, when somebody assigned a 2 story points to an item, He didn’t think to “Oh, It should be two-thirds of a story that is estimated as 3 story points”, Most of the time something goes like this “This is 1 hour for me and maybe 1 hour for front-end developer, so it’s 2 story points.”

As I experienced before, Planning Poker is not an effective technique to assign story points on backlog items, because most of the time development team forget the relativity of story points and story points are useless without relativity.

In the same time, planning poker is an effective planning technique because it helps the team to have a conversation about the story and user’s needs. In the conversation about the story, you will find a new idea or even change the story or….

However Planning is over Plans, Estimating is over Estimations.

Estimation Board

Estimation board is a practice based on my experiences to improve the relativity problem of planning poker technique.

In this practice, you will just add a board (whiteboard or …) to your planning poker process. After estimating any item, you need to put it on your board. Make it visual and transparent.

Something like the following image:

Try to create columns for each category, like the following image:


Estimation board — Image 2

Keep continue estimation and planning process and update your board:

After finishing estimation, let finalize estimates based on relativity. Let team members check one column each time. For example, there are 3 items in category 2. “Are they the same size?” If not, you can move items to other columns.

This is a simple visualizing practice, but this practice will help you to improve the relativity problem.

Keep relativity all over the project/product lifecycle

You can’t change your estimation touchstone in each sprint. You need to keep this relatively in all over project’s lifecycle. So, easily you can keep the first row of this board and use it in next sprints too. It will help the team to have balanced estimation during all over the sprints or releases.

Maybe you like: 5 Steps to avoid Imposter syndrome for Agile Coaches


About the Author:

Asad Safari is an Enterprise Lean/Agile Coach. He works as an Agile coach for more than 7 years with several enterprises and startups. He has more than 14 years experience in the IT industry as a Software Developer, Tester, and finally agile practitioner. You can follow Asad on Twitter and LinkedIn.