11 Min reading time

An Honest Take on watsonx Code Assistant for Z 

24. 11. 2025
Overview

Honest expert review of watsonx Code Assistant for Z, what it really delivers for mainframe modernization, onboarding and performance tuning, and where to use caution.

I have been working with mainframe technology for five years, and I still remember what it felt like to be the new person on a COBOL team. Back then, if you had told me I would later be testing an AI system designed to help with mainframe development, I would have laughed. Yet here we are.

IBM’s watsonx Code Assistant for Z has been evolving rapidly since its beginnings, and as someone who’s gone from writing business-level COBOL to working across the entire mainframe modernization stack, I’ve had a front-row seat to watch this technology mature. 

My colleague Krešimir Mudrovcic wrote about the watsonx Code Assistant for Z over a year ago and raised some important questions about transformation versus refactoring. Now, having spent considerable time with the tool across different use cases, I want to share my perspective on where this technology delivers value. 

A Quick Refresher: What is watsonx Code Assistant for Z? 

For those new to the conversation, the watsonx Code Assistant for Z is IBM’s generative AI solution for mainframe application development and modernization. It’s built on IBM’s Granite models and offers several core capabilities: 

  1. Code Understanding & Explanation: AI-powered explanations of COBOL, PL/I, JCL, REXX, and even Assembler code 
  2. Code Generation: Creating new COBOL code using natural language prompts 
  3. Refactoring & Transformation: Modernizing legacy code structures and (optionally) converting to Java 
  4. Optimization: Performance analysis and recommendations for COBOL applications 
  5. Validation: Automated testing to ensure refactored code maintains semantic equivalence 
  6. Understanding: Application analysis, business rules discovery, and dependency mapping through Z Understand 

The tool integrates directly into Visual Studio Code and Eclipse-based IDEs, which is crucial for adoption, as nobody wants to switch between multiple environments just to get AI assistance. 

One Year of Transformation: Key Updates from Nov 2024 to Nov 2025 

Since Krešimir‘s initial assessment, IBM has been shipping updates at an impressive pace. Let me highlight what matters from a practitioner’s perspective: 

watsonx code assistant for z reading code manual

Z Understand Web UI (Private Preview): A chat-based interface for analyzing mainframe applications with AI assistance, business rules discovery, and application insights. Finally, we’re moving beyond just explaining individual programs to understanding entire application ecosystems (Yes, ADDI is also capable of that). 

Code Generation: You can now create and update COBOL using natural language. This uses IBM’s Granite 4 model and represents a shift from just understanding existing code to actively creating new code. 
 
Multi-Language Support: Code Explanation now covers COBOL, PL/I, JCL, REXX, and Assembler (preview). Real mainframe shops don’t just use COBOL, we’re dealing with a polyglot environment, and that’s why this is so important. 
 
Business Rules Identification: Z Understand can now identify and document business rules embedded in your code. Anyone who’s tried to extract business logic from 40-year-old COBOL knows why this is valuable. 

Chat Experience with Agentic Framework: The shift from simple prompt-response to an agentic framework that can maintain context and have multi-turn conversations about your code. Or in simple language: More natural and productive interactions. 
 
Performance Optimization with Statement-Level Analysis: Z Code Optimization Advice now shows CPU consumption at the statement level, including inside copybooks. No more guessing where your performance bottlenecks are. 

What makes this particularly interesting is IBM’s clear vision for the future: at TechXchange 2025, IBM introduced Project Bob as a Technical Preview. Project Bob is their next-generation AI software development system planned for general availability in 2026. It is likely that Bob will succeed watsonx Code Assistant for Z, incorporating its mainframe-specific capabilities while also adding advanced features like orchestration between multiple AI models, agentic workflows, and a modern user experience. 

Where Does the watsonx Code Assistant for Z Actually Deliver 

1. The Understanding Revolution 

 This is where I see the highest potential, and it’s where watsonx Code Assistant for Z truly shines. Personally, I’ve spent hours trying to understand poorly documented COBOL programs that have been in production since I was born. 

Real scenario: You inherit a 10,000-line COBOL program with zero comments, written by someone who retired in 2005. Instead of spending days (or weeks) piecing together what each section does, you can get detailed explanations in minutes. The Chat Experience makes this even better, as you can ask follow-up questions, dive deeper into specific logic paths, and gradually build understanding. 
 

The business rules identification in Z Understand is particularly powerful. Legacy applications have decades of business logic embedded in code, often with no external documentation. Being able to extract and document these rules automatically is transformative for modernization efforts. 

