Skip to main content

Tag: Skills

BATimes_May15_2024

Beyond The Happy Path: One Size Does Not Fit All

Up until a few years ago, I used to spend a lot of time working ‘on the road’. I’d spend time traveling between different client-sites, and this would inevitably mean spending far too much time in airports. Business travel is one of those things that sounds really glamorous until you do it, but believe me it soon gets really boring.

 

When you are a regular traveler, you tend to become very familiar with certain airports and you know exactly how to transition through them quickly. If you’re ever at an airport, you can usually spot regular travelers as they tend to know exactly where they are going, and tend to move at pace.  This is completely different to the family who are checking in with three kids, who are having to refer to the signs, and might have even initially arrived at the wrong terminal. Quite understandably, they often need a little bit more help.

I used to joke that it would be good to have an entrance especially for regular travelers, as their needs are so different (I certainly wouldn’t be buying anything from the duty free store, not even one of those giant airport Toblerones that seem ubiquitous in Europe, but a family may well do). This wouldn’t be practical in airports, but it does highlight a point that has direct relevance for business and business analysis: sometimes you need two (metaphorical) entrances…

 

Understanding Different Usage Patterns

When defining a process, journey or set of features for an IT system, it’s common to think about one path or scenario through which users will navigate.  This main success scenario or ‘happy path’ is then often supplemented by exceptions and alternative paths which are essentially ‘branches’ from the main scenario.

Yet it is worth considering that different types of stakeholders might have different needs as they navigate through. There might even be benefit in having two entry points. Building on the airport analogy, an experienced traveler probably doesn’t need to be told about the security rules (unless they have changed recently). A new or less frequent traveler may well need to be informed in detail.

This translates to wider contexts too. An experienced user of an IT system probably won’t want lots of dialogue boxes popping up with hints and tips. A new user might need virtual hand-holding as they learn how the application works.  Someone who calls a call center once might need to hear that three minute Interactive Voice Response (IVR) message explaining all about the services they can access via phone, and letting them know which number to press.  Someone who calls every day as part of their job probably doesn’t need to listen to the whole three minute spiel every time they call… Understanding these usage patterns is key.

 

Advertisement

 

One Size Rarely Fits All

There is often a desire to standardize processes, journeys and customer experiences. There is benefit in doing this, but the benefit really surfaces when the different users and stakeholders are understood. Understanding whether users will be casual/occasional or regular is important, as is understanding what they are ultimately trying to achieve.

This relies on elicitation and customer research. This is an area where business analysts can add value by advocating for the customer’s perspective. Too often definition and design decisions are made by people in comfortable conference rooms who are detached from what the experience will actually be like. Sometimes those decisions are made by people who haven’t spoken to a real customer in a decade (or ever!).

In these situations we can ask important but difficult questions such as “what evidence do we have that customers want that?”,  “which types of customers does that appeal to most?” or “how do we know this will be a priority for our customers?”.  Using a technique such as personas, when coupled with proper insight and research, can make a real difference here.

 

As in so many cases, asking these questions can sometimes be uncomfortable. But if we don’t ask them, who will?

BATimes_Apr01_2024

How Generative-AI Can Help Modernize Your Legacy Software

Legacy applications, those trusty workhorses that have powered your business for years, can start to resemble a classic car.  They might be reliable, but they lack the sleek design and efficiency of newer models.  Maintaining them can be expensive, and they often struggle to keep pace with evolving security threats and changing business needs.  A study found that 70% of enterprises still grapple with legacy applications, hindering their ability to innovate and adapt. But unlike a car you can trade in, replacing these applications entirely can be a costly and disruptive endeavor.

Here’s where Generative AI swoops in, offering a revolutionary approach to legacy system modernization. Imagine a tool that can analyze your aging codebase, understand its functionality, and then generate modern, efficient code that replicates its core functionality. That’s the magic of Generative AI!

 

7 Warning Signs Your Legacy Software Needs Modernization (and How Generative AI Can Help)

1. Frequent System Crashes and Performance Issues: Legacy software, built with older technologies, might struggle with increased data volumes and user traffic. This can lead to frequent crashes, slow loading times, and a frustrating user experience.

