Welcome to the official blog for our UCL MSc project in collaboration with IBM!
Over the coming weeks, we’ll share progress updates, key learnings, and reflections as we build an AI-powered tool to help modernise legacy software systems.
1. Introduction
To build an effective AI tool for refactoring legacy software, we knew we had to establish a shared understanding of key AI concepts, fast.
Instead of diving straight into building, our team took a structured approach: we enrolled in IBM SkillsBuild’s AI and Collaboration pathways. These courses gave us a practical introduction to current AI tools and practices, with a special focus on the capabilities of IBM watsonx and Granite models.
We approached this not as a checklist, but as a multi-pronged strategy. Each team member explored different AI courses to diversify our understanding and avoid redundancy.
2. AI Pathway
Each member selected different courses based on their experience and interests. This let us deepen our understanding across a wider range of topics without much overlap.
- Getting Started with Artificial Intelligence - A broad overview of AI’s key concepts, terminology, and history.
- IBM Granite Models for Software Development - An in-depth look at IBM’s foundation models and their relevance to real-world developer workflows.
- Unleashing the Power of AI Agents - Explored how autonomous agents can extend LLMs’ utility through goal-driven reasoning.
- Introduction to Retrieval Augmented Generation - Introduced RAG as a solution to LLM hallucination and domain-specific augmentation.
- Vector Embeddings: AI’s Key to Meaning - Covered how embeddings allow semantic understanding and similarity search in AI systems.
- Use Generative AI for Software Development Using IBM watsonx - Hands-on introduction to watsonx tools applied to code generation and transformation.
- Introduction to Large Language Models - Established a grounding in how LLMs work under the hood, including architecture and limitations.
- Summarising Data Using IBM Granite - Focused on prompt design and model choice for text summarisation tasks.
- The Rise of Multiagent Systems - Highlighted how cooperative AI agents can tackle distributed problems more effectively than standalone models.
3. Collaboration Pathway
To support strong team collaboration, all members completed:
- Design Thinking - Learning to centre user needs, iterate quickly, and ideate without bias.
- Agile Explorer - Refreshing agile values and practices for real-world software development.
Together, they gave us a shared process vocabulary as we move into collaborative tooling.
4. Reflections
Rather than rushing into code, these courses helped us step back and think more clearly about how we want to use AI in our project. Concepts like agent-based collaboration, prompt engineering, and embedding-based retrieval aren’t just academic—they’ve shaped the way we’re designing and prototyping our system.
It also helped that we weren’t all learning the same thing. Sharing takeaways across the team sparked useful discussions and challenged some of our early assumptions about what LLMs can (and can’t) do in a refactoring context.
TL;DR
To establish a shared technical foundation for our AI-powered refactoring system, we completed targeted IBM SkillsBuild certifications covering:
- LLMs and agents - understanding model internals, prompting, and multi-agent coordination.
- Developer tooling - hands-on exposure to watsonx and IBM Granite for code-related tasks.
- RAG and embeddings - techniques for context injection and semantic reasoning.
- Collaboration skills - applying agile and design thinking to team workflows.
This gave us a shared foundation to build from and informed key design choices for our modular, test-aware refactoring pipeline. Next: building agents, testing LLMs, and iterating on the architecture.