Have you ever wondered why your software development team loses motivation? Valuable members of your team start looking around for other jobs? They are less motivated to improve the product? People start showing up a little bit later, or go home a little bit earlier than before?
One way or another, they are not happy in their job. Granted, it could be the introduction of a bad manager, or a promotion that the team does not support. Obviously you need to find out what is going on and if you get vague answers, it is likely that motivation is down because of the morale being down.
Morale is closely related to a sense of pride, and this emotion can only be triggered by doing something that you are proud of. Booking successes and get a feeling of satisfaction at the end of the day. The developer made something that he is proud to share with his family or acquaintances. Developers are the type of people that enjoy solving a technical challenge, and to keep them motivated – they need this satisfaction. Granted – solving an extremely difficult bug can be a reason to celebrate, but bug fixing is not the most gratifying part of the job. Creating new features, and getting fantastic user feedback is.
When your application grows, over time more features are added and this is likely going to affect the maintainability of the code. When the maintainability of the code is low, developers can’t push out new features as fast as they like to. They will find themselves understanding difficult to read code in order to make the new change. Then when the change is made, it may have a negative effect on other parts of more hard to maintain code that needs to be changed. It feels like fighting an uphill battle. Granted doing this once or twice is fine – but if a developer spends most of your time maintaining a mess – morale goes down quickly.
How would you feel that every time you drive to work the road conditions worsen, traffic builds, and it takes an extra 5 minutes every day? You need to wake up a little earlier every day to get the same amount of work done? Your government ignores the problems, and by law you are forbidden to improve the conditions yourself, even if you would have the financial means to take on the project yourself. I take it that frustration and helplessness are words that come to mind? Am I correct? If yes, THIS is exactly how a developer feels when faced with hard to maintain code, and his requests to get it refactored are ignored.
When we take away the things that drive a developer to do more, be more, and create more codes that would make life easier for the users, we make them frustrated, angry, and listless. We make them question themselves and their capabilities. Is that what you really want your developers to feel? I daresay the answer is NO. Now the question is, what are you doing to ensure this isn’t happening to your team?