2. Knowledge Transfer and Onboarding 

The mainframe skills gap is real, and it’s getting worse as experienced developers retire. I was fortunate to start young and receive mentoring, but many organizations don’t have that luxury anymore. 
 

watsonx Code Assistant for Z significantly reduces the learning curve for z/OS environments. A developer with modern language experience can use natural language interaction to understand mainframe concepts without needing to first become a COBOL expert.  
 
This makes mainframe development more accessible to a younger generation of developers who think differently about software. 

The ability to generate explanations in multiple languages (now including Dutch, Korean, French, Spanish, Japanese, Portuguese, and German) extends this globally. 
 

3. Refactoring Support 

Refactoring is where this tool finds its sweet spot, not wholesale transformation. When you need to modernize code structure, remove GOTOs, optimize performance, or extract business logic into services – that’s where the watsonx Code Assistant for Z accelerates your work significantly. 

The dynamic program analysis integration with Test Accelerator for Z is clever. It helps you see not just what the code does, but how it actually executes in production. 

4. Performance Optimization 

Z Code Optimization Advice has matured significantly. Statement-level CPU analysis means you can pinpoint exactly which lines of code are consuming resources. For shops running millions of transactions daily, even small optimizations can translate to significant cost savings. 

The Reality Check: Where It Still Falls Short 

Now for the honest part, the areas where watsonx Code Assistant for Z doesn’t live up to the hype or has significant limitations: 

1. Code Transformation: Still Not There Yet 

Even before I tried it out, I’ve always been skeptical about COBOL-to-Java transformation, and my experience reinforces his concerns. The fundamental problem: you don’t want to bring all your technical debt from a 40-year-old application into a new Java codebase.

While the tool can technically transform COBOL to Java, the result often requires significant manual clean up. The generated Java code might be functionally equivalent, but it rarely follows modern Java patterns and practices. You’re essentially getting Java that “thinks” in COBOL. However, there was good progress made here in the last months, so let’s see where we’re heading as LLMs and the systems evolve further.

However, more importantly, the validation and testing burden is enormous. For mission-critical financial transactions, you need 100% certainty that the transformed code behaves identically. The Validation Assistant helps, but it doesn’t eliminate this fundamental challenge.

My take: If you’re serious about moving from COBOL to Java, first think twice. And if you’re still serious, you’re better off understanding the business requirements thoroughly (using watsonx Code Assistant for Z’s explanation capabilities) and then designing and writing modern Java from scratch. Use watsonx Code Assistant for Z as a documentation and understanding tool, not as an automatic translation engine. 

2. Context Limitations 

Despite the improvements, watsonx Code Assistant for Z still doesn’t truly understand YOUR mainframe environment. It knows general mainframe concepts, but not the specific quirks, organizational standards, or environmental constraints that experienced developers internalize. 

Example: Your shop might have specific naming conventions, custom utility programs, or non-standard JCL procedures that have evolved over decades. The watsonx Code Assistant for Z might generate technically correct code that doesn’t fit your organization’s practices or breaks subtle environmental dependencies. 

3. The Quality Depends on Context 

This is crucial for every AI / LLM: garbage in, garbage out. The quality of watsonx Code Assistant for Z’s output is heavily dependent on: 

  • How much context you provide 
  • How well you structure your prompts 
  • The quality of your existing code and documentation 
  • Whether you’ve configured organizational standards and glossaries 

If you’re working with poorly structured legacy code (which, let’s be honest, describes a lot of mainframe applications), watsonx Code Assistant for Z’s suggestions will reflect that poor structure. It’s an amplifier, not a miracle worker. 

4. The Learning Curve for Power Users 

While watsonx Code Assistant for Z makes mainframe development more accessible to newcomers, getting the most out of the tool requires expertise. Understanding how to prompt effectively, when to trust the AI’s suggestions, and how to integrate its outputs into your workflow, … These skills take time to develop. 

For organizations, this means you need dedicated resources who become “watsonx Code Assistant for Z power users” and can guide best practices. This is an investment, not just a plug-and-play solution. 

5. Still Requires Human Judgment 

Critical decision-making, complex problem-solving during production incidents, and architectural choices still require experienced humans. The watsonx Code Assistant for Z is excellent for routine tasks and knowledge retrieval, but when things go sideways at 2 AM and you need creative problem-solving, you’re still calling your senior developers. 

