In the programming world, the term ‘bad smell’ refers to negativecharacteristics of code that could adversely impact designand code quality. Refactoring is a disciplined technique for restructuringan existing body of code, altering its internal structurewithout changing its external behavior. Its heart is a series ofsmall behavior preserving transformations. Refactoring improvesthe quality of design and code. In a broader context, softwaredevelopment and testing life cycles do signal bad smells or negativecharacteristics from time to time, and from project to project.Recognizing such bad smells and responding to them at theright time is essential to keeping projects on track. In our experience,Distributed Agile Software Development projects involvemany nuances that could result in tricky situations that impactthe satisfaction levels of stakeholders. Refactoring of life-cycleprocesses is necessary to tune the delivery engine towards deliveringquality products. This is not a one-time activity. It needs tohappen continuously at regular intervals, and the way it is donecan differ from project to project.