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.