Role of Generative AI: It can analyze code bottlenecks and suggest optimizations to improve performance. It can also help identify areas for code modernization to handle larger datasets efficiently.

 

2. Security Vulnerabilities: Outdated coding practices and unpatched vulnerabilities can leave your legacy software exposed to cyberattacks. This puts your company data and customer information at risk.

Role of Generative AI: It can analyze code for known vulnerabilities and suggest potential fixes. It can also help developers stay up-to-date on security best practices by generating code that adheres to secure coding standards.

 

3. Incompatibility with Modern Systems and Devices: Legacy applications might not integrate well with newer software and hardware, creating data silos and hindering operational efficiency.

Role of Generative AI: It can analyze APIs and suggest code modifications or generation for seamless integration with modern software development. This allows your legacy application to communicate and exchange data effectively.\

 

4. High Maintenance Costs: Maintaining legacy software can be a significant drain on resources.  Bug fixes, code updates, and compatibility issues can require a dedicated team of developers with specialized knowledge of the aging codebase.

Role of Generative AI: It can automate tasks like code documentation and code refactoring. This reduces the need for manual maintenance and frees up developers to focus on more strategic initiatives.

 

5. Lack of Features and Functionality:  Legacy applications might lack the features and functionalities of modern software, hindering your ability to compete and meet evolving customer needs.

Role of Generative AI: It can analyze user interactions and suggest improvements to the UI/UX. It can also generate code snippets for modern UI frameworks, allowing developers to create a fresh and user-friendly experience.

 

6. Difficulty in Finding Developers with Legacy Expertise: As technology advances, developers with expertise in older programming languages and frameworks become scarce. This can make it challenging to find qualified personnel to maintain and update your legacy application.

Role of Generative AI: It can bridge the knowledge gap by automatically generating code that replicates the core functionality of the legacy application. This allows developers with modern skill sets to contribute to the modernization process.

 

7. Limited Scalability: Legacy applications might not be able to scale to accommodate future growth or increased demand. This can stifle your business potential and hinder your ability to expand.

Role of Generative AI: It can analyze code for scalability bottlenecks and suggest optimizations. It can also generate code for integrating with cloud platforms that offer greater flexibility and scalability.

 

Advertisement

 

Step-by-Step Process to Modernize Legacy Software with Generative AI

Step 1: Identify Target Applications:

Begin by prioritizing which legacy applications require modernization the most. Focus on systems critical to business operations or those causing significant pain points.

Step 2: Inventory and Analyze Existing Systems:

Document your current technology stack, including programming languages, frameworks, and databases used by the legacy application. Analyze the codebase to understand its functionality and identify areas for improvement.

Step 3: Code Refactoring and Optimization:

Utilize GenAI tools to analyze the codebase and suggest automated refactoring options. This can involve removing redundant code, improving code readability, and optimizing for performance.

Step 4: Modern UI/UX Design:

Use GenAI to analyze user interactions and data to identify opportunities for improving the user interface and user experience. Generate code snippets or mockups for a modern and intuitive design.

Step 5: Incremental Modernization:

Modernize the legacy application in phases to minimize disruption and risk. Start with smaller, less critical functionalities and gradually work your way towards core components.

Step 6: Continuous Integration and Delivery (CI/CD):

Implement a CI/CD pipeline to automate code testing and deployment. This ensures rapid integration of GenAI-generated code with minimal errors.

Step 7: Monitoring and Performance Analysis:

Continuously monitor the performance of the modernized application and address any potential issues promptly. Utilize AI-powered monitoring tools for proactive problem identification.

BATimes_Apr17_2024

4 Tips for Managing Ambiguity as a Business Analyst

As a business analyst, it is common to face ambiguity in many different forms and aspects. It may be the ambiguity of the business analysis approach you have chosen, the requirements, or the design decisions that you have to contribute to.

Ambiguity and constant changes are something that is expected. It’s up to you to respond constructively. The following tips may help:

 

#1- Approve Ambiguity

