Skip to main content
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_May08_2024

Overcoming 3 Common Challenges of Business Process Modelling

Identifying and depicting business processes is the first step towards understanding the current state and developing a plan for the future. Business analysis activities are often oriented towards enabling and supporting change. The most important aspect of having a process model is that it enables a business to quickly see how well all the different aspects of the business are aligned to achieve common goals. When there is misalignment, it becomes evident very quickly in the model, and the business can plan how it will deal with getting properly aligned again.

Business analysts, using primarily elicitation and modelling techniques, try to find out the means by which an organization carries out its internal operations and delivers its products and services to its customers.

 

However, process modelling and analysis can be tricky. Below are some challenges:

 

  1. Figuring out the tasks

It’s difficult to obtain information about the complete process when there are many engaged departments. Usually every part of the process is aware of the specific tasks and activities in which they’re involved, but they miss the whole picture. Frequently, after the process modelling has been finalized, the engaged actors can holistically understand the end-to-end process.

  • Trying to figure out first who is involved and the starting and ending points of the process is crucial in order to drill down and find the details for each step. It may be a good idea to begin with the most experienced actors or those who have a helicopter view. It is more than important, however, to validate your insights against other sources of information to be sure that you have captured accurate information.
  • Having information about the industry context may be helpful, as the basic business processes among organizations in the same industry have things in common. This, of course, does not mean that the specific organization’s parameters should not be taken into consideration.

 

Advertisement

 

  1. Systems Thinking

Consistency, It’s a necessary verification criteria in process identification and modeling. The steps and tasks involved in the process should make sense as parts that form wholeness, not as independent elements. In order to meet deadlines and get immediate results, business analysts frequently reduce the amount of time spent understanding the context. Delivery of value through a process modelling initiative will be limited, as long as we think analysis is about figuring out just specific characteristics of a solution that are already predefined in their minds. Systems thinking is a vital mindset that allows a business analyst to understand the as-is state and communicate it in a way that will be commonly understood by all stakeholders. This is an essential step in defining the future state.

 

 

  1. Understand how the process fits into its environment.

If a model doesn’t define how it fits into its environment, it will struggle, and its likelihood of resounding success is greatly diminished. Understanding the fit of a process within its internal and external environment is a complex, multi-faceted exercise. A business analyst needs to understand who the actors are, what their needs are, and how they can be reached. The business also needs to know who its suppliers are. Only when all relationships between the internal and external environment are understood can the business analyst ensure it is shaping an effective process model.

 

Identifying misalignment issues and understanding problems and opportunities for the business can be triggered by process analysis via modeling. Through effective process modelling, the following questions can be answered:

  • What processes does the business currently maintain?
  • How do the processes fit within their environment?
  • How do the processes create and maintain value in the external and internal environments?
  • What is the gap between the as-is and to-be states?
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_Apr24_2024

The Pitfalls Of Efficiency: Process Improvement Is A Balancing Act

Business analysis work often involves improving processes. This might include simplification of a process, reengineering or automation. When used well, IT can be used to enhance (or even completely rethink) a process. The ideal outcome is to design a process that is quicker, more convenient and more cost-effective than what it replaces.

 

When aiming for efficiency, it’s important to ask “for whom are we optimizing this process?”. This might sound like an odd question to ask, but often there’s a fine balancing act. A process that appears very efficient for a company might actually be very inefficient and inconvenient for its customers. Standardizing a procurement process might create internal efficiencies for the company involved, but might place additional work on the company’s suppliers.

 

An Example: “No Reply” Secure Email

I was recently a customer of a company that would send correspondence via secure email. I’d receive a notification via regular email, and I’d then need to log in to the company’s secure email portal to read what they had sent me. This was fine, except the emails they sent were all from a ‘no reply’ address.  While the secure email system they had implemented literally had a ‘reply’ button, there was a disclaimer on every email they sent which said “don’t reply, as we won’t read what you send us” (OK, it wasn’t that blunt, but you get the idea!).

This led to the crazy situation where the only way of replying to their secure emails was to either call via phone (and queue for 45 minutes), or put a reply in the mail.

 

This is an example of a situation where convenience and savings are predominantly biased towards the company, with some minor benefit for the customer. Prior to sending secure email, they would put correspondence in the regular mail. Moving this to an electronic platform presumably saves in printing, postage and stamps. It’s of marginal benefit to customers too, as they receive correspondence quicker (providing they look at their email regularly).

But the real customer benefit would have been to be able to correspond and reply with the company via secure email. Ironically, by implementing the solution the way that they did I suspect their ‘no reply’ mailbox is actually full of replies from customers who didn’t read their disclaimer!

 

Advertisement

 

There is no “right”, it’s a balance

As a customer, I found the situation frustrating, but there is no inherent or universal ‘right’ answer here. It might be that the company in question had deliberately chosen not to accept incoming secure email for compliance reasons, or perhaps they feared they’d be flooded with lots of customer inquiries as they are now ‘too easy’ to contact (although I’d argue that if this is the case then there’s probably a bigger root cause they ought to be contending with!).

 

The point here is that it should be a conscious balancing act. It is all too easy to create a situation that is more efficient for one group of stakeholders, but actually worse for another. An employer who decides to streamline their process for employees who need to claim travel expenses might decide that they can save time if they ask their employees to input more data at the time they submit their claim. If they get the employee to select where the expense was incurred, the amount of sales tax that was included in the expense, the category of cost and so forth, then this saves time later. Yet an employee who isn’t a tax expert might find this frustrating (“Is train travel exempt, or zero-rated for sales tax?”). Of course, in reality this will likely affect the quality of data too, as people try their best (but don’t know which of the different tax code options to choose).

This is a specific example, but it highlights a wider point: it’s important to consider process improvements from the perspectives of the stakeholders impacted. This involves considering what efficiency as well as effectiveness looks like for each key group.

As with so much in business analysis, stakeholder identification, engagement and empathy is key!

 

BATimes_Apr18_2024

Beyond Frameworks: Agile Insights from a BA’s Odyssey

Reflecting on my journey from a Junior Business Analyst to a seasoned Business Analyst and eventually evolving into a role where Business Analysis and Product Management intersect, I’ve had the privilege to contribute to organizations as diverse as Boeing, Rolls-Royce, and EPAM, alongside navigating the unique challenges of smaller entities.

This path, spanning over 13 years and multiple domains, has equipped me with a deep understanding of Business Analysis from the grassroots, teaching me the crucial balance between adhering to frameworks and embracing the agility necessary for today’s dynamic business environment. This narrative is an exploration of that journey, emphasizing the transition from rigid methodologies to agile adaptability, and the critical importance of customer focus and stakeholder management.

 

In the early stages of my career, the allure of frameworks was undeniable. They presented a structured way of understanding Business Analysis and Product Management, offering a semblance of control and predictability in the chaotic realm of project management.

However, as I progressed, the limitations of these frameworks became increasingly apparent. The real-world application of Business Analysis goes beyond the confines of any framework. It demands an acute awareness of the shifting business landscape and the ability to think on one’s feet—a blend of deep analytical thinking and pragmatic street smarts.

 

This evolution in perspective was mirrored in my approach to project management. Initially, my focus was on mastering the technical aspects: understanding the ‘what’ and ‘why’ to navigate towards solutions and create value for users. Yet, I quickly learned that the essence of effective Business Analysis lies in the ability to communicate, adapt, and understand the broader business context—skills that are foundational yet flourish only with experience and deliberate practice.

 

Communication emerged as the cornerstone of my professional development. The capacity to engage with a diverse set of stakeholders—customers, engineers, designers, and executives—and synthesize their insights is paramount. It’s a skill that goes beyond mere articulation; it’s about understanding the audience, choosing the right words, and effectively conveying complex ideas in a manner that resonates.

This skill set has been instrumental in navigating the complexities of projects, ensuring alignment across teams, and driving towards common goals with clarity and purpose.

 

As I embraced the agile methodology, the importance of flexibility became glaringly evident. Agile is not just a buzzword; it’s a mindset that values adaptability, customer-centricity, and continuous improvement.

It challenged me to think differently about project management, to be more iterative in my approach, and to prioritize direct feedback loops with stakeholders and customers. This agility has been crucial in climbing the project ladder, allowing for rapid pivots and adjustments in response to new insights or changing market dynamics.

 

Customer focus and stakeholder management have been the bedrock of my growth as a Business Analyst. Recognizing the criticality of these aspects, I’ve dedicated myself to becoming adept at navigating the complex web of stakeholder relationships and ensuring that the voice of the customer is always at the forefront of decision-making. This has involved honing my ability to manage expectations, articulate value propositions clearly, and foster an environment of trust and collaboration.

 

Advertisement

 

In retrospect, the journey from adhering strictly to frameworks to adopting a more flexible, agile approach has been transformative. It has taught me that while frameworks provide valuable guidance, the essence of Business Analysis and Product Management lies in the ability to adapt, communicate effectively, and maintain a relentless focus on the customer and business objectives.

As I continue to navigate this ever-evolving landscape, these insights will remain central to my approach, guiding my decisions and actions in the pursuit of creating meaningful, impactful solutions.