Practical Agile Transformation framework — Conduct Experiments to get there

Yaya, It’s the third part of the practical agile transformation framework that we call it Factful Agility Framework. In the first part we created a shared change vision, in the second part we understood the current condition and chosen some meaningful metrics. 

In the last part, we will exploit the change program by conducting experiments. 

Why do we call it experiments?

We are factful, so we should make decisions based on facts. There are 3 facts here:

1- We have a shared change vision, So we know the direction.

2- We assessed the current situation, So we know the current conditions. 

3- We have some hypotheses on how to reach the direction, But we are not sure, these are just hypotheses. 

These are just hypotheses

So let’s come back to our first principle: Our goal is not to implement “scrum”, “Kanban”, or even scaled ones like “SAFe”, “LeSS”, …. 

We will hire one or mix of these practices to help us to reach our own objectives. 

Develop the Experimenting mindset

It’s really important to develop the experimenting mindset in you and your team members. 

Start with yourself

“I have Scrum Master certification, So I believe that scrum will help us to reach our goal.” 

Change your word, Change your World

As a change agent, or Agile coach or … we need to change our words “In order to reduce the lead time, We will use Scrum and Kanban”.

Hypothesis Story 

You can use the Coaching Card or Hypothesis Story to frame better hypotheses. A template like this:

In order to (Our determined metrics in the second part)

We want to hire/use (a specific practice)

For example:

Hypothesis Story

With these details:

The granularity of stories: 

Like user stories, you can break down big Hypothesis stories to small stories too. You can create Hypothesis Epic <- Hypothesis Story.

Breakdown Hypothesis Story

 Develop the experimenting mindset on team members

I can guarantee that the change will fail:

1- If you couldn’t be able to develop the experimenting mindset on team members

2- If you couldn’t be able to create and visualize a great scoreboard. Great teams know at every moment whether or not they are winning. They must know, otherwise, they don’t know what they have to do to win the game.

How to develop the experimenting mindset on team members? 

As an agile coach or Scrum master you need to use all of your skills: 

This model is based on Agile Coaching Competency Framework

I will tell you how to use these skills to stick the team to the change.

Conduct a “Change Exploit Planning”

This event is designed to:

1- Stick the team to the change

2- Create a small and concrete winning plan 

3- Create an experimenting mindset

1. Prepare yourself for the event, Pre-Planning 

In this part, you need to use your Agile/Lean Practitioner skills. There are lots of Agile/Lean practices, let’s create a Practice Backlog. You can use any framework. As a template for your backlog items, you can use the Hypothesis Story too.

Practice Backlog

If you don’t have any idea about practices, you can use your assessment tools too. For example, the Comparative Agility assessment is mostly based on known practices or you can use scrum/kanban/XP checklists like this one

You don’t need to prioritize this backlog right now. Don’t forget that, in the future, we will find new practices too, so this Practice Backlog is a live artifact.

2. Train them (Optional)

This level is optional, and it depends on your team knowledge about Agile/Lean practices.

In this level, you will use your training skills. The goal of the level is, create knowledge and awareness about practices.

I suggest don’t skip this level. Why? Based on my experience, most of the teams have a very superficial knowledge of agile methods. A deep understanding of agile midset and practices can help you in later stages.

You can ask other coaches/trainers to help you in this stage too. 

3. Start Change Exploit Planning with coaching skill

It’s time to show your coaching skills. The essence of coaching based on the International Coaching Community:

  • To help a person change in the way they wish and helping them go in the direction they want to go.
  • Coaching builds awareness empowers choice and leads to change.

In the coaching stance, You should do 4 things(Idea from Toyota kata):

1- Create or Share a shared direction. If the change vision is not created by them, share the created vision and let them know what is the direction.

2- Create awareness about current conditions. Sometimes, there are people who will ask “Why we need to change?”. You can create awareness with “Our Change Vision document”.

