The Modern BA Mindset

The "analyst" is a very old role. I really think the tradicional role does not make sense anymore, we should see analyst as a discipline/skillset and not as a role. If the last 20 years of software engineer teach us something is that engineers are in the best position to work on proper solutions, however, someone needs to worry and focus on the business problem. IF you are in an Engineering Organization, engineers are great as POS / BAS but if you are dealing with delivery discipline and working with non-it people, engineers might not have the best set of skills to do the business analyst part. However, there are many things BAs and even Designers(UX) can learn from engineers. For this blog post, I will like to focus on the skills and the transformation BAs need to face today to keep up with current market needs, innovation and competition in order to be ahead of the game.

The Issue with the Traditional BA

There are 2 kinds of traditional BAs. Both anti-patterns IMHO. First of all, that BA who focus on the solution and writes word documents in software factory formats following CMMI and RUP, these word documents contain IFs in structured Portuguese are completely wrong. Yes, there are still companies who still do that. The second anti-pattern is less complicated them the first one but still not ideal at all is the BA who writes what the business want.

You might be thinking, I thought the BA Role was about writing down what the business want. That's where the trouble started. IF The BA is just writing down what the people or the business is asking him he/she is not a BA, it's a secretary. No Har feelings about secretaries, Google will kill your job in 5 years but besides that, The BA cannot be just "talking" with engineer via word specs.

This is an issue because the assumptions behind the traditional BA role are completely wrong in our modern, product-driven wold. Why? Let's examine the assumptions first.

  • 1. We just need to "define" what engineers need to do and they will figure it out how to do it
  • 2. We don't need to worry about how it works, only about WHAT we want
  • 3. We already know the user, there is nothing to worry about 
  • 4. As soon as we define everything we can push engineers and demand delivery dates
  • 5. Once we define it we should not change it.
  • 6. Our process It's working, we are being successful, we should not change. 

Basically, these assumptions are very anti-agile. What this means? It means we are using our lucky and eventually we could run out of luck. Let's dive deep into these assumptions, let's start with "define". Well, there is no such thing. There is no defined. We can't define. Because modern digital products are more complicated than that, There are a million of variables like It's this aligned with product strategy? Is this the right feature? Are we targeting the right users? Is this well crafted? Would this scale? Would this be clear and easy for the users to use? How this will behave in iPhone 5? What about Chrome 71? Is the tone correct? Is this natural to the user? How much does this impact the user? Do we need UI? Should we really do this? We can go on and on... So basically we need a bunch of other disciplines and skillsets to "define" a solution, so really "define" is a hideous word. IMHO I prefer the word "discover" because it's more natural and realistic.

Secondly, the devil lie in the details. We need to pay attention to how we do things, execution is as much important as strategy. A good strategy with poor execution will produce poor results for the business. So yes, we need to worry about how it works. Not only because of the UX perspective but also because we might realize that we want is not possible, or it will work differently because maybe the are tech limitations that the business does not know. Maybe we don't know our users well and we need to understand them better to drive better solutions. So the best software product is the one who is user-centric with regular and short/frequent releases, we need drive A/B tests with users in order to figure it out what works best.

Know the user is something relative and it changes over time. Consumers change over time, there are forces that change people mindsets and what people value. There are new generations around(like gen Z, millennials), diversity is here. The past does not guarantee the future, so really the only way is to continuously innovate, continue to learn until the company exists.

Going over dates is the wrong outcome. Should we worry about releasing software often? Hell yeah! So whats the issue about Dates? Well, the issue is that becomes the ONLY 1 concern. This is the wrong BA focus, we should be focusing on: Are we delivering value? Are we delivering great impact to users? Are we ahead of our competitors? Are we unique? Are we understanding our users? Are we shipping something stable? Are we ready to the massive scale of users? All these important questions get bypassed when we just think about dates. If you are in the wrong direction going fast is like getting position fast, it only will kill you faster.

