Developer Productivity - 5 Ways To Kill It
In keeping with the sarcastic tone of my How To Be The Worst Developer Ever post I’m going to explore several ways for managers to systematically destroy productivity among their developers. Unfortunately I am writing some of these from experience, then again, I’m sure we have all experienced some of these at one time or another.
1. Make Them Feel Unvalued By Ignoring Their Advice
Warranted or not, who cares what developers have to say, never mind years or experience and savvy, or blatant evidence that they are right. You’re the manager. You get paid the big bucks to make the big decisions.
2. Keep Them On Their Toes By Changing The Project Requirements
After looking at the prototype they submitted for review, have them implement the dozen “minor” changes that just popped into your head. Don’t worry about running those “bright ideas” through a stupidity test, if it goes south you can blame the developers anyway. Be sure to remind them that it is still due next Friday.
For maximum effectiveness, be sure to “review” their progress weekly.
3. Keep Them On Their Toes By Changing Deadlines
After dropping number 2 on them, they have the nerve to inform you that your changes don’t make sense and will require major reworking of the entire project. Also, there is no way they can have it ready for Monday. Hmmm. You must quell this little revolution. Inform them that you have scheduled a demonstration with the CEO and are moving the deadline up to Thursday. That should do it. They’ll have to pull an all nighter. They’ll be too tired to question your managerial skills again.
4. Assign Extra Unrelated Work
You get back from a long weekend at a managers conference at the golf club. The project seems to be running smoothly and the developers look a little happy. They must have been slacking off while you were gone. Have someone review the pile of emails in your inbox and respond to the random product surveys vendors send you.
Remind them the project is still due Wednesday. Thursday? No. I told you it was due Wednesday. If you can’t keep simple details straight how can I put my confidence in you to get the project completed on time? *alternate execution of number 3*
5. Refuse To Get The Tools They Request
You already provided the team with Visual Studio and something called Subversion, what more do they need? What the heck is Resharper or NHibernate any way? Where do these new ideas keep coming from? Why can’t they just be happy with their adhoc SQL and DataSets? Code completion? Are you kidding me? They want tools that will write the code for them? This is getting out of hand. Perhaps shuffling various team members around will get things back on track.
RSS ?
18 comments on this post
I can relate to #5 there with a recent experience. My (now former) employer gave me a computer w/ 768Mb RAM on it. Just running VS2008 and I’d run out of RAM, let alone SQL Management Studio, SQL Server, or anything else at the same time. And yet our the internal ‘customer group’ had computers with more RAM - and their job was limited to Outlook/Word, and IE6 (yes, 6) to use the web app I was developing. They refused to spend $100 on more RAM, instead they preferred I sit there and get nothing done while I waited for my RAM/HDD to swap all day long.
I hear you. It is amazing some of dumb decisions that companies make. Your employer wasted far more than that $100 in lost production time while you stared at the screen.
Are you implying there are workplaces that do things differently than the five fundamental principles you’ve listed??
These are the most worst sentences i heard in software development field.
1, 4 and 5 I follow.
Changing requirements and deadlines comes from doing projects in the real world, where things happens at real times.
Brilliant ideas. If I ever aspire to be a disabled project manager I’ll account for it ;-).
Some more inspirations:
http://blog.rainer.eschen.name/2008/02/20/the-mission-of-a-software-architect/
Excellent post
Love the post, whats so sad, is that its all so true!
That’s why I quit work for companies and start my own freelance business.
Never be more happy since.
Well, try to see it from the other side:
1. One can’t satisfy everybody. Managers usually have one, two technicians for advice.
2., 3. Business is changing, so requirements are changing… that’s life
4. There is a good reason for this.
5. E.g. Can you imagine managing licenses for 100 different pieces of software? I have problems to understand license policy for MS Windows on VMware. Do you think they have extra time to read and understand tens of license agreements?
Last, but not least. Currently I am a business leader and also developer of a small company, but also I used to work as an enterprise architect in a 10 000+ company.
I have seen the problem from both sides and I must say, that the development is the best role from the above mentioned roles. Enjoy it. Once you are managers, life will be harder. :o)
Thanks Roman. Remind me never to work for you.
Reply to comment 11
Hi Roman
Can you imagine managing 100 thousand lines of code. I have problems to understand syntax of ruby, php, .NET, javascript, actionscript. Do you think they have extra time to read and understand tens of language syntax.
Last, but not least. Currently I am a developer and also will become a business leader of a big company, I have seen the problem from only one side and I must say that the development is the best role from the mentioned roles. Enjoy it. Once you are managers, life will be easier.
Numbers 1 to 4 does happen to me. And I hate it!!! About number 5, we really don’t use tools to ease our work
My point of view:
On #1 - It’s ok if the manager is a good IT person
On #2 - I hate countless minor stupid changes that is useless at the end.
On #3 - I hate to have deadlines set, and then there came those other tasks that would be set in between deadlines. And yet, it’s the developer’s fault if the original deadline was not meet.
On #4 - This did happen to me several times even if I got all the deadlines compare to other developers. My question: Is it because I’m a trusted developer, or because I’m the only girl who must be assigned with girly task?
On #5 - Ah what is this??? This does not apply to me hahaha…
1 to 5 are all something I have to experience. My boss is a micromanaging PITA. So true…. but sad at the same time.
4 Trackback(s)