For example, In a company, I asked the team, “Do you think, how many bugs reported last week?” They said “Almost 10- 15 bugs”. Then I presented a Jira report of production bugs “44 bugs”. “Holy sh*t, we created a crappy product!!! What we should do?!” they told me. It’s a great moment in a coaching stance. They are ready to contribute to the change program.

3- Create an agreement about the next target

Having a direction and awareness is not enough, we need to breakdown the change. Small targets but meaningful outcomes. 

The organization can be both bad and better. Progress comes bit by bit.

You can use the metrics of the change vision(Described in the second part of the Facful Agility Framework.)

For example, In the first quarter, we would like to focus on just 2 objectives:

1- Low defect rates and technical debt are beneficial to job satisfaction and morale, improving retention and productivity. (Qualitative and Lagging)

2- Bug rates (Quantitative and ~Leading)

So the team decided to use a quantitative metric(Bug rates), and they know the current condition is 44 bugs per week. But What is the next target? The team thinks the Next Target should be zero bug state.

ِDon’t forget our principle, Small changes but meaningful outcomes. “What do you think to reach 5 bugs?”.

4. Create an agreement about how to visualize the scoreboard

“People play differently when they are keeping score. If you doubt this, watch a group of teenagers playing basketball. See how the game changes the minute score-keeping begins, it’s not a subtle change.” 4 disciplines of execution

In this part, we will talk about how to visualize important metrics. You can use a big TV. let people see the progress. Sometimes you can celebrate progress in daily standups or …

4. Continue Change Exploit Planning with your facilitating skill

It’s time to show your facilitating skills. I will show how to do it easily.

Draw one or several circles on a whiteboard, then write your next target(s) in the circle. 

Next Target

As a facilitator, you should facilitate this part (You can use liberating structure too)

1- “What practices can help us to reach our target?”

You can print your practice backlog or bring it with you and let the team see it. They are free to use practice backlog or write a new practice or initiative. Ask them to write the practices on sticky notes and put them on the whiteboard.

2- “I bet you the ____(practice) ___will help us to reach our target faster”

It’s time to bet 🙂 Why Bet? Because we are not sure, but if I would like to be on something, It means “ something has a near certainty of being right”. 

A Bet = An Experiment. 

Ask guys to bet on practices. Let’s Complete this sentence “I bet you these____practices ___will help us to reach our target faster”.

You can use dot voting for betting. Ask the group to cast their votes by placing a dot next to the items they feel the most strongly about(I bet on this one). 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.

3- Form “Hypothesis Story” cards

In order to Decrease bug rates of a week to under 5

We want to “Write unit tests for critical features”

or 

In order to Decrease bug rates of a week to under 5

We want to use a “Definition Of Done”

4- Select high priority practices and create a change sprint backlog

The concept of the change sprint is a period of a short time, to conduct experiments and see the result. You can map it to your current sprints and check the result in the retrospective meetings. 

Or you can create a Change Sprint with a 1-month length. You can conduct a “Change Exploit Planning” at the beginning of each change sprints. 

For change sprint backlog you can create a simple kanban board. 

Change Sprint Backlog

Ok, It’s time to exploit and adopt practices. But don’t forget our goal is not to adopt practices, we adopt practices to reach our objectives 🙂

1 more thing: Management Support and Investment 

Teams will focus on their change sprints and adopting practices, but management support is necessary. Insufficient support can cause turnover and create a cynical corporate culture that hinders improvements.

For example, When a team wants to work on quality and decrease bug rate, Based on agile fluency we know that they are trying to reach “Delivering” zone, and this zone needs some investment:

Common Organizational Investments

Provide time for lowered productivity while team members learn new skills.

Integrate non-programming technical disciplines, such as QA and ops, into the team.

Provide training in agile technical practices.

Engage skilled practitioner-coaches to mentor the team on their real-world work.

Regards

Asad



About the Author:

Asad Safari is an Enterprise Lean/Agile Coach. He has worked as an Agile coach for more than 8 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.

Practical Agile Transformation framework - Grasp the current condition