Dates, Features, Requirements and other fantasy things. Why fantasy? Because they dont exist. They are "virtual" and we created. As Plato said one, the man is the wolf of the man. So basically this could be most of the times just psychological waste. Why? Because software is not hardware. The software can and should be changed. If we change our mind, we just change the software thats it. Thats should be the new normal. A/B testing is about changing the software every day for thousands of users with different versions of the software. Bing(the Microsoft search engine has +30K versions). Every single great digital product does that. Facebook does lots of experiments every day, why are you so afraid of change software? Because you dont want to admit you dont have all the answers? Get Real, baby! Engineers don need to be pushed, they are adults ot they should be at least. People need to break silos and work together. Why do we have silos? Because we inherit an industrial hierarchy and we keep following. Why? Because we don't challenge the status quo.

In summary, the Traditional BA is worried about the wrong things, doing the wrong things, but all that can and should change. This change is not only in the BA Mindset and skillset but also in management because management imposes process.

It's not about Process... It's all about process!

Management 1.0 tend to worry only about(Dates, Price, Scope) and forget that, or does not know, modern digital products don't work that way. Management tend to FIX everything with the process. It's not about process. It's not about RULES and ANSWERS for all the questions, there is no such thing. The process tends to be fixed with... new process. Agile, Lean, DevOps, UX is not about process. Looking for process is lazy, it's an easy way out, there is no easy way out, there is no silver bullet, there is no one size fits all.

The process makes sure we keep making the same mistakes over and over again. Agile is about continuous learning and improvement, traditional process often does not have REAL change, only minor adjustments. So this means the answer is not Scrum, The answer is not SAFE, the answer is not BA Certification or anything like that. It's not about process.

However, is all about the process. It might sound strange what I just wrote but it's really all about the process but not about the prescriptive process with roles, rules, and tasks but its all about the learning process. Organizations need to learn how to learn. The first step into the learning is to learn whats value and whats waste, lean can help you on that.

The Rise of Lean BA

Lean BA is a great step forward into the right path. Lean is a great way of thinking/set of principles to follow. Lean teaches you how to SEE and avoid WASTE. Also lean focus on empowering people and effective organizational learning. We leave in a VUCA world we the only way to deal with this new world is with new mindsets and principles. These principles are not that new, they were around since ever since agile and 20 years old and lean even more. The main issue is that organization still pay zero or so little attention on learning, education and they are really busy making mistakes to stop and improve. How many companies you know do more than 4 hours long retrospectives?

I need to admit, the world Lean gives me psychological safety because I'm really worried every time I need to use the "agile" world. Why? Because agile is dead, there are so many "pilantras" bad practitioners that 99% of people doing Agile(Scrum) are completely full of bullshit. When you have so many bad samples and so many wrong people doing things is very hard to get the real value from "agile" nowadays.

Lean is less spread around the world, therefore, there is less "pilantras" and less bad sample and bad leaders. In principle, I agree 100% with agile. However, when I took the "implementations" people do I really lose the faith in mankind. Lean BA means, you are a leader and you "drive" change and you are working with the execution team to LEARN and deliver great products/software. BAs can benefit a lot from lean principles but also from engineers.

Mixing BA with Engineering

Engineers are born around Chaos and Uncertainty. BAs can benefit a lot learning these skills. The world is changing and will keep changing engineers need to learn new languages every year, new frameworks every week, new javascript frameworks every second :D

Engineers are used to learning and forget everything they know every 5 years. BAs are not used to "unlear", BAs are not used to learn things all the time. This is one of the most important changes BAs need to go thought. Since 2010 I work with POs defining SOA Services / APIs. Yes tahts correct, the business define services. Why? For several reasons:

  • The SOA Services(API) or microservices / Serverless like they are called nowadays is important.
  • In order to re-use features and data, we need to have APIs.
  • APIs are key for partners integration, user customization, and growth of the business.
  • Uber EATS is built on the top of Uber, how they did it? APIs. 
  • SO yes, BAs need to define APIs, but they dont do that alone, they work close to architects.

