Importance of refactoring
In software development, refactoring is an important practice to keep the code clean. Some of the aspects of refactoring are applicable to organizations in general and can be useful to get some pointers leading to excellence.
Wikipedia defines code refactoring as "the process of changing a computer program's source code without modifying its external functional behavior in order to improve some of the nonfunctional attributes of the software. Advantages include improved code readability and reduced complexity to improve the maintainability of the source code, as well as a more expressive internal architecture or object model to improve extensibility."
The need for refactoring arises because everything about a given functionality is not known to begin with. We know something and we start to code to provide the functionality. As we know more, we keep adding to or changing the existing code. Over a period of time, it starts becoming bloated and complex, disorganized and hard to understand. In refactoring we remove unnecessary or duplicate parts, better organize in different methods and provide meaningful comments. Care is taken to make sure that every increment produces a stable code without compromising or risking the existing functionality.
We come across similar situation in organizations as well. As per the need, we start defining policies & procedures. In addition, written or unwritten practices that work get established. Over a period of time, we come across different scenarios as well as exceptional conditions. As a result, the policies procedures and practices start becoming complex unwieldy and difficult to understand. A time comes when it makes sense to spend time looking at them and trying to simplify and better organize them. If this is done on a regular basis, it keeps them in good shape and easy to use and the efforts required are well worth it.
Such a culture of periodic refactoring has an added benefit. We don't have to make everything perfect and comprehensive in the first attempt. We can start simple, covering only those aspects that we are sure of. As time goes by, we keep adding and changing. From time to time, we refactor and reorganize. This helps to keep the organizational structures healthy.
Organizations are made up of people. If the individuals keep refactoring themselves from time to time, it helps make the organization excellent. Each of us is guided and in effect controlled by our own assumptions, beliefs and the value system. As long as we don't review and clean them up from time to time, it leads to our moving in same grooves. Stephen Batchelor in his book "Buddhism without beliefs" has nicely captured this when he says that whatever has happened in the past could not have been any different. However, when we clean up the junk from our assumptions beliefs and values, we can respond appropriately to the external stimuli.
Whatever is true for each person is also true for interactions between different individuals. They also tend to follow repetitive patterns. Refactoring helps. Thus the refactoring within an organization at the level of system structures, individuals and their interactions helps a lot in leading it to excellence.
I would really appreciate any thoughts / experiences from you that either support or challenge what is said above.
1 Comment for this post
Posted by Brajesh Kumar Sen | Oct 11, 2011
Thanks for the information!!!Would like to know more about refactoring!!What tools we wre using and the specific pattern for that. Looking forward for your support.
prkarve
An Introduction to the Yaws Webserver Mar 10, 2010sdutta
Social Networking – Myths and Facts Jul 06, 2010cgangwal
Why Software Testing Has Become Need of the Hour Sep 23, 2011vgupta
Scrum beyond Software Dec 09, 2011prkarve
Does Big Data and Social Media Analytics go hand in hand? Oct 31, 2011jtrehan
Think innovation first! Sep 27, 2010pmittal
|
|
||||||||
More
|
More
|
More Videos ![]() |



Post a Comment