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

  • Rebuild or Refactor?

    Should you rebuilding or refactoring software?An interview with Wouter Lagerweij about what it is that makes refactoring so difficult, if rebuilding software is less risky than refactoring, and how continuous delivery fits with rebuilding software.

  • Managing Technical Debt Using Total Cost of Ownership

    Total Cost of Ownership (TCO) can be used for investment decisions and financial benefit analysis. When applied to software it covers the initial development costs and subsequent maintenance costs until phase out of a product. TCO can support architectural decisions and management of technical debt.

  • Raffi Krikorian Provides Guidance for “Re-architecting on the Fly”

    At the inaugural O’Reilly Software Architecture conference, Raffi Krikorian discussed strategies and tactics for technical leads and architects who are undertaking a system rewrite. Drawing on his experience as VP of Twitter Engineering, Krikorian discussed a twelve point plan for managing a re-architecting, including defining “done”, instrumenting existing systems, and enforcing code quality.

  • JetBrains Updates All Their .NET Tools Starting with ReSharper 9

    JetBrains has announced new RTM versions for their .NET tools, including ReSharper 9, dotTrace 6, dotCover 3, dotMemory 4.2, dotPeek 1.3 and TeamCity Add-in 9.0. JetBrains has created a single installer and platform for these tools. When attempting to install ReSharper, developers are presented with the option to install other .NET tools which will share the platform.

  • Relation of Agility and Modularity

    This post describes the relation of Agility and Modularity. Why modularity is important and how can we use it is described in OSGi white paper.

  • Using Complexity Measurements to Improve Software Quality

    Complexity is a direct indicator of software quality and costs: if the complexity for any code is high, the quality of that code will be lower and it will cost more to manage it. Complexity measurements can be used to estimate development and test activities and to decide where refactoring is needed to improve quality and prevent problems.

  • JetBrains CLion, a C/C++ IDE, and ReSharper for C++

    JetBrains has released CLion EAP, a new IntelliJ-based IDE for C and C++. The IDE comes with Code Completion, Code Generation (for constructors, getters/setters or methods), Intention Actions, Quick Fixes, Refactoring, Project Search and Code Navigation. They also want to bring ReSharper to Visual Studio C++.

  • Balancing Quality and Velocity in Agile

    Agile software development teams have to assure that the products that they develop have sufficient quality. Management often also expect that they increase their velocity to be able to deliver more functionality faster to their customer. Several authors explored the relationship between quality and velocity and suggested ways to improve both quality and velocity.

  • Moving from a Monolith to Microservices at SoundCloud

    Moving SoundCloud into a microservices architecture has been essential in enabling our teams to develop production-ready features with much shorter feedback cycles, Phil Calçado writes in a three-part series sharing their experiences moving away from a monolithic system.

  • Managing your Software Debt

    Software debt exists in different ways. Technical debt is widely known, some other forms are competence debt and quality debt. Software debt can cause product maintenance costs to increase and can depress developers. Several solutions exist to manage software debt.

  • Martin Fowler Presented Workflows of Refactoring

    Martin Fowler published an article on his website describing the different workflows that could be used when refactoring and explaining the reasons for combining them.

  • How can Agile make you Faster?

    Delivering faster is one of the reasons that enterprises mention why want to use agile for software development. How can agile be used to become faster?

  • What’s new with Roslyn, Microsoft’s Compiler APIs

    Roslyn is a set of libraries for handling compilation, scripting, workspaces, and IDE services. It is an extensible model with VB and C# being the first two target languages. While still far from completion, Roslyn is targeting VB 12/C# 6, this release marks a major milestone for the project.

  • Ruby IDE Roundup: JetBrains Releases Rubymine 4.0, Ruby for NetBeans 7.1 in the Works

    JetBrains released version 4 of their Ruby IDE RubyMine. This release focuses on better performance, and contains incremental improvements and polishing in many areas. For NetBeans 7.1, a preview release of the community Ruby support is now available.

  • Mikado Method For Refactoring Legacy Software

    Daniel Brolund presented the Mikado method in a talk-cum-workshop here in Agile India 2012. This proposes a simple method for agile teams faced with poor legacy code, which needs to be refactored in pieces as and when new goals arrive.

BT