Agile Refactoring Principles

Instructor: Olga Bugajenko

Olga is a registered PRINCE2 Practitioner and has a master's degree in project management.

Can writing a software code be similar to spring-cleaning your wardrobe? In this lesson, you will learn about refactoring and four key principles behind it.


What is Refactoring?

People join and leave organizations all the time. They leave their work behind as a legacy for others to deal with. In software development teams, this means that a number of different people will be working on a software code at different times. As the result of many alterations, the code gets complex and messy, unless an effort is made to keep it clean and simple. Regular de-cluttering is as crucial for software systems as for your wardrobe - if you won't take your time to organize it every season, one day you won't be able to find your favourite t-shirt or fit new jeans in it.

Refactoring is the process of improving the structure of the software code without affecting its behaviour. The term was first introduced as 'factoring' by Leo Brodie in 1984. Rewriting code, fixing bugs or improving interface are not considered refactoring, as these alter the behaviour of the software.

Refactoring Benefits

Refactoring is especially important for the systems that business constantly relies on and that get constantly updated or enhanced. Think about a website of a huge online retailer - new functionalities are added to it every month. Sometimes it's adding a new payment method and sometimes it's a whole new product category. Simplicity and technical quality are fundamental for a smooth functioning of the website change after change. Adding new features and functionalities to the complex code will become more difficult - therefore, more costly - in time.

Refactoring has multiple benefits:

  • By simplifying the code structure, it makes maintenance easier
  • It improves code understanding
  • It facilitates the introduction of reusable code elements
  • It engages developers in the design decisions

Refactoring Principles

There are four main principles of refactoring:

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account