When we develop an application, we ensure that the team follows all available best practices so that the application can remain maintainable. If there is blunder during sizing or analyzing requirement, leading to development in hush hush, there is a possibility of developing a working non maintainable solution. But, if all architecture, design and coding principles are followed correctly, then there is a chance that the application developed is close to maintainable application. But what happens after this. The application is handed over to maintenance team; a new service vendor comes in picture, who maintains or takes care of this step child. What is result? The application owners/sponsors either decide to abandon the child or just keep getting frustrated cause they are not even able to get rid of it as it is a business critical baby. The reason behind this is slow poisoning of application during maintenance activity. What are the things that can destroy an application during maintenance?