Focusing on Developer Happiness with Humane Development
blog.fogcreek.com
blog.fogcreek.com
Secondly, over the course of my 16 years of software development, I've found that when a I get treated less of a human (e.g. boss is barking orders, denied vacation, etc), that most of the time, these issues are rarely directly confronted. These confrontations create mental roadblocks in my head; all of the sudden I'm less productive/creative, lethargic, generally less excited about my work.
When a boss cracks the whip for employees to "work harder, faster!", it results in these subtle, mental withdrawals that are hard to pin down but are definitely costing the company money. Internal resentment results in a subconscious "fuck you" that most bosses may not even realize is occurring.
Wikipedia didn't link to an English term - I wonder if there is any established term of similar effect.
There's a lot towards treating people as human and Most of my distaste from scrum in many implementations was because of shops implemented in such a way that I felt like I was in kindergarten. The process wasn't always to blame, but a process can make things inhuman - often done in a way to discourage design, table neccessary discussion, de-prioritize architecture, or assign tasks arbitrarily.
The empathy and trust part is key, and they lose meaning the second they are framed on the wall. I wrote a bit (http://michaeldehaan.net/post/115291819627/the-management-le...) about how I think most conflicts (i.e. politics) are from mutually conflicting priorities and things might get easier if people tell everyone what their mutual conflicts are and what constraints they are operating under and remember they are all in it together.
Once people don't talk about these things, they build up walls (and false assumptions about the other person) and it's often too late to repair.
Now and then (not nearly as often nowadays) I come across really great blogs that I'd like to read on an ongoing basis and I think I used to use Google Reader or something until they killed it and then I just stopped - is there something comparable nowadays, and do most blogs support some common protocol?
It has a decent phone app and also the web page version. There are probably some other good ones.
https://www.youtube.com/watch?v=-ZLYxLjwNWo&list=PLE7tQUdRKc...
I also like the point about being skeptical of named development processes. The ancient writer Galen advised learning from all the schools of philosophy but belonging to none of them. I take the same approach to software development methodologies. The only risk there I think is that "agile" becomes just another name for chaos. If you have pathological culture, it might be better to pick a named process (any one!) and adopt it. But if people are "humane", that is hopefully not necessary.
While this sounds nice in theory, many developers just don't have enough power in their workplace environment to really put these values into practice by themselves. They really do need buy-in and support not only from their managers, but from their coworkers as well. (How many of us have worked with the "cowboy" on the team, who looks like a hero to management while creating problem after problem for his coworkers? Or the product designer who doesn't want to let anyone else have input?)
Mix in not having a degree and my spouse being saddled with a pile of student loans just out of school and you can probably see why.
Saying a statement like that "probably doesn't make business sense" is a bit of an understatement.
Tenure might make business sense because it would give employees a great incentive to not leave for positions at other companies.
For a consulting shop, tenure sounds a lot like "making partner". Personally I would like to see more development consultancies adopt a partner/associates model.
[1] http://www.leanblog.org/2009/01/report-toyotas-first-layoffs...
edit: that said -- i do not think it would be a fantastic idea to decide not to fire employees for any reason.