Ask Slashdot: What Practices Impede Developers' Productivity? 457
nossim writes "When it comes to developers' productivity, numerous controversial studies stress the differences between individuals. As a freelance web developer, I've worked for a lot of companies, and I noticed how some companies foster good practices which improve individual productivity and some others are a nightmare in that regard. In your experience, what are the worst practices or problems that impede developers' productivity at an individual or organizational level?"
Re:SCRUM (Score:5, Informative)
I'm not all the way into drinking the Agile koolaid, but to be fair the original idea of Scrum meetings was explicitly designed to avoid that problem. Scrum meetings are supposed to be led by a "Scrum-master", who is not supposed to be the manager or boss of the meeting participants. In fact the manager is not even supposed to be there. Scrum is supposed to be a way to facilitate communication within a team, so everyone knows what everyone else is working on. The scrummaster is just supposed to be another engineer on the team who facilitates the meeting so it moves along, and is not supposed to be someone who has any particular authority over the project or the participants.
Most companies have ignored that part, and the Scrum meetings are, as you say, run by the manager, as these daily "report your progress" checkins.
Constant new "Top Priorities" (Score:5, Informative)
I've had managers that constantly try to shift my priorities to whatever has their attention that day. They want me to drop whatever I'm to focus on the most recent urgent pet project.
When it affects cash flow, I fully understand. We need to take care of a big advertiser or something like that, totally understandable. Pretty much everything that doesn't fit in that particular realm though, forces me to tell my boss it will have to wait so I can finish my other 10 urgent projects. The line "everything is top priority" also fits in this realm.
Pivotal Tracker is actually really helpful in this regard because there aren't task lists, there's a queue and something is at the top of it. That is what you work on. If a manager wants you to do something else you force them to de-prioritize your other tasks. It's fantastic in that regard because it forces managers to acknowledge they are slowing down their own requests.
Generally, interruptions (Score:5, Informative)
Interruptions and a poorly designed work environment that encourages them. Right outside my cubicle is a BIG OPEN AIR MEETING ROOM with included MEDIA CENTER.
OK, so BIG OPEN AIR MEETING ROOMS are bad. Very bad.
Other bad things:
Speakerphones. Damn things should be destroyed on sight. There is no reason for anyone not in an office to have a speakerphone on their desk. Any "manager" who says developers in cubicle farms need speakerphones should be fired. Don't allow speakerphones on the same *floor* as the development team, except inside of small, well-sound-isolated offices.
Not enough meeting rooms. Encourages people to do what I'm hearing right now, which is stand around between cubes and have loud conversations.
Phones in general. The only people who call me are recruiters or customers who got lost in our phone system and got me by mistake. Which of those 2 groups do you want me to talk to?
Bad climate control. Too hot in the summer, too cold in the winter.
Requirements to be on email or messenger at all times are counterproductive. They let managers feel important, but that's the only benefit they have.
Cell phones with obnoxiously loud ringers left on desks. I tell my team "in your pocket or on silent" is the rule for all cell phones. Anyone in violation of this rule that receives a call returns to their desk to find their phone turned off and the battery removed if possible. If they find their phone at all. I've hidden them in the ceiling before.
Here's a list of the seating assignments I've been given in buildings:
Share a conference room with other developers.
Re:The Number One Impediment is MEETINGS (Score:5, Informative)
One of the points of the "scrum master" role is to keep the meetings a reasonable length. The correct response to "someone is always too verbose" is for them to corrected by that person until they stop. If you're going to claim you follow this method, you cannot ever let the time boundary expand to fit however much people want to say. The feedback loop doesn't go in that direction; it goes toward adjusting the inputs until the length is on target.
Re:The Number One Impediment is MEETINGS (Score:4, Informative)
Not that I love Agile, but as someone who was trained as a Scrum Master let me just state that the standups are only there to remove obstacles. If your Scrum Master is letting people drone on and on, they need to be noting the issue and telling them to take it up outside of the meeting. In no way should a standup be some sort of general status meeting or a bitch session. It's just there so that you can inform, in bullet point shortness, the Scrum Master of those obstacles and so that the rest of the team is aware of them. That's it. If they last 20 minutes, that's probably 15 minutes too long.
And no, Agile or not, meetings are necessary and there's really no substitute for a face to face in a team setting. That said, meetings easily become time sinks because moderators have no idea how to run them. A good moderator has an agenda, a set of goals to take away, and keeps things on track firmly.
The reason why meetings are almost universally seen as time wasters is that meetings are almost universally run by people who have no idea how to run meetings.
Noise (Score:5, Informative)
I program better when I am in a quiet environment.
I have been amazed how hard it is to get work done in cube farms, especially when there are people nearby whose job it is to talk on the phone often.
A few gigs like that made me invest in these. They work as well as ear plugs but without the inconvenience of roll and stuff them:
http://tinyurl.com/cw33u3x [tinyurl.com]
There is this popular article about research that shows that quiet and solitude boosts productivity, including for developers
http://www.nytimes.com/2012/01/15/opinion/sunday/the-rise-of-the-new-groupthink.html?pagewanted=all&_r=0 [nytimes.com]
If an org will not pay for real offices they should consider separating people with noisy jobs ( phone use ) from others and make some rules about noise levels