This question goes beoynd just programming, but I’d like to get some input on this, if that’s okay with the community. Preferably from people that do a lot of coding themselves but also manage other people coding.
My problem is this. We have all these ideas that we know is good for the overall strategy of the company and the problem is not figuring out what to do, it’s to come about this change. Just telling someone to do things differently isn’t enough and it’s hard to promote a mind set that is shared within all of the company, (this will take time). If I could jump forward I’d like it if we could create a very nurturing company culture that promotes these ideals cross all areas but I’m not sure what tools to use. And by tools I mean anything I’m legally permitted to do.
e.g. we could talk about, we could arrange traning sessions, we could spend more time in meeting (talk about it more), we could spend more time designing, we could spend more time pair-programming, we could add/remove incentive or we could encurage more play. Ultimately if we did all of these things what will be the recurring theme that ties this together. I’d like to be able to answer the question — why should we do things like this? — and come up with an answer that explains how important it is to think about our ideals from begining to end.
I’ve puposly avoided to talk about or specifics of the situtation becuase I believe that it narrows things down too much. But I guess, by know you either know how to answer this question or you’re as confused as I am 😉
I’d love to hear from people who had to bring about a change in order to go from chaos to order, or fix something in the organization which wasn’t working. And I’d like to hear it from the perspective of the developer and designer.
— or —
You could simply weigh in on what are the most important qualities in an organization encurage or stimulate rigid fun development cycle from start to finish?
I don’t think that it is legitimate (I make no comment on legality) for a manager to expect to change the way the managed think. It is legitimate for the manager to expect to change the way the managed behave, ie what they do and how they do it.
Especially in our business of software development I think you are much better engaged in focusing on products and processes than trying to overtly manage the personal growth of your staff. Agree what needs to be done (creating software, implementing processes to support creating software) and who needs to do it, then get on with it. It’s very simple.
Yes, some of what needs to be done is training and some of that training will focus on working with others whether as colleague or manager, but you ought to be trying to build an effective team, not one in which everyone’s monthly cycle harmonises and you all cry together when a post-commit test fails. And yes, it is an absolute requirement that everyone in the team be able to work effectively with everyone else, but that doesn’t mean that everyone has to share views, friendships, attitudes, and so on.
Reading your post suggests that you are more concerned about making work a nice warm and cuddly place to be than you are about getting stuff done. Ask your team how much more time they would like to spend in meetings, especially meetings in which you propose to invite them to share their feelings about work.
If I was exposed to a very nurturing company culture I’d back out carefully and never come back. I, and I suspect many other SOers, want to get intimate with silicon-based life forms not the carbon-based life forms which clutter up our podspace. And your mention of a rigid fun development cycle makes my trigger-finger itch.