Real-World Value: My Recommendations for Proof of Value 

When evaluating a new tool, most people start with a Proof of Concept (PoC). A PoC demonstrates that technology works in principle, focusing on technical feasibility. While useful, I believe this alone is not enough for making a sound business decision. 

In contrast, a Proof of Value (PoV) goes further by validating business impact. It shows whether the solution delivers measurable benefits within your organization’s context, such as cost savings, productivity gains, or risk reduction. For decision-makers, PoV is critical because it connects technology adoption to ROI and strategic goals, ensuring the investment is justified beyond technical success. 

Are you exploring watsonx Code Assistant for Z for your organization? CROZ is here to help you maximize your implementation’s potential and establish best practices from day one. Reach out to learn how we can accelerate your mainframe modernization journey. 

I’ve already outlined the technical pros and cons above, but any development lead or architect will naturally ask: What does this look like in real-world scenarios? Is it truly worth implementing for the organization? Based on my experience, here’s what I recommend for a Proof of Value with watsonx Code Assistant for Z: 

1. Application Modernization Projects 

Use it for: Understanding legacy applications, extracting business rules, documenting undocumented code, identifying performance bottlenecks. 

Don’t use it for: Automated COBOL-to-Java conversion expecting production-ready code without significant manual intervention. 

2. Skills Transfer Initiatives 

If you have experienced mainframers nearing retirement, use watsonx Code Assistant for Z to capture their knowledge: 

  • Have them review and refine AI-generated explanations 
  • Use the tool to document tribal knowledge 
  • Create organizational glossaries and naming conventions 
  • Generate comprehensive documentation for critical applications 

3. Developer Onboarding 

watsonx Code Assistant for Z dramatically accelerates onboarding for new developers: 

  • Natural language interaction reduces intimidation factor 
  • Immediate explanations without waiting for senior developer availability 
  • Safe environment for learning and experimentation 

4. Performance Optimization Initiatives 

For organizations looking to reduce compute costs: 

  • Statement-level CPU analysis identifies optimization opportunities 
  • Automated recommendations for code improvements 
  • Integration with operational data for data-driven decisions 
     

5. Documentation Debt Reduction 

Most mainframe shops have massive documentation debt. watsonx Code Assistant for Z can help: 

  • Generate explanations for undocumented code 
  • Extract and document business rules 
  • Create application maps and dependency diagrams 
  • Build organizational knowledge bases

Where It Doesn’t Make Sense (Yet) 

Be cautious about using watsonx Code Assistant for Z for: 

watsonx code assistant for z limitations

Complete Application Rewrites: Don’t plan on watsonx Code Assistant for Z automatically converting your entire COBOL inventory to Java. The technology isn’t there yet, and testing requirements make this impractical for mission-critical applications. 

Replacing Experienced Developers: This is not a cost-cutting tool to reduce headcount. It’s a productivity multiplier that makes your existing team more effective. 

Production Incident Response: While Code Explanation might help during incidents, crisis management still requires human expertise and judgment. 

Security-Critical Code Changes: Always have experienced developers review AI-generated code, most importantly for security implications, especially for authentication, authorization, and data protection logic. 

Final Thoughts 

As someone who started their mainframe journey writing COBOL at 18 and has watched the watsonx Code Assistant for Z evolve over the past year, I’m cautiously optimistic. It represents a meaningful step in making mainframe development more accessible and productive. 

Is it perfect? No. Does it solve every problem? Definitely not. But does it make mainframe developers more effective and help bridge the skills gap? Absolutely. And with IBM’s commitment to evolving the platform while protecting customer investments, there’s a clear path forward. 

For organizations serious about mainframe modernization and addressing skills challenges, watsonx Code Assistant for Z is worth serious consideration. Just go in with realistic expectations, focus on the Understanding and Refactoring capabilities first, and build your expertise gradually. 

The future of mainframe development is conversational, AI-assisted, and more accessible. watsonx Code Assistant for Z isn’t the final destination – With Project Bob on the horizon, it’s the beginning of a longer journey toward truly intelligent development systems. But it’s a solid step in the right direction, and one that delivers value today while positioning you for tomorrow’s innovations. 

Kontakt

Falls Sie Fragen haben, sind wir nur einen Klick entfernt.

Diese Seite ist durch reCAPTCHA geschützt. Es gelten die Datenschutzrichtlinie und die Nutzungsbedingungen von Google.

Kontaktieren Sie uns

Vereinbaren Sie einen Termin mit einem Experten