Although you may want to have full control over the circumstances, it will not happen. It may take time and changes in order to establish a business analysis approach to customers’ needs or understand the full aspects of the system to be developed. It is fine not to have the full picture from the beginning of the analysis journey, but it is your job to progressively clear out the context and the scope. Approve the ambiguity of the intrinsic part of the analysis.

 

#2- Mindset Shift

Ambiguity can cause plenty of negative thoughts and worries. Instead of entering into a negative, endless dialogue, try to view ambiguity as an opportunity for new approaches, for innovation, and for gaining experience. Ambiguity can cause team members frustration and challenges, as the situations triggering it are mostly out of our control. It is important to reframe biassed thinking patterns concerning ambiguity into positive ones.

 

Advertisement

 

#3- Utilizing Effective Risk Response Strategies

As a business analyst, you should cooperate with the project manager to recognize factors and assumptions that can affect the business analysis objectives. You have to understand the sources of the risk and craft alternatives you can use if those risks actually occur. Whether you are a lead business analyst or other team member, your ability to identify and respond to risks effectively will affect the team’s ability to successfully complete project tasks.

#4 – Have a Compass

Having a specific compass for ambiguous situations is essential to guiding your decisions and actions. Orienting yourself and leading your team through a period of ambiguity can be supported by a stable and valuable foundation of personal and organizational vision, mission goals, and objectives. Knowing at any time why you are doing something and what you want to achieve and being true to yourself and your team can guide you as the North Stare in unpredictable and chaotic situations.

 

By viewing ambiguity as an opportunity, you can reduce the stress imposed by an ambiguous situation, experiment with new processes and ideas, and develop your team members. Identifying a goal or value that can be used as a “compass” can contribute to avoiding actions and behaviours you will regret later.

BATimes_Apr10_2024

Unveiling the Unsaid: The Power of Subtle Stakeholder Cues

When eliciting information from stakeholders, often what isn’t said can be as significant as what is said. Of course, the information that a stakeholder explicitly mentions is of crucial importance, but often there are subtle and nuanced details that aren’t obvious unless you look for them. Perhaps a stakeholder subtly pauses and looks uncomfortable and avoids answering a specific part of a question. Or perhaps they use a qualifying word like “usually” or “sometimes”. Either way, it is crucial to probe further and find out more.

 

Hearing What You Expect To Hear

Looking out for these clues is important, but is easier said than done, particularly when time is tight. When there are a number of stakeholders to speak to, it is easy to get drawn into a pattern of hearing what you expect to hear. We’ve probably all experienced this: after three people from different departments outline a process consistently, speaking to the fourth and fifth person seems like ticking a box. After all, they are going to just confirm what the first three people have described, surely?

That might be the case, but equally they might have additional insights that the original three did not. There is presumably a reason that they have been selected to participate in the elicitation activities, perhaps because they have a different perspective on things. Yet, it would be easy to let those discussions be swayed by the conversations that have happened before. To almost go on ‘autopilot’ and lead the stakeholder in a particular direction. It is worth being especially aware of those subtle cues and nuances in situations like this.

An Example

Imagine interviewing a stakeholder in a finance team about the invoice payment process. You’ve spoken to other stakeholders previously and you’re pretty sure you know the process:

“So, you get an invoice in, and as long as there’s a purchase order number on there, and as long as it’s approved, it gets scheduled for payment, is that right?”

“So, yes, mainly…. Yeah, mostly that’s it.”

 

It’d be easy to move on from this. It would be easy to assume that they are confirming some of the key decision rules (if an invoice has a purchase order number and has been approved, it gets scheduled).  But the stakeholder has added qualifying words: mainly and mostly.  These are easy to miss, but definitely require probing.

 

Probing might go like this:

“I noticed you said that this is mainly how the process works, are there other circumstances?”

“Yes, only very occasionally though. Sometimes, we get ‘proforma’ invoices that have to be paid immediately. We have a different process for those. Also, there are some cases where we pay up front by credit card. For example, booking training and conference places. That has a slightly different process too.”

 

Suddenly, a whole new set of facts becomes available. If this were a real situation, this would lead to further probing (e.g. “Are there any other times when the process operates differently?”, “Is there just one corporate credit card, and if so who is responsible for it” etc, etc).

 