This is the second part of the Practical Agile Transformation framework. In the first part, we created a shared change vision. The change vision, answers this question “How we want things to be?”. “Not I” “We”. A shared definition of direction and a better future.

In this story and based on the Factful Agility Framework, We want to understand the current condition. “Where are we now?”

Grasp the current condition

I got this great idea from Toyota Kata. If you took a good time to create a shared change vision, the “Grasping the current condition” will be so easy for you.

Today “Data-driven”, is a new buzzword. We would like to measure anything around us. There are lots of data out there, but just some of them will help us during the change process.

We need metrics for:

1- Understand the current condition (“Where are we now?”)

2- Understand the progress during the change process. (“Let’s celebrate, but is there any progress against our change vision?”)

So, What kind of metrics are good for us?

Metric’s quadrant will help you to choose the right metrics:

Lagging and Leading indicators

Based on the KPI Library definition

“ Lagging indicators are typically “output” oriented, easy to measure but hard to improve or influence while leading indicators are typically input-oriented, hard to measure and easy to influence.
For example, A personal goal is weight loss(Direction or Change vision). A clear lagging indicator that is easy to measure. You step on a scale and you have your answer. But how do you actually reach your goal? For weight loss, there are 2 “leading” indicators: 1. Calories are taken in and 2. Calories burned. These 2 indicators are easy to influence but very hard to measure. ”

Qualitative and Quanitivae Indicators

Quantitative data can be counted, measured, and expressed using numbers. Qualitative data are descriptive and conceptual. Qualitative data can be categorized based on traits and characteristics. (Ref)

Put all of the things to practice:

In the first part, we have created a shared vision, like the following image(Please read the first story): 

Take a look at the vision again, we can find our indicators there. Let’s map it to the metric’s quadrant.

Now, I think you have an idea of what you should do? Based on my experience some of the metrics like Bug rate or Technical debt rate are leading and lagging at the same time. 

Leading metrics will lead us to lag indicators. 

Don’t forget, We should know why we need indicators? 

1- Understand the current condition (“Where are we now?”)

2- Understand the progress during the change process. (“Let’s celebrate, but is there any progress against our change vision?”)

How to measure or asses these metrics?

There are 2 ways to measure or assess the current state:

1- Build your assessment tool

2- Use one or a mix of assessment tools

To make it easy for you, I have mapped different tools based on our sample vision:

These are just examples, there are lots of assessment tools, that you can use them. You are free to make your own assessment tool too. 

But about Agile Fluency Diagnostic, I really recommend this tool, it will help you to understand the current state and better plan the road map. 

Measure and Assess 

Each tool has own assessment technique. For example, in the Agile fluency diagnostic, we hold an assessment workshop with teams. 

Or in Comparative Agility, We send assessment link to team members, and they need to fill it by their own pace, after that we will analyze it and the tool will help us to generate a report. 

Some examples:

Visualize it

Based on my observations, visualizing is the most important part of this process. With this visualizing, you are trying to stick to the change. It’s like create a scoreboard for a team. 

“Great teams know at every moment whether or not they are winning. They must know, otherwise, they don’t know what they have to do to win the game.”

CHRIS MCCHESNEY

4 disciplines of execution have a great discipline: KEEP A COMPELLING SCOREBOARD

“People play differently when they are keeping score. If you doubt this, watch a group of teenagers playing basketball. See how the game changes the minute score-keeping begins, it’s not a subtle change. 

The lag and lead measures won’t have much meaning to the team unless they can see the progress in real-time. Bowling through a curtain is not that much fun. This is the discipline of engagement. People perform best when they are emotionally engaged and the highest level of engagement comes when people who score: whether they are winning or losing the game. It’s that simple.”

In this part, we will visualize the selected and assessed metrics. You can use a big TV. let people see the progress. Sometimes you can celebrate progress in daily standups or …

Let’s start the game, we will win the game 🙂 

In the next story, I will share the exploit part with you.

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.

If you have any question or need any help, Don’t hesitate to call me

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.

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

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