I have been working in the IT industry, especially in the application development, for about 6 years now and i have a been a developer too. One observation that i have made over time regarding the developers that they start developing some kind of an infatuation with the product they are working on which can be dangerous, both for the product and for the client!
My projects are usually done under an agile framework. Which means that developers get less time to induct the project. They get into the project quickly after few rounds of discussion based on some initial clarity.
They at first never like it. "Why the hell client wants this application?", "It isn't exciting enough.", "Only if the client would have the intelligence, he/she would have asked us to make THAT instead of THIS!". The application is considered to having "too many flaws", "just not my type" and on some occasions, "handled by other men"!
Grudgingly, the kickoff meeting, or the forceful "dating" happens. Where a Dev and the application get to know each other. High level estimations are done. Like they meet in a common friend's party where the PO introduces the application to the Dev. Shake of hands, a gentle smile, shrug of shoulders, exchange of Github accounts and a promise to meet again.
Then comes the courtship period where the Dev gets to meet the application more often. With a little more understanding of the application, its larger goals and and an understanding of why it was never handled well by "other men". The Dev is now sympathetic and more considerate. Hate turns to affinity.
Within a couple of sprints and a few demos, its clear that the application was meant to solve a larger purpose. Dev now knows a lot about the application. Client's suggestion to demo more often is considered as a threat to his commitment towards the application."Why do you need more demos? I can handle it well. Take it when i am done!" The Dev is more involved. The application has become a very good friend and it needs help.
With the Project development in third/fourth sprint the Dev is now so intricately involved that he wont even know how much code/heart he has put in! The application becomes developers soul purpose in life. Late nights and early mornings are spent with the application. Getting it done and thus providing it the true purpose of its existence no matter how and no matter how much it takes is the priority. "Let me just work on THIS jQuery piece and i am sure it will be all up and running." The application has an attitude of it own now. "Spend more time with me or all i have for you is that 404 Error.". And this makes the Dev go crazy.
The Dev has now unknowingly fallen in love with the application. He doesn't want to let go of it. Those patches of code, those hacks, those smart piece of codes to improve the performance by 0.05 seconds, they are now an integral part of the application. And the Dev's.
Hence when the client asks for certain permissions to access certain parts, he is reluctant. In one of my projects my client had to beg the developer to give her permissions. "Please provide me access to edit…. I wont mess up with your work, i promise!!" Yes exact quote! :)
And this is where the problem lies. It is NOT your product! You HAVE to let go of it at some point in time. Don't get overly attached. You are bound to be on the next project some day. Until and unless the product is going to be used by you as an end customer, dont get TOO involved. It leaves a bad taste in your mouth when you are done! Keep in mind that the next one is the ultimate one!
One of my colleagues consider a project done 2 years ago as his baby! Even a maintenance job, handled by a different team, is seen by him as an intrusion to his private life! "I ought to know what are they doing to my baby!". - Make friends with it to be comfortable. But never fall in love with your code! :)
Our Services
Customer Experience Management
- Content Management
- Marketing Automation
- Mobile Application Development
- Drupal Support and Maintanence
Enterprise Modernization, Platforms & Cloud
- Modernization Strategy
- API Management & Developer Portals
- Hybrid Cloud & Cloud Native Platforms
- Site Reliability Engineering