Advertisement

 

Make Sure They Feel Heard

Of course, probing this way is important to ensure that nothing crucial is missed. However, genuinely listening is important for another reason too: to ensure that people actually feel heard.

If you’ve ever had the experience of speaking to someone who appears to be preoccupied, and is perhaps presuming what your responses are, you’ll know that this rarely feels great. As analysts, it’s important that we empathize with and genuinely hear what people are saying.

Listening in this way will help uncover important information. It is a crucial and often taken for granted skill, but one that we can probably all hone and improve upon!

BATimes_Mar14_2024

Ego Check: The Secret Sauce of Successful Business Analysis

You’ve spent days or even weeks working through your discovery and analysis details to craft wire frames for a new application or capability. You know what your stakeholders might ask for in terms of alternatives, so you create those versions as well. The day arrives when you’re finally ready to share with business and IT, the work you’ve labored over.

 

The big meeting happens and your stakeholder destroys everything you’d worked so diligently over, ripping your heart out.

Sound familiar? Some people take this as a crushing defeat and question their choice of profession.

Don’t let this be you!

 

You need to have a thick skin in this game. As a business analyst, your role resides at the crossroads of business operations and IT solutions. Navigating the complexities and personalities of both requires not only some technical knowledge and business acumen but also a crucial personality trait — the ability to leave your ego at the door. While this notion may seem daunting at first, it stands as one of the most invaluable skills a business analyst can possess.

Bringing your ego along in conversations tends to add chaos, disrupting free-flowing communication in an environment that might already have some chaos. Setting aside your ego entails acknowledging you don’t have all the answers; that meticulously crafted strategies may necessitate revisions; and that your perspective, no matter how comprehensive, may not encapsulate the entirety of a problem or its solution.

 

Within the dynamics of a business environment, ego can often act as a hindrance, impeding effective communication. A business analyst who can restrain their ego is more amenable to guidance for research and receptive to feedback, fostering continuous learning and growth.

While criticism is frequently viewed unfavorably, it carries substantial value within a business context, serving as an indispensable tool for development when harnessed constructively. As BAs, our mission revolves around streamlining processes, enhancing capability & value, and facilitating change — tasks that demand perpetual scrutiny and re-evaluation. Feedback, including criticism, serves as a critical lense through which we refine our insights and strategies.

 

You need to be strong enough to withstand the critique to investigate what the underlying cause or comments are about. When the feedback seems overly harsh and does not feel like it is constructive, exercise what you have available to you – use your tools to continue the conversation. Start by expressing appreciation for the input. Depending on the harshness of the initial comments, this can be disarming, so utilize the connection to ask questions for feedback that could be actionable areas for your improvement.

 

Advertisement

 

In addition to seeking constructive feedback, you can also practice the agile principle of Simplicity. If you don’t quite understand what “the art of maximizing the amount of work not done” really means for a BA… it’s this; don’t spend so much time trying to produce a pristine wireframe or perfectly crafted requirement. Do enough to identify value during conversations.

While on a project or during a product increment, the initial requirements documentation is really intended to be just enough to draw out the valuable conversation to confirm understanding while narrowing in on the solution and it’s constraints to facilitate realization of the business value.

 

Internalizing feedback can obstruct the broader perspective and overall objective of the task at hand. Conversely, leveraging feedback as a means of self-improvement can significantly elevate your standing within the team, while enhancing the quality of output and fostering stronger work relationships.

Keeping your ego in check does not mean a dismissal of your ideas, opinions, or self-assurance entirely. Rather, it involves striking a balance — knowing when to advocate persistently for your ideas and when to step back, listen, and glean insights from others. For seasoned analysts, this should be second nature but it’s worth a reminder from time to time.

 

In conclusion, the absence of ego can quell the chaos, amplify your capacity to discover and comprehend the real issues, and embrace diverse perspectives to construct robust and effective solutions. Thus, resisting the urge to take criticism personally and ensuring that our egos do not overshadow the primary goal of problem-solving constitutes an trait every successful business analyst must master.