By Kaushal Amin
It's a challenge for anyone in a management position to ensure that projects are delivered on time and to a high standard. A famous 1995 report by the Standish Group found that only 16% of software projects are completed on time and on budget. It's debatable how much has changed in the intervening two decades, but there is one key ingredient to project management that will always improve your chances of success—motivating your developers.
There are a lot of different ways to encourage your team to engage with the project, and even to get excited about it. Here are some practical tips you can apply today to motivate your software development teams.
1. Build Something that Matters
Most engineers really want to create something meaningful. They want to solve real problems for customers and actually make a difference. Working on questionable features demanded by one loud client, or suggested by a marketer trying to show their value, can be demotivating for developers. Every cycle should have something that really matters in terms of improving the end user experience.
2. Doing Things the Right Way
Not assigning the time and resources necessary to do a really good job is all too common in software development. Engineers want to do a good job and take pride in their work, so being rushed to meet an unrealistic deadline and having to cut corners has a very negative impact on them. It's important to do what you can within budget to equip your employees with the best tools for the job and the time they need to do it right.
3. Challenging, but Achievable, Goals
Specific goals are always an important motivating factor for software engineers. A work schedule that's too easy can be just as daunting as a work schedule that's too hard. They won't mind putting in long days or weekends when unexpected technological challenges arise, but they'll resent that overtime if poor planning is the cause. There are always periods of crunch time in software development, but motivation will slip if people get burned out. No one wants to work on a project that's a death march from the start.
4. Smart Team Members
There's no room for dead weight on a development team. If some team members are late, or they have to rush to meet deadlines and then end up turning in poor quality work, it drags down the whole team. It's discouraging to work alongside peers who can't make good decisions or who don't care about the quality of their work. Every team member should be pulling their weight equally and efficiently.
5. Give Them Some Input and Encourage Creativity
We all know that the path to a great product is found through incorporating feedback from end users. Engineers also can offer valuable insight if they're allowed to think creatively about how to improve the user experience. Software is half engineering and half creative thinking. It's vital to take your engineer's input into account during the requirements and UX design phases. Engineers want to have a say in what is being built, not just how it gets built, and they often offer valuable suggestions that will improve the end product.
6. Continuous Learning
We are at our happiest when we are learning new skills. Engineers need time to learn about new technologies and design approaches. This isn't about training classes, but more about the ability to apply a new technology or practice. Management must provide an environment that encourages continuous learning and the application of that learning.
7. Recognition of Efforts
Praise is cheap, and yet it's often overlooked. Most people crave recognition of their abilities and their efforts. If they've worked hard on something and done a good job, they deserve some recognition. This is one of the most important functions of a manager. Ensure that people are praised for doing the right thing and publicly commended. Recognition like this can have an even greater impact on morale and motivation versus a tangible reward like a pay raise or time off.
There are many other motivating techniques that you might consider, but if you start with these seven tips you should see a serious upturn in enthusiasm and engagement.
Happy, motivated developers will always result in better software.
About the Author
Kaushal Amin is Chief Technology Officer for KMS Technology (www.kms-technology.com), a software development and testing services firm based in Atlanta, GA and Ho Chi Minh City, Vietnam. He was previously VP of Technology at LexisNexis and a software engineer at Intel and IBM. You may reach him at firstname.lastname@example.org.