Monday, December 1, 2008

In September this year, I had a totally new perspective into computer science and software development.

One of the reasons why I like computer science is that it was all about machines. One does not have to deal with people. I have always been floundering when it came to matters relating to people. Being a bit of a recluse, I prefer things that have lesser degree of personal interaction. And I thought that software was a field which was highly impersonal. To understand what I mean by impersonal, consider mathematics. It is so precise and logical. A given statement either makes sense or does not. It is either true or false. The dichotomy is clear. Feelings play no part. You do not feel that 2 plus 2 may be equal to 4. Contrast this with fields like media, journalism, art, advertising, fashion, architecture etc where human perception and feeling matter a lot. The rules are few. Opinions form the foundation of issues. And things like influence, prestige, tradition, dignity, and all those mushy things matter a lot.
However a book that I read recently, Peopleware, by Tom DeMarco and Timothy Lister, changed that perception. They propound that software development is mostly about communication and not about complex algorithms. They have a term - the high tech illusion - to denote the fallacy that software development is rocket science. According to them, the success or failure of software development projects is determined more by the pattern of human communication within the team rather than the extraordinary analytic ability of the team members. it was such a fascinating perspective, that I made brief notes of it and am posting it here.

If you can find the time, I urge you to read the book itself. Agree with it or not, its a perspective that I think will serve you well.

Peopleware lessons
Part I Managing the human resource

Somewhere Today a Project is Failing

Projects usually fail not because of technology but due to other reasons (including team sociology).

High tech illusion: we delude ourselves into thinking that we are in the high tech industry - we are not - we are mostly in the human communications business.

Make a Cheeseburger Sell a Cheeseburger

Don't follow the managerial mentality from the production environment. project environment is different.

Vienna Waits for you

Life is not all about work - death awaits you one day. Don't pressurise people to put it overtime (it is not useful, it will be compensated by undertime later, and people get irritated) Using brute force techniques to improve productivity will increase people turnover. People do not work better under pressure they only work faster - for some time.

Quality - if time permits

dev teams want high quality (it is a matter of pride). management and clients are willing to compromise - lower cost and lesser time. A balance is important. take your bet with the dev teams.

Parkinsons Law Revisited

It does not apply in 95% of the cases.

Laetrile

There are no quick fixes - no silver bullet.

Part II The office environment

The Furniture Police

They have no idea what knowledge workers need. Give your people lots of space. Give them peace and quiet. improve workspace rather than common areas.

"You never get anything done around here from 9 to 5"

Very sad - you should be able to.

Saving money on space

You generally don't

intermezemmo - unidentified flying objects

Have some measure of productivity - something is better than nothing.

Brain time vs body time

Former is more important - uninterrupted hours of work are crucial.

The Telephone

Banish it.

Bring Back The Door

Protect people's privacy. Do not allow them to be interrupted easily.

Taking Umbrella Steps

Part III The Right People

The Hornblower factor

Any change improves productivity simply because of its newness - this explains the initial productivity surge of most techniques.

Don't insist on any kind of standardization. No uniforms or dress codes. Better to keep a high level of differences. No Methodologies (capital M) please.

Hiring a Juggler

Test thoroughly the new person's ability to do the job and also to jell with the team. Involve team members in the testing process - ask the candidate to give a presentation.

Happy to be Here

Grow a mentality of permanence. Invest in your people.

The Healing System

Human systems can change to do things not forethought - machines can't. Don't bring in Methodologies (capital M). That is another symptom of the high tech illusion.

Part IV Growing Productive Teams

The whole is greater than the sum of the parts

Corporate goals will always be arbitrary to people. Expecting them be loyal to the goal out of professionalism while the top management gets offered big perks to pursue them is hypocritical. You need to think of ways to get people to buy into the organizations goals.

The black team

Example of a jelled team

Teamicide

Ways to prevent team from jelling

a)defensive management

lesson: trust your people blindly - don't send out any signal that you don't trust them

b)bureaucracy

save your people from unnecessary paperwork

c)physical seperation

try to keep your team at a single place

d)fragmentation

avoid it - it is both a disguised waste of the persons time - it also does not allow the person to become part of any team

e)quality reduced product

don't allow higher management and clients to decide that the project quality is acceptable. allow your people to build in more quality even though it costs more time and money - they will be proud of it and become a team.

f)phoney deadlines

a team will never form if everyone feels that there is no hope of a win. they will take no pride in their work and work will be drudgery for them. some may even become fatalistic.

g)clique control

don't break up teams unnecessarily

A spaghetti dinner

Example of a team jelling

Open Kimino

Chemestry for team foundation

Build a cult of quality keep reassuring people of their work make the team members feel elite

Part V

Its supposed to be fun to work here

Hold war games and provocative training experiences.

Free electrons they are people who have enough knowledge and maturity to improve the organization - get out of their way.

Holgar Dansk

Protest against what is not right - people will join you.

Part VI Son of peopleware

Teamicide revisited

Plaques and posters aide teamicide because they demean the team members.

Don't allow overtime - it may be detrimental to an already formed team.

Competition poisons the team - another form of teamicide.

Process improvement programs

Improve the process - but don't be fixated on levels and certifications.

Making change possible

Change is difficult - if you want to make a change the people who are skeptical doubters are your best bet - the totally opposed will sabotage your efforts and the readily willing will jump right onto the next bandwagon when it comes. There are four steps to making change - old situation -> chaos -> practice and integration -> new situation. People's response to change is emotional - not logical - your logical arguements are useless.

Human Capital

Money spent on training is capital - not expenditure. replacement of staff is very costly - from 3 to 12 months salary. Companies who lay off people are publicly declaring their management failure - wall street is perverse in valuing them higher.

Organizational Learning

Bottom guys are busy in their work and don't have big perspective. Top guys are busy in takeovers or fighting off takeovers - they have no time to learn. Most learning happens at the middle manager level. The sad part is the middle managers have very little interaction between them - due to politics etc. The white space in the middle is where the space for organization learning is.

The Ultimate Management Sin Is...

Not utilizing your people's time effectively.

-> early overstaffing

-> status meetings (they are more about the manager showing his status rather than the subbordinates reporting the work's status)

-> time fragmentation (putting people in too many projects is bad - overhead is high - its a disguised form of wasting your people's time)

The time of your staff costs a lot of money - don't keep it idle.

The making of a community

Try it. it will be one of the things that you will count as the bigger achievements of your life. aristotle's noble sciences - metaphysics, logic, ethics, politics, aesthetics - follow aristotilian politics.

No comments: