BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Refactoring Content on InfoQ

  • Craftleadership: Craft Your Leadership as Developers Craft Code

    Learning software craftership made me reconsider how I wrote code. Being an experienced software team manager, I try to reevaluate my management practices in the same way: what could test-driven management or pair-management be? Here I propose different insights on how software craftership tools and mindset are transposable to the management domain.

  • Embracing Agile Values as a Tech and People Lead

    Having worked as a software developer, the agile community has been a great source of inspiration to me to find better ways of working. In my first leadership role, I incorporated the agile mindset which helped me to get everyone working towards a joint goal: refactoring an inherited codebase for scalability, while enabling cross functional teams to work as autonomously as possible.

  • Q&A on the Book Refactoring - Second Edition

    The book Refactoring - Second Edition by Martin Fowler explores how you can improve the design and quality of your code in small steps, without changing external behavior. It consists of around seventy detailed descriptions of refactorings, including a motivation for doing them, the mechanics, and an example.

  • The DDD Do-Over

    Jimmy Bogard had a rare opportunity to do what many developers want after finishing a tough project -- a do-over. His team worked on two very similar projects, both using DDD. He discusses the lessons learned from the first project and how the team avoided common pitfalls and was more successful on their later project.

  • Refactoring to a Deeper Model

    Paul Rayner uses a case study to demonstrate how refactoring your code can lead to a deeper understanding of your domain model. Through common code refactorings, combined with the implementation of patterns, the codebase became more cohesive and easier to reason about, reducing the time to perform some common tasks from weeks or months to just hours.

  • Coaching Technical Practices

    In the past 4-5 years I have been working as a software development coach, helping organizations around London improve their technical practices. I focus on XP practices, specifically TDD, Pair Programming, Refactoring and Simple Design. In this article I share my experiences organizing coaching sessions, including subject selection and sequencing, exercises for each subject and session formats.

  • Managing Data in Microservices

    This article provides practical examples of how to manage data in microservices, with an emphasis on migrating from a monolithic database. It is recommended to build a monolith first, and only migrate to microservices after you actually require the scaling and other benefits they provide.

  • How to Sell Refactoring? The Case of Nordea Bank AB

    Refactoring is often not a technical challenge. Teams can accurately diagnose inefficient code design. If they have sufficient time and budget at their disposal, they would probably get things done. In this article, we focus on the strategic code refactoring. This distinction was introduced by the BNS IT consultants as part of the method called Natural Course of Refactoring.

  • Refactoring to Reactive - Anatomy of a JDBC migration

    Reactive programming offers built-in solutions for some of the most difficult challenges in programming, including concurrency management and flow control. So you might ask - how do I get there; can I introduce it in phases? In this article we transform a legacy application to a reactive model using RxJava.

  • Q&A with Johanna Rothman and Jutta Eckstein on Cost of Delay

    The book Diving For Hidden Treasures - Uncovering the Cost of Delay in Your Project Portfolio by Johanna Rothman and Jutta Eckstein explores how projects become delayed and provides tools and methods to analyze and limit the costs of delay in projects.

  • Refactoring for Software Design Smells Review and Q&A with the Authors

    Refactoring for Software Design Smells by Girish Suryanarayana, Ganesh Samarthyam, and Tushar Sharma presents a catalogue of typical software design smells and how they can be fixed.

  • Architectural Refactoring: A Task-Centric View on Software Evolution

    In this article, author discusses Architectural Refactoring (AR) techniques to improve the quality attributes without changing the system's scope and functionality. He also provides a TaskCentric Template and Architectural Refactoring Catalog.

BT