Right, so BAs need to learn how to code on the Backend? Not really. But they need to LEARN how to THINK beyond the User Interface(WEB UI). BAs need to master other interfaces like:

  • Data
  • AR | VR | XR
  • Audio Interfaces: Alexa, Google Home
  • ChatBots and contextual apps
  • Mobile Experience
  • NO UI Experience: IoT, Beacons, and Sensors
Are you ready to master all these software interfaces? IF you just know how to deal with Web UI you need to learn and change quickly. Engineering has other create things like:
  • A/B Testing: Surprisingly many product companies still dont doe it. How we test ideas in prod?
  • Observability / Domain Observability: How many features are being used now? 
  • Split Traffic: How we deploy or rollback versions impacting just a handful of users? 
  • GitOPS: How we release the software so stable and faster that users see this as new normal?
  • DevOps: How we break silos and merge 2 areas into 1 new skillset and mindset? 

As you see there are plenty of things BAs can learn for engineers. When we think about Architecture, there are other skills that bas can learn from architects:

  • Critical Thinking: How we know whats matters? How we make decisions?
  • System Thinking: How we see the whole? How we fix dependencies? 
  • Chaos Engineering: How we deal with chaos? How we test assumptions?
  • Trade-offs: How we drive critical analysis? How we asses risk? 
  • Continuous Learning: How can we do POCs? How we we learn more and faster? 

As you see BAs can benefit a lot working and blending in with architects and engineers in general. So what about the UX Designer(User Experience). There are plenty of cool things to learn too.

Mixing BA with UX

Amazon has user obsession. That's it. I could finish this section and move to the next one. Did not get it? You need to be completely obsessed with your users, here are some samples:

  • Who are your users?
  • Where they live?
  • What they do with your system?
  • What are the pains?
  • Why keep using your system?
  • Why the left(churn) your product?
  • How much cost to acquire a user?
  • How features are most used, and why?
  • How many clicks they do on the ui, where they click? do you have heatmaps? 
  • What persons do we have? What tone do we use?
  • What are the principles behind our Design System? Do we have a design system? 
  • What are the user's journeys? 
  • What we are not doing? Why?
  • What user observations and experiments are we doing it? without software? 
  • And much, much more...

UX is great researchers, they learn a lot from a market and fast. UX Designers also do a great job with cross-pollination, they look into other business ideas and them to blend in. UX is full of science, it's not random at all. So what skills BAs can learn from UX Designers?

  • Research: What others are doing? Could I use a BAR idea into a Bank? 
  • User Obsession: All the previous questiosn and much more...
  • See The Whole: Ux worries about the whole experience, not a single UI.
  • Listen: UXs are great listeners.
  • Ask Questions: A great UX know how to inquire the user and learn from it. 
  • Rationale: Everything UX does there is a reason, they can and will explain to you.

So with Lean BA + Engineering / Architecture and UX, we are close to defining our brand new modern BA. Let's understand a bit more what is a modern BA, where they live and what they eat.

The Rise of Modern BA

The modern BA is a BA who thinks first of all. Modern BA focus on Business Value and Impact before worrying about dates and list of features. Modern BA cares a lot about UX and understand the users and understand the PROBLEM that the product is fixing. Modern BA understands a lot about software and works closely with Architects and Engineers to drive best SPECIALIZED solutions.

Modern BA are hard to find, the best path is not learning. In order to lean the BAs will need to learn how to deal with anxiety, chaos, and complexity. Modern BA uses modern tools beyond the intuition and writing user storys that the business ask.

Critical Thinking & System Thinking

Modern BA focuses on effective learning, not in a pointless process and it's a critical thinker who uses system thinking tools like 5 whys, root cause analysis, Ishikawa, force field analysis. System thinking tools are used by agile coachs for decades. Modern BAs can benefit from these tools in order to do a better ANALYTICAL job on the business side.

Critical Thinking is the key to judgment and making good decisions. Good decisions come from bad decisions, this requires lots of self-awareness, reflection, and retrospectives. Large Business Organizations need modern BAs in order to deal with complexity and large workloads IT needs to deliver.

