> Markdown version of [/videos/787-product-managers-eternal-battle-with-refactoring?t=146](https://www.wearedevelopers.com/videos/787-product-managers-eternal-battle-with-refactoring?t=146). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Product Managers' Eternal Battle with Refactoring Stop fighting over technical debt. Learn how to bridge the gap between product and engineering by framing code refactoring as a rigorous, measurable business decision. - **Speakers:** Justyna Walkowska - **Event:** World Congress 2023 - **Published:** October 23, 2023 - **Duration:** 9:46 - **URL:** https://www.wearedevelopers.com/videos/787-product-managers-eternal-battle-with-refactoring ## Summary The historical tension between product managers and engineering teams regarding technical debt often triggers a fight-or-flight response when scheduling code cleanup. While strictly defined by Martin Fowler as behavior-preserving restructuring, refactoring is broadly viewed as necessary maintenance that can—and should—be deliberately measured and managed. Shifting refactoring from a purely technical chore to a strategic business decision requires evaluating it through the direct impact it has on the organization rather than aesthetic code preferences. Teams typically manage this tension through structural approaches like negotiating a fixed capacity percentage per sprint, applying targeted updates tied to the definition of done, or embedding refactoring directly as equitable roadmap items. Framing these technical efforts around measurable business outcomes clarifies their priority. Justifications like minimizing bus-factor risks on legacy modules or drastically reducing developer time-to-first-commit represent highly valid business drivers, whereas rewriting architecture purely to implement a trendy conference paradigm does not. Even performance tweaks must be evaluated contextually to determine if marginal speed gains genuinely improve the user experience. To align product and engineering priorities, developers must establish explicit technical goals—such as completing a javascript to typescript migration—ensuring teams know exactly when a restructuring task is complete. Product managers can evaluate these initiatives using quantitative models like the cost of delay framework, which objectively weighs the financial risk of postponing maintenance against delaying new feature releases. Ultimately, engineers must articulate the concrete business problem their refactoring solves, and product managers must actively reject the notion that technical improvements are too complex to understand, demanding clear explanations to ensure technical necessity. **Keywords:** code refactoring strategies, technical debt prioritization, engineering team alignment, cost of delay framework, developer onboarding metrics, scrum capacity planning, martin fowler refactoring, definition of done criteria, business value measurement, resume-driven development, javascript to typescript migration, developer productivity tracking, software maintainability risks, product backlog management, cross-functional collaboration ## Chapters 1. **Managing the core conflict over software refactoring** (00:01) — Resolving developer and product friction requires treating code cleanup as measurable and manageable work. 1. **Defining refactoring as a safe and incremental process** (00:49) — True technical restructuring involves applying small code modifications that preserve existing software behavior. 1. **Five team approaches to handling engineering refactoring work** (02:26) — Strategies for integrating code cleanup range from strict roadmap allocation to complete avoidance. 1. **Identifying good and bad reasons to restructure code** (04:47) — Valid development rewrites alleviate concrete business risks rather than merely adopting trendy programming paradigms. 1. **Measuring the concrete business value of technical improvements** (06:25) — Code improvements justify their execution time by decreasing production errors and accelerating developer onboarding. 1. **Using cost of delay to prioritize engineering tasks** (07:58) — Weighing technical maintenance against new features involves calculating the financial consequences of delaying either initiative. 1. **Aligning engineers and product managers on technical tasks** (08:41) — Developers must articulate the business problems being solved while product managers demand comprehensible explanations before approving work. ## Related Moments - [Balancing urgent feature deadlines with ongoing refactoring needs](https://www.wearedevelopers.com/videos/381-keep-your-code-refactorable) (from "Keep your code refactorable") - [Identifying bottlenecks in sprint routines and product management](https://www.wearedevelopers.com/videos/1655-shapeshift-reinventing-agile-for-a-b2b-saas-scale-up) (from "ShapeShift: Reinventing Agile for a B2B SaaS Scale-Up") - [Balancing technical debt reduction with feature delivery](https://www.wearedevelopers.com/videos/1206-single-server-global-reach-running-a-worldwide-marketplace-on-bare-metal-in-a-cloud-dominated-world) (from "Single Server, Global Reach: Running a Worldwide Marketplace on Bare Metal in a Cloud-Dominated World") - [Applying targeted practices to reduce waste and technical debt](https://www.wearedevelopers.com/videos/343-get-old-go-slow-write-code) (from "Get old, go slow, write code!") - [Translating technical debt into business language for management alignment](https://www.wearedevelopers.com/videos/1342-your-code-as-a-crime-scene) (from "Your Code as a Crime Scene") - [Translating technical improvements into measurable business value](https://www.wearedevelopers.com/videos/100239-confessions-of-a-software-archaeologist-what-i-did-wrong-in-10-years-of-restructuring-software) (from "Confessions of a Software Archaeologist: What I Did Wrong in 10 Years of Restructuring Software") ## Related Articles - [How to Avoid Over-Engineering](https://www.wearedevelopers.com/magazine/546-how-to-avoid-over-engineering) - [Now is the time for industrialized software development](https://www.wearedevelopers.com/magazine/601-now-is-the-time-for-industrialized-software-development) - [The Importance of "Not Done"](https://www.wearedevelopers.com/magazine/529-the-importance-of-not-done) - [The Most Important Concept Every Developer Should Know](https://www.wearedevelopers.com/magazine/344-the-most-important-concept-every-developer-should-know) ## Related Jobs - [Principal Product Manager, Agent Platform](https://www.wearedevelopers.com/jobs/ext/277541-principal-product-manager-agent-platform) at **GitHub** - [Tribe Lead - ( Software) Engineering Centre of Excllence](https://www.wearedevelopers.com/jobs/ext/1475530-tribe-lead-software-engineering-centre-of-excllence) at **SD Worx** - [Senior Software Engineer](https://www.wearedevelopers.com/jobs/ext/15942-senior-software-engineer) at **GitHub** - [Senior Software Engineer, Enterprise Products](https://www.wearedevelopers.com/jobs/ext/1841248-senior-software-engineer-enterprise-products) at **GitHub** - [Engineering Manager (Fusion Experience)](https://www.wearedevelopers.com/jobs/ext/1669281-engineering-manager-fusion-experience) at **Bitpanda** - [Senior Product Owner - Software Engineering](https://www.wearedevelopers.com/jobs/ext/727728-senior-product-owner-software-engineering) at **BWI GmbH**