System Thinking is important to see the whole and make sure the product does not fall after some user stories. Large companies are complex, digital products are complex, there are tools to deal with complexity.

Visual Thinking Tools

Visual tools dont reduce the complexity of things but they help us to understand things. Modern Ba needs to know several visual tools like Canvas, Mind Maps, Raci Matrix, Swagger, UX Tools, and many other tools.

Visual thinking tools are great for BAs structure they thinking but also great for them to teach and educate developers on the business on the problem we are trying to solve.  Modern BA does not use only visual tools but text tools as well like 5W2H, Star Methodology, User Story Formats and much, much more. Modern BAs know how to explain and drive conversations with developers, modern BAs have in mind a clean and concise vision of the problem, like:

  • What problem are we trying to fix?
  • What context do we have?
  • What is the UX space? Personas? Pains? Gains?
  • What are Tech opportunities? New Interfaces? Re-use for other products?
  • What are the solutions we are doing? and most importantly why? 
  • Why Are we doing this? 
  • Why are we not doing that? 
  • What people need to be involved? 
  • Does the BA do all the articulations? Did the BA talk to all people needed? 

AS you can see the modern BA need to be proficient in many things but this is the way. Life is hard, digital products are hard, let's face reality and face the more complex things. Like learning.

Learning how to Learn 

People need to learn how to Learn. People don't know how to learn. Companies don't know how to learn. Companies don't consider learning as part of any estimation. It's like people have all the answers and they just need to do it. In Order to lean you need a master and conquer your EGO, have full patience and keep learning every day. There is no learning without FAILURE. There is no progress without Chaos.

Modern BAs need to be like Bane from the last Christopher Nolan Bat movie, shaped and defined by the Chaos. Why do we need to embrace chaos so hard? Because all these changes are hard and take time, people want to make it right so badly that makes them make more mistakes them never. Relax, chill out, you will make lots of mistakes. As long as you are learning and always learning from failures we are more than good. This might sound simple but is very hard in practice. Because often we are teaching properly how to deal with chaos and complexity.

Learning how to Deal with Complexity & Chaos

Complexity is present in modern society. However, we are still not teaching in the schools the ways of system thinking, critical thinking and thinking outside of the box. Our education down here in brazil is completely wrong. Why? Several reasons. But we consider failure bad, we are not allowed to fail, this makes impossible to innovate. So we are created to be blinded and to not think.

Therefore we are raised to deal with the simple system only, where A leads to B and C leads to C. This Linear thinking is the root of all evil. We a teacher that since kids. We are raised with the culture that study is wrong and we just need to finish school/university and them we dont need study never ever again.

However, the world keeps changing and improving, the only way for us to deal with this VUCA world is to keep learning. So education is the key.

Education is key

This might sound basic. Really it is. Simple but 99% of the companies don't acknowledge that. 99% of the managers dont acknowledge that. We just need to follow a plan right? guys plan dont work anymore the world eats plans for breakfast. As a consultant, I always worked my ass very hard to educate my customers, why? because thats the only way.

This might sound strange. But most of the consultancy companies do not educate the customer. Companies just do whatever the customer asks. It's like going to the doctor and asking the doc to cut your leg, the doc will say no, but in IT we will do it.

So education needs to be placed in the system via Internal Events, Training, External events, Lighting talks, Retrospectives, Demo, open conversations, honesty, and adult mindset. WTF is an adult mindset? Well people often dont behave like adults, people often behave like kids, because they run away from problems, they avoid difficult conversations. Adults do tought things. Thats life.

The Discovery Process

Finally, the modern BA is forged by an agile/lean principles and culture of continuous discovery. Discovery is an INFINITY process that will never end. There is not an END or DONE of discovery. If you stop doing discovery is like stop breathing eventually you will die.

The initial results of the discovery process do not matter. What matters is fast iteration and continuous learning. Having said that I finish this post of my view of the modern BA.

Cheers,
Diego Pacheco

Popular posts from this blog

Kafka Streams with Java 15

Rust and Java Interoperability